{
  "service": "contentful",
  "displayName": "Contentful",
  "categories": [
    "Productivity",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Personal Access Token",
      "placeholder": "CFPAT-...",
      "description": "Contentful personal access token used with the Authorization Bearer header. Get it from Settings > CMA tokens in the Contentful web app: https://app.contentful.com/account/profile/cma_tokens.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.contentful.com",
  "actions": [
    {
      "id": "contentful.create_entry",
      "service": "contentful",
      "name": "create_entry",
      "description": "Create a Contentful entry in a specific environment.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spaceId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful space identifier."
          },
          "environmentId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful environment identifier."
          },
          "contentType": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful content type identifier for the new entry."
          },
          "fields": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Entry fields organized by field identifier and locale, for example { title: { 'en-US': 'Hello' } }."
          },
          "metadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Optional Contentful metadata payload, such as tags."
          }
        },
        "additionalProperties": false,
        "required": [
          "spaceId",
          "environmentId",
          "contentType",
          "fields"
        ],
        "description": "Input parameters for creating a Contentful entry."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "entry": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Contentful entry payload."
          }
        },
        "additionalProperties": false,
        "description": "Contentful entry creation response wrapper."
      }
    },
    {
      "id": "contentful.get_current_user",
      "service": "contentful",
      "name": "get_current_user",
      "description": "Get the authenticated Contentful user profile for the current personal access token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for reading the authenticated Contentful user profile."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Authenticated Contentful user payload."
          }
        },
        "additionalProperties": false,
        "description": "Contentful authenticated user response wrapper."
      }
    },
    {
      "id": "contentful.get_entry",
      "service": "contentful",
      "name": "get_entry",
      "description": "Get a single Contentful entry by identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spaceId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful space identifier."
          },
          "environmentId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful environment identifier."
          },
          "entryId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful entry identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for reading a single Contentful entry."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "entry": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Contentful entry payload."
          }
        },
        "additionalProperties": false,
        "description": "Contentful single entry response wrapper."
      }
    },
    {
      "id": "contentful.list_content_types",
      "service": "contentful",
      "name": "list_content_types",
      "description": "List Contentful content types available in a specific environment.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spaceId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful space identifier."
          },
          "environmentId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful environment identifier."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Contentful records to skip before returning results."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of Contentful records to return."
          },
          "order": {
            "type": "string",
            "minLength": 1,
            "description": "Sort expression for the Contentful collection request."
          }
        },
        "additionalProperties": false,
        "required": [
          "spaceId",
          "environmentId"
        ],
        "description": "Input parameters for listing Contentful content types in an environment."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contentTypes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Contentful content type payload."
            },
            "description": "Contentful content types returned for the environment."
          },
          "total": {
            "type": "integer",
            "minimum": 0,
            "description": "Total number of Contentful content types available."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Contentful content types skipped before this page."
          },
          "limit": {
            "type": "integer",
            "minimum": 0,
            "description": "Maximum number of Contentful content types requested for this page."
          }
        },
        "additionalProperties": false,
        "description": "Contentful content type collection response wrapper."
      }
    },
    {
      "id": "contentful.list_entries",
      "service": "contentful",
      "name": "list_entries",
      "description": "List Contentful entries with common filtering, pagination, and include options.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spaceId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful space identifier."
          },
          "environmentId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful environment identifier."
          },
          "contentType": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful content type identifier used to filter entries."
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "Full-text search query applied to Contentful entries."
          },
          "locale": {
            "type": "string",
            "minLength": 1,
            "description": "Locale code used when reading Contentful entry fields."
          },
          "select": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated list of fields to include in the Contentful response."
          },
          "include": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10,
            "description": "Number of linked content levels to include in the Contentful response."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Contentful records to skip before returning results."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of Contentful records to return."
          },
          "order": {
            "type": "string",
            "minLength": 1,
            "description": "Sort expression for the Contentful collection request."
          }
        },
        "additionalProperties": false,
        "required": [
          "spaceId",
          "environmentId"
        ],
        "description": "Input parameters for listing Contentful entries in an environment."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Contentful entry payload."
            },
            "description": "Contentful entries returned for the current page."
          },
          "total": {
            "type": "integer",
            "minimum": 0,
            "description": "Total number of matching Contentful entries."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Contentful entries skipped before this page."
          },
          "limit": {
            "type": "integer",
            "minimum": 0,
            "description": "Maximum number of Contentful entries requested for this page."
          },
          "includes": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Included linked Contentful resources returned with the current page."
          }
        },
        "additionalProperties": false,
        "required": [
          "entries",
          "total",
          "skip",
          "limit"
        ],
        "description": "Contentful entry collection response wrapper."
      }
    },
    {
      "id": "contentful.list_environments",
      "service": "contentful",
      "name": "list_environments",
      "description": "List Contentful environments inside a specific space.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spaceId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful space identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing environments in a Contentful space."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "environments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Contentful environment payload."
            },
            "description": "Contentful environments returned for the space."
          },
          "total": {
            "type": "integer",
            "minimum": 0,
            "description": "Total number of Contentful environments available."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Contentful environments skipped before this page."
          },
          "limit": {
            "type": "integer",
            "minimum": 0,
            "description": "Maximum number of Contentful environments requested for this page."
          }
        },
        "additionalProperties": false,
        "description": "Contentful environment collection response wrapper."
      }
    },
    {
      "id": "contentful.list_spaces",
      "service": "contentful",
      "name": "list_spaces",
      "description": "List Contentful spaces accessible to the current personal access token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Contentful records to skip before returning results."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of Contentful records to return."
          },
          "order": {
            "type": "string",
            "minLength": 1,
            "description": "Sort expression for the Contentful collection request."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing accessible Contentful spaces."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spaces": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Contentful space payload."
            },
            "description": "Contentful spaces returned for the request."
          },
          "total": {
            "type": "integer",
            "minimum": 0,
            "description": "Total number of accessible Contentful spaces."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of Contentful spaces skipped before this page."
          },
          "limit": {
            "type": "integer",
            "minimum": 0,
            "description": "Maximum number of Contentful spaces requested for this page."
          }
        },
        "additionalProperties": false,
        "description": "Contentful space collection response wrapper."
      }
    },
    {
      "id": "contentful.update_entry",
      "service": "contentful",
      "name": "update_entry",
      "description": "Update a Contentful entry using optimistic locking.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spaceId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful space identifier."
          },
          "environmentId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful environment identifier."
          },
          "entryId": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful entry identifier."
          },
          "contentType": {
            "type": "string",
            "minLength": 1,
            "description": "Contentful content type identifier for the entry."
          },
          "version": {
            "type": "integer",
            "minimum": 1,
            "description": "Current Contentful entry version used for optimistic locking."
          },
          "fields": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Entry fields organized by field identifier and locale, for example { title: { 'en-US': 'Hello' } }."
          },
          "metadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Optional Contentful metadata payload, such as tags."
          }
        },
        "additionalProperties": false,
        "required": [
          "spaceId",
          "environmentId",
          "entryId",
          "contentType",
          "version",
          "fields"
        ],
        "description": "Input parameters for updating a Contentful entry."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "entry": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Contentful entry payload."
          }
        },
        "additionalProperties": false,
        "description": "Contentful entry update response wrapper."
      }
    }
  ]
}
