DOCS & KNOWLEDGE · TASKS
Entries, assets, content types, and releases in the spaces they can reach.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
contentful_delete_organizations_by_organization_id_ai_providers_by_provider_idWRITEUse this endpoint to delete an AI Provider for a specified organization. via DELETE /organizations/{organization_id}/ai/providers/{provider_id}
contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_idWRITEDelete an app definition via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}
contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_access_grants_by_access_grant_idWRITEDelete One Access Grant via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/access_grants/{access_grant_id}
contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_actions_by_app_action_idWRITEDelete an action via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/actions/{app_action_id}
contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_app_bundles_by_app_bundle_idWRITEDelete an app bundle via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles/{app_bundle_id}
contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_detailsWRITEDelete app details via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/details
contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_event_subscriptionWRITEDelete an app event subscription via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/event_subscription
contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_keys_by_key_kidWRITEDelete an app key via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/keys/{key_kid}
contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_providerWRITEDeletes the resource provider for an app. Cannot be deleted if it has associated resource types. via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider
contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider_resource_types_by_resource_type_idWRITEDelete a resource type via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types/{resource_type_id}
contentful_delete_organizations_by_organization_id_app_definitions_by_app_definition_id_signing_secretWRITERemove the current app signing secret via DELETE /organizations/{organization_id}/app_definitions/{app_definition_id}/signing_secret
contentful_delete_organizations_by_organization_id_environment_templates_by_template_idWRITEDeletes an environment template and all its versions. Entities previously installed from the template are not affected. via DELETE /organizations/{organization_id}/environment_templates/{template_id}
contentful_delete_organizations_by_organization_id_logging_configurations_by_configuration_idWRITEDeletes a logging configuration. This stops future log deliveries for the configuration. via DELETE /organizations/{organization_id}/logging_configurations/{configuration_id}
contentful_delete_organizations_by_organization_id_security_contacts_by_security_idWRITEDelete an organization security contact an admin or owner has access to via DELETE /organizations/{organization_id}/security_contacts/{security_id}
contentful_delete_organizations_by_organization_id_semantic_search_index_by_index_idWRITEDelete a search index via DELETE /organizations/{organization_id}/semantic/search-index/{index_id}
contentful_delete_organizations_by_organization_id_taxonomy_concept_schemes_by_concept_scheme_idWRITEDelete a concept scheme via DELETE /organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id}
contentful_delete_organizations_by_organization_id_taxonomy_concepts_by_concept_idWRITE_Deleting concepts does not remove existing references to them in content type validations, or entries._ via DELETE /organizations/{organization_id}/taxonomy/concepts/{concept_id}
contentful_delete_spaces_by_space_idWRITEDeletes a space and all its resources — content types, entries, and assets. **This action cannot be undone.** via DELETE /spaces/{space_id}
contentful_delete_spaces_by_space_id_ai_actions_by_ai_action_idWRITEUse this endpoint to delete an AI Action for a specified space. via DELETE /spaces/{space_id}/ai/actions/{ai_action_id}
contentful_delete_spaces_by_space_id_api_keys_by_api_key_idWRITEThis endpoint allows you to delete a Delivery API key and its corresponding Preview API key. via DELETE /spaces/{space_id}/api_keys/{api_key_id}
contentful_delete_spaces_by_space_id_environment_aliases_by_environment_alias_idWRITEDeletes an environment alias. The `master` alias cannot be deleted. via DELETE /spaces/{space_id}/environment_aliases/{environment_alias_id}
contentful_delete_spaces_by_space_id_environments_by_environment_idWRITEDelete an environment via DELETE /spaces/{space_id}/environments/{environment_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_ai_actions_by_ai_action_id_publishedWRITEUse this endpoint to unpublish an AI Action for a specified space. via DELETE /spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/published
contentful_delete_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_definition_idWRITEUninstall an app via DELETE /spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_assets_by_asset_idWRITEDeletes an asset and all previously referenced CDN files. CDN removal can take up to 48 hours. via DELETE /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id_archivedWRITEUnarchives an asset, restoring it to draft state. Files can take up to an hour to become available on the CDN again. via DELETE /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/archived
contentful_delete_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id_publishedWRITEUnpublishing will put the asset back into draft state. via DELETE /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/published
contentful_delete_spaces_by_space_id_environments_by_environment_id_automation_definitions_by_automation_definition_idWRITEDelete an automation definition via DELETE /spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_idWRITE_Before you can delete a content type you need to deactivate it_. via DELETE /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_publishedWRITEDeactivate a content type via DELETE /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/published
contentful_delete_spaces_by_space_id_environments_by_environment_id_entries_by_entry_idWRITEDelete an entry via DELETE /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_archivedWRITEUnarchive an entry via DELETE /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/archived
contentful_delete_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_comments_by_comment_idWRITEDeletes an entry comment. Comment creators and space admins can delete comments. via DELETE /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments/{comment_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_publishedWRITEUnpublish an entry via DELETE /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/published
contentful_delete_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_tasks_by_task_idWRITEDeletes a task. Task creators and space admins can delete tasks. via DELETE /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks/{task_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_extensions_by_extension_idWRITEDelete an extension via DELETE /spaces/{space_id}/environments/{environment_id}/extensions/{extension_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_locales_by_locale_idWRITEDeletes a locale and all associated content. **This action cannot be undone.** Locales used as fallbacks by other locales cannot be deleted. via DELETE /spaces/{space_id}/environments/{environment_id}/locales/{locale_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_releases_by_release_idWRITEDeletes a release by ID. Only the release creator or an admin can delete a release. via DELETE /spaces/{space_id}/environments/{environment_id}/releases/{release_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_archivedWRITEUnarchives a release, re-enabling publish, unpublish, and scheduling actions. Include `X-Contentful-Version`. Not supported for Timeline releases (`sys.schemaVersion` `Release.v2`), which return a 400 error. via DELETE /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/archived
contentful_delete_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_publishedWRITEUnpublishes all entities in a release. via DELETE /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/published
contentful_delete_spaces_by_space_id_environments_by_environment_id_tags_by_tag_idWRITEDeletes a tag from the entries and/or assets that reference it. via DELETE /spaces/{space_id}/environments/{environment_id}/tags/{tag_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_uploads_by_upload_idWRITEDelete an upload via DELETE /spaces/{space_id}/environments/{environment_id}/uploads/{upload_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_workflow_definitions_by_workflow_definition_idWRITEDeletes a workflow definition by ID. Only org or space admins can delete workflow definitions. via DELETE /spaces/{space_id}/environments/{environment_id}/workflow_definitions/{workflow_definition_id}
contentful_delete_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_idWRITECancels a workflow. Only org or space admins can cancel by default; step-level permissions can grant access to other users. via DELETE /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}
contentful_delete_spaces_by_space_id_roles_by_role_idWRITEUse this endpoint to delete an existing role. You can only delete roles if there is no user in the space with *only* that role assigned, i.e. a user must have at least one role. via DELETE /spaces/{space_id}/roles/{role_id}
contentful_delete_spaces_by_space_id_scheduled_actions_by_scheduled_action_idWRITECancels a scheduled action. Only actions in `scheduled` status can be cancelled. via DELETE /spaces/{space_id}/scheduled_actions/{scheduled_action_id}
contentful_delete_spaces_by_space_id_space_memberships_by_space_membership_idWRITEDeletes a space membership, revoking the user's space access without deleting their account. All admins can be removed, leaving the space unmanageable until a new admin is added. via DELETE /spaces/{space_id}/space_memberships/{space_membership_id}
contentful_delete_spaces_by_space_id_webhook_definitions_by_webhook_definition_idWRITEDelete a webhook via DELETE /spaces/{space_id}/webhook_definitions/{webhook_definition_id}
contentful_delete_spaces_by_space_id_webhook_settings_signing_secretWRITEDelete a webhook signing secret via DELETE /spaces/{space_id}/webhook_settings/signing_secret
contentful_delete_users_by_user_id_oauth_applications_by_oauth_application_idWRITEThis endpoint deletes a specific OAuth application. via DELETE /users/{user_id}/oauth_applications/{oauth_application_id}
contentful_get_app_definitions_by_app_definition_id_app_installationsREADGet all installations of an app within an organization via GET /app_definitions/{app_definition_id}/app_installations
contentful_get_organizationsREADGet all organizations an account has access to via GET /organizations
contentful_get_organizations_by_organization_idREADGet an organization id an admin or owner has access to via GET /organizations/{organization_id}
contentful_get_organizations_by_organization_id_access_grantREADThis endpoint allows you to verify whether the token has access permissions for this organization. via GET /organizations/{organization_id}/access_grant
contentful_get_organizations_by_organization_id_access_tokensREADReturns redacted CMA tokens for all members of the organization; accessible to admins and owners only. Supports the same date-range filters as the personal access tokens endpoint. via GET /organizations/{organization_id}/access_tokens
contentful_get_organizations_by_organization_id_ai_providersREADReturns all the AI Providers that exist in a given organization. via GET /organizations/{organization_id}/ai/providers
contentful_get_organizations_by_organization_id_ai_providers_by_provider_idREADUse this endpoint to read an AI Provider for a specified organization. via GET /organizations/{organization_id}/ai/providers/{provider_id}
contentful_get_organizations_by_organization_id_app_actions_categoriesREADGet app action categories via GET /organizations/{organization_id}/app_actions_categories
contentful_get_organizations_by_organization_id_app_definitionsREADGet all app definitions via GET /organizations/{organization_id}/app_definitions
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_idREADGet an app definition via GET /organizations/{organization_id}/app_definitions/{app_definition_id}
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_access_grantsREADQuery Access Grants of a App Definition via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/access_grants
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_actionsREADGet all actions of an app via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/actions
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_actions_by_app_action_idREADRead an action via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/actions/{app_action_id}
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_app_bundlesREADGet all app bundles via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_app_bundles_by_app_bundle_idREADGet an app bundle via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles/{app_bundle_id}
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_detailsREADGet app details via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/details
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_event_subscriptionREADGet an app event subscription via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/event_subscription
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_functionsREADGet all functions via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/functions
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_functions_by_function_idREADGet a function via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/functions/{function_id}
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_keysREADGet all app keys via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/keys
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_keys_by_key_kidREADGet an app key via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/keys/{key_kid}
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_providerREADGet a resource provider via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider_resource_typesREADGet all resource types via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider_resource_types_by_resource_type_idREADGet a resource type via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types/{resource_type_id}
contentful_get_organizations_by_organization_id_app_definitions_by_app_definition_id_signing_secretREADGet the current app signing secret via GET /organizations/{organization_id}/app_definitions/{app_definition_id}/signing_secret
contentful_get_organizations_by_organization_id_app_uploads_by_app_upload_idREADGet an app upload via GET /organizations/{organization_id}/app_uploads/{app_upload_id}
contentful_get_organizations_by_organization_id_available_licensesREADUse this endpoint to list all the available licenses for an organization, the response is the counted and grouped licenses (by `product Id`). via GET /organizations/{organization_id}/available_licenses
contentful_get_organizations_by_organization_id_enablementsREADReturns the enablement status of all features in an organization. A default document (all features `false`) is created if none exists yet. via GET /organizations/{organization_id}/enablements
contentful_get_organizations_by_organization_id_environment_templatesREADThis action returns a collection with all the environment templates in the organization repository. The templates are ordered by creation date descending. via GET /organizations/{organization_id}/environment_templates
contentful_get_organizations_by_organization_id_environment_templates_by_template_idREADThis action returns a specific environment template in the organization repository. The returned template is also the latest version in the **/versions** endpoint. via GET /organizations/{organization_id}/environment_templates/{template_id}
contentful_get_organizations_by_organization_id_environment_templates_by_template_id_template_installationsREADThis action returns a collection with all installations of an environment template in the organization. via GET /organizations/{organization_id}/environment_templates/{template_id}/template_installations
contentful_get_organizations_by_organization_id_environment_templates_by_template_id_versionsREADThis action returns all the versions of an environment template. The versions are ordered by version number descending. via GET /organizations/{organization_id}/environment_templates/{template_id}/versions
contentful_get_organizations_by_organization_id_environment_templates_by_template_id_versions_by_version_numberREADThis action returns a certain version of an environment template. via GET /organizations/{organization_id}/environment_templates/{template_id}/versions/{version_number}
contentful_get_organizations_by_organization_id_logging_configurationsREADReturns a paginated collection of logging configurations for the organization. via GET /organizations/{organization_id}/logging_configurations
contentful_get_organizations_by_organization_id_logging_configurations_by_configuration_idREADReturns a single logging configuration by ID. via GET /organizations/{organization_id}/logging_configurations/{configuration_id}
contentful_get_organizations_by_organization_id_logging_configurations_by_configuration_id_statusREADReturns cursor-paginated delivery attempt history for a configuration. Records are retained for 180 days. via GET /organizations/{organization_id}/logging_configurations/{configuration_id}/status
contentful_get_organizations_by_organization_id_organization_periodic_usagesREAD**Deprecated. Sunset: 2027-02-28.** Use [Get aggregated usage](/references/content-management-api/usage/get-usage-aggregated) instead. See the [Usage migration guide](/references/content-management-api/usage-migration-guide) for a full mapping of parameters and response shapes.Query organization usage by `metric` for a given date range. If `startAt` and `endAt` are not passed through the query a historical data for the last 45 days will be returned by default. via GET /organizations/{organization_id}/organization_periodic_usages
contentful_get_organizations_by_organization_id_security_contactsREADGet an organization security contacts an admin or owner has access to via GET /organizations/{organization_id}/security_contacts
contentful_get_organizations_by_organization_id_semantic_search_indexREADGet all search indices via GET /organizations/{organization_id}/semantic/search-index
contentful_get_organizations_by_organization_id_semantic_search_index_by_index_idREADGet a search index via GET /organizations/{organization_id}/semantic/search-index/{index_id}
contentful_get_organizations_by_organization_id_semantic_settingsREADGet semantic settings via GET /organizations/{organization_id}/semantic/settings
contentful_get_organizations_by_organization_id_space_add_onsREADGet space add-ons from a specific organization. via GET /organizations/{organization_id}/space_add_ons
contentful_get_organizations_by_organization_id_space_enablementsREADReturns enablement status for all features across all spaces in the organization. A default document (all features `false`) is created for any space that lacks one. via GET /organizations/{organization_id}/space_enablements
contentful_get_organizations_by_organization_id_space_periodic_usagesREAD**Deprecated. Sunset: 2027-02-28.** Use [Get aggregated usage](/references/content-management-api/usage/get-usage-aggregated) with `filter[sys.dimensions.space.sys.id]={spaceId}` instead. See the [Usage migration guide](/references/content-management-api/usage-migration-guide) for a full mapping of parameters and response shapes.Query organization usage by space and `metric` for a given date range. via GET /organizations/{organization_id}/space_periodic_usages
contentful_get_organizations_by_organization_id_taxonomy_concept_schemesREADGet concept schemes via GET /organizations/{organization_id}/taxonomy/concept-schemes
contentful_get_organizations_by_organization_id_taxonomy_concept_schemes_by_concept_scheme_idREADGet a concept scheme via GET /organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id}
contentful_get_organizations_by_organization_id_taxonomy_conceptsREADReturns all taxonomy concepts for an organization, with cursor-based pagination. Filter by `sys.id[in]`, `conceptScheme`, `order`, `limit`, `query`, `pageNext`, and `pagePrev` query parameters. via GET /organizations/{organization_id}/taxonomy/concepts
contentful_get_organizations_by_organization_id_taxonomy_concepts_by_concept_idREADGet a concept via GET /organizations/{organization_id}/taxonomy/concepts/{concept_id}
contentful_get_organizations_by_organization_id_taxonomy_concepts_by_concept_id_ancestorsREADGet ancestors of a concept via GET /organizations/{organization_id}/taxonomy/concepts/{concept_id}/ancestors
contentful_get_organizations_by_organization_id_taxonomy_concepts_by_concept_id_descendantsREADGet descendants of a concept via GET /organizations/{organization_id}/taxonomy/concepts/{concept_id}/descendants
contentful_get_organizations_by_organization_id_taxonomy_concepts_schemes_totalREADGet number of concept schemes via GET /organizations/{organization_id}/taxonomy/concepts-schemes/total
contentful_get_organizations_by_organization_id_taxonomy_concepts_totalREADGet number of concepts via GET /organizations/{organization_id}/taxonomy/concepts/total
contentful_get_organizations_by_organization_id_usages_by_metric_keyREADReturns aggregated usage for a single metric over a configurable date range and granularity. This is the recommended endpoint for consuming Usage API data — it replaces the legacy `organization_periodic_usages` and `space_periodic_usages` endpoints (see the [Usage migration guide](/references/content-management-api/usage-migration-guide)). via GET /organizations/{organization_id}/usages/{metric_key}
contentful_get_organizations_by_organization_id_usages_detailed_asset_bandwidthREADReturns the top 30 assets by bandwidth used for an organization over a given date range, ranked descending and grouped by asset and space. This is a fixed-shape leaderboard, not a general-purpose query endpoint — unlike [Get aggregated usage](/references/content-management-api/usage/get-usage-aggregated), it does not support `group`, `filter`, or `order` parameters, and covers a single metric (`asset_bandwidth`) only. via GET /organizations/{organization_id}/usages-detailed/asset_bandwidth
contentful_get_spacesREADGet all spaces an account has access to via GET /spaces
contentful_get_spaces_by_space_idREADGet a space via GET /spaces/{space_id}
contentful_get_spaces_by_space_id_ai_actionsREADReturns all the AI Actions that exist in a given space. via GET /spaces/{space_id}/ai/actions
contentful_get_spaces_by_space_id_ai_actions_by_ai_action_idREADUse this endpoint to read an AI Action for a specified space. via GET /spaces/{space_id}/ai/actions/{ai_action_id}
contentful_get_spaces_by_space_id_api_keysREADGet all Delivery API keys via GET /spaces/{space_id}/api_keys
contentful_get_spaces_by_space_id_api_keys_by_api_key_idREADThis endpoint returns details about an existing Delivery API key. via GET /spaces/{space_id}/api_keys/{api_key_id}
contentful_get_spaces_by_space_id_eligible_licensesREADUse this endpoint to list all eligible licenses for a given space under an organization. This will check if the space usage would fit into the licenses limits, and also check if entitlements bank can cover if shortage exists. via GET /spaces/{space_id}/eligible_licenses
contentful_get_spaces_by_space_id_enablementsREADReturns the enablement status of all features in a space. A default document (all features `false`) is created if none exists yet. via GET /spaces/{space_id}/enablements
contentful_get_spaces_by_space_id_environment_aliasesREADGet all environment aliases of a space via GET /spaces/{space_id}/environment_aliases
contentful_get_spaces_by_space_id_environment_aliases_by_environment_alias_idREADGet an environment alias via GET /spaces/{space_id}/environment_aliases/{environment_alias_id}
contentful_get_spaces_by_space_id_environmentsREADGet all environments of a space via GET /spaces/{space_id}/environments
contentful_get_spaces_by_space_id_environments_by_environment_idREADGet an environment via GET /spaces/{space_id}/environments/{environment_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_ai_actions_by_ai_action_id_invocations_by_ai_action_invocation_idREADUse this endpoint to obtain the result of an AI Action Invocation for a specified space, environment, AI Action and Invocation. via GET /spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/invocations/{ai_action_invocation_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_app_installationsREADGet all app installations via GET /spaces/{space_id}/environments/{environment_id}/app_installations
contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_definition_idREADGet an app installation via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_actions_by_app_action_id_calls_by_call_idREADGet a call via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/actions/{app_action_id}/calls/{call_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_actions_by_app_action_id_calls_by_call_id_responseREADGet raw response via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/actions/{app_action_id}/calls/{call_id}/response
contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_functionsREADGet all functions for an environment via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/functions
contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_functions_by_function_id_logsREADGet all function logs via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/functions/{function_id}/logs
contentful_get_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_functions_by_function_id_logs_by_log_idREADGet a function log via GET /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/functions/{function_id}/logs/{log_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_assetsREADTo fetch specific assets use [query search parameter](#/reference/search-parameters). via GET /spaces/{space_id}/environments/{environment_id}/assets
contentful_get_spaces_by_space_id_environments_by_environment_id_assets_by_asset_idREADGet an asset via GET /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_automation_definitionsREADGet all automation definitions via GET /spaces/{space_id}/environments/{environment_id}/automation_definitions
contentful_get_spaces_by_space_id_environments_by_environment_id_automation_definitions_by_automation_definition_idREADGet automation definition via GET /spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_automation_definitions_by_automation_definition_id_automation_executionsREADGet executions for automation definition via GET /spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id}/automation_executions
contentful_get_spaces_by_space_id_environments_by_environment_id_automation_executionsREADGet all automation executions via GET /spaces/{space_id}/environments/{environment_id}/automation_executions
contentful_get_spaces_by_space_id_environments_by_environment_id_automation_executions_by_automation_execution_idREADGet automation execution via GET /spaces/{space_id}/environments/{environment_id}/automation_executions/{automation_execution_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_bulk_actions_actions_by_bulk_action_idREADReturns a bulk action by ID. Records are retained for 7 days. via GET /spaces/{space_id}/environments/{environment_id}/bulk_actions/actions/{bulk_action_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_bulk_operationsREADRetrieves bulk operations for the specified space and environment (cursor-paginated). Each item in `items` includes `sys` only (no `payload`, `result`, or `error`). via GET /spaces/{space_id}/environments/{environment_id}/bulk_operations
contentful_get_spaces_by_space_id_environments_by_environment_id_bulk_operations_by_bulk_operation_idREADReturns the status of a bulk operation by ID. Check `sys.status` for state and `result.items` for per-entry outcomes; export jobs return `result.files` with signed ZIP URLs. via GET /spaces/{space_id}/environments/{environment_id}/bulk_operations/{bulk_operation_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_content_typesREADGet all content types of a space via GET /spaces/{space_id}/environments/{environment_id}/content_types
contentful_get_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_idREADGet a content type via GET /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_editor_interfaceREADGet the editor interface via GET /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/editor_interface
contentful_get_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_snapshotsREADGet all snapshots of a content type via GET /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/snapshots
contentful_get_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_snapshots_by_snapshot_idREADGet a snapshot of a content type via GET /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/snapshots/{snapshot_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_editor_interfacesREADGet all editor interfaces of a space via GET /spaces/{space_id}/environments/{environment_id}/editor_interfaces
contentful_get_spaces_by_space_id_environments_by_environment_id_entriesREADTo fetch specific entries like e.g. entries of a particular content type use [query search parameters](#/reference/search-parameters). via GET /spaces/{space_id}/environments/{environment_id}/entries
contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_idREADReturns an entry by ID. Empty fields are omitted from the response; include all keys that need to be updated when writing back. via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_commentsREADReturns all comments on an entry (unpaginated). Filter by `status` query parameter; any user with read access can read comments. via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments
contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_comments_by_comment_idREADReturns an entry comment by ID. Any user with read access to the entry can read its comments; space admins can read comments in any entry. via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments/{comment_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_referencesREADGet entry references via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/references
contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_snapshotsREADGet all snapshots of an entry via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/snapshots
contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_snapshots_by_snapshot_idREADGet a snapshot of an entry via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/snapshots/{snapshot_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_tasksREADReturns a paginated list of tasks for an entry. Any user with read access to the entry can read its tasks; space admins can read tasks in any entry. via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks
contentful_get_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_tasks_by_task_idREADReturns an entry task by ID. Any user with read access to the entry can read its tasks; space admins can read tasks in any entry. via GET /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks/{task_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_extensionsREADGet all extensions of a space via GET /spaces/{space_id}/environments/{environment_id}/extensions
contentful_get_spaces_by_space_id_environments_by_environment_id_extensions_by_extension_idREADGet an extension via GET /spaces/{space_id}/environments/{environment_id}/extensions/{extension_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_localesREADThe locales endpoint returns a list of all created locales. One will have the flag `default` set to true and is the locale used in the CDA, and you specified no other locale in the request. via GET /spaces/{space_id}/environments/{environment_id}/locales
contentful_get_spaces_by_space_id_environments_by_environment_id_locales_by_locale_idREADThis endpoint returns a single locale and its metadata. via GET /spaces/{space_id}/environments/{environment_id}/locales/{locale_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_public_assetsREADRetrieves the published versions of all assets in a space. via GET /spaces/{space_id}/environments/{environment_id}/public/assets
contentful_get_spaces_by_space_id_environments_by_environment_id_public_content_typesREADRetrieves the activated versions of content types, ignoring any changes made since the last activation. via GET /spaces/{space_id}/environments/{environment_id}/public/content_types
contentful_get_spaces_by_space_id_environments_by_environment_id_public_entriesREADGet all published entries of a space via GET /spaces/{space_id}/environments/{environment_id}/public/entries
contentful_get_spaces_by_space_id_environments_by_environment_id_release_actionsREADReturns release actions across one or more releases. Filter by action type (`validate`, `publish`, `unpublish`), status, and release ID. via GET /spaces/{space_id}/environments/{environment_id}/release_actions
contentful_get_spaces_by_space_id_environments_by_environment_id_releasesREADReturns releases for the environment, cursor-paginated. Filter by ID, creator, status, entity membership, and `title[match]`. via GET /spaces/{space_id}/environments/{environment_id}/releases
contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_idREADReturns a single release by ID. via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_actions_by_release_action_idREADReturns a single release action by ID. Accessible to any user with read access to entries; returns 404 if the release or action is not found. via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/actions/{release_action_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_assetsREADTo fetch specific assets use [query search parameters](#/reference/search-parameters). via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets
contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_assets_by_asset_idREADGet an asset in a release via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets/{asset_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_entriesREADTo fetch specific entries like e.g. entries of a particular content type use [query search parameters](#/reference/search-parameters). via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries
contentful_get_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_entries_by_entry_idREADReturns a release entry by ID. Empty fields are omitted from the response; include them explicitly when updating to set empty values. via GET /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries/{entry_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_resource_typesREADGet all resource types in an environment via GET /spaces/{space_id}/environments/{environment_id}/resource_types
contentful_get_spaces_by_space_id_environments_by_environment_id_resource_types_by_resource_type_id_resourcesREADGet all resources in an environment via GET /spaces/{space_id}/environments/{environment_id}/resource_types/{resource_type_id}/resources
contentful_get_spaces_by_space_id_environments_by_environment_id_semantic_search_indexREADGet all environment search indices via GET /spaces/{space_id}/environments/{environment_id}/semantic/search-index
contentful_get_spaces_by_space_id_environments_by_environment_id_tagsREADReturns all the tags that exist in a given environment. via GET /spaces/{space_id}/environments/{environment_id}/tags
contentful_get_spaces_by_space_id_environments_by_environment_id_tags_by_tag_idREADReturns a single tag based on the given identifier. via GET /spaces/{space_id}/environments/{environment_id}/tags/{tag_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_tasksREADReturns paginated tasks assigned to you. Requires `filter=myPendingTasks` query parameter. via GET /spaces/{space_id}/environments/{environment_id}/tasks
contentful_get_spaces_by_space_id_environments_by_environment_id_template_installations_by_template_idREADReturns all installation objects for a template in the environment, ordered by creation date descending. Each install or update attempt creates a new installation object. via GET /spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_ui_configREADThis endpoint returns the available UI Config in the current environment. via GET /spaces/{space_id}/environments/{environment_id}/ui_config
contentful_get_spaces_by_space_id_environments_by_environment_id_ui_config_meREADGet the User UI Config via GET /spaces/{space_id}/environments/{environment_id}/ui_config/me
contentful_get_spaces_by_space_id_environments_by_environment_id_uploads_by_upload_idREADRetrieve an upload via GET /spaces/{space_id}/environments/{environment_id}/uploads/{upload_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_workflow_definitionsREADReturns a paginated list of workflow definitions for the environment. Accessible to all users. via GET /spaces/{space_id}/environments/{environment_id}/workflow_definitions
contentful_get_spaces_by_space_id_environments_by_environment_id_workflow_definitions_by_workflow_definition_idREADReturns a single workflow definition by ID. Accessible to all users. via GET /spaces/{space_id}/environments/{environment_id}/workflow_definitions/{workflow_definition_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_workflowsREADReturns workflows matching the specified query filters. Accessible to all users. via GET /spaces/{space_id}/environments/{environment_id}/workflows
contentful_get_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_idREADReturns a workflow by ID. Accessible to all users. via GET /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}
contentful_get_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id_commentsREADReturns all comments for a workflow. Filter by `status` query parameter; accessible to any user with read access to workflows. via GET /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/comments
contentful_get_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id_versions_by_version_commentsREADReturns all comments for a specific workflow version. Accessible to any user with read access to workflows. via GET /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/versions/{version}/comments
contentful_get_spaces_by_space_id_environments_by_environment_id_workflows_changelogREADReturns workflow changelog records matching the specified filters, sorted by event date descending. Accessible to any user with read access to the specified entry. via GET /spaces/{space_id}/environments/{environment_id}/workflows_changelog
contentful_get_spaces_by_space_id_environments_by_external_environment_id_actionsREADGet all actions of an environment via GET /spaces/{space_id}/environments/{external_environment_id}/actions
contentful_get_spaces_by_space_id_preview_api_keysREADGet all Preview API keys via GET /spaces/{space_id}/preview_api_keys
contentful_get_spaces_by_space_id_preview_api_keys_by_preview_api_key_idREADThis endpoint returns details about an existing Preview API key. via GET /spaces/{space_id}/preview_api_keys/{preview_api_key_id}
contentful_get_spaces_by_space_id_rolesREADThis endpoint returns a paginated list of roles for a given space. Each role contains a name, a description, permissions and policies, which describe what a user can and cannot do. via GET /spaces/{space_id}/roles
contentful_get_spaces_by_space_id_roles_by_role_idREADUse this endpoint to read an existing single role. via GET /spaces/{space_id}/roles/{role_id}
contentful_get_spaces_by_space_id_scheduled_actionsREADReturns scheduled actions for the space, cursor-paginated (default page 100, max 1000). Filter by `environment.sys.id` (required), `entity.sys.id`, `sys.status`, and `scheduledFor.datetime`. via GET /spaces/{space_id}/scheduled_actions
contentful_get_spaces_by_space_id_scheduled_actions_by_scheduled_action_idREADReturns a single scheduled action by ID. via GET /spaces/{space_id}/scheduled_actions/{scheduled_action_id}
contentful_get_spaces_by_space_id_space_add_onsREADGet space add-ons from a specific space. via GET /spaces/{space_id}/space_add_ons
contentful_get_spaces_by_space_id_space_membershipsREADThis endpoint returns a paginated list of all space memberships. via GET /spaces/{space_id}/space_memberships
contentful_get_spaces_by_space_id_space_memberships_by_space_membership_idREADThis endpoint returns details about an existing space membership. via GET /spaces/{space_id}/space_memberships/{space_membership_id}
contentful_get_spaces_by_space_id_teamsREADThis endpoint returns a paginated list of all teams with access to a space. via GET /spaces/{space_id}/teams
contentful_get_spaces_by_space_id_webhook_definitionsREADGet all webhooks of a space via GET /spaces/{space_id}/webhook_definitions
contentful_get_spaces_by_space_id_webhook_definitions_by_webhook_definition_idREADGet a webhook via GET /spaces/{space_id}/webhook_definitions/{webhook_definition_id}
contentful_get_spaces_by_space_id_webhook_settings_signing_secretREADGet a webhook signing secret via GET /spaces/{space_id}/webhook_settings/signing_secret
contentful_get_spaces_by_space_id_webhooks_by_webhook_id_callsREADGet an overview of recent calls via GET /spaces/{space_id}/webhooks/{webhook_id}/calls
contentful_get_spaces_by_space_id_webhooks_by_webhook_id_calls_by_call_idREADGet the webhook call details via GET /spaces/{space_id}/webhooks/{webhook_id}/calls/{call_id}
contentful_get_spaces_by_space_id_webhooks_by_webhook_id_healthREADGet webhook health via GET /spaces/{space_id}/webhooks/{webhook_id}/health
contentful_get_users_by_user_id_oauth_applicationsREADThis endpoint retrieves a list of OAuth applications associated with the current user. via GET /users/{user_id}/oauth_applications
contentful_get_users_by_user_id_oauth_applications_by_oauth_application_idREADThis endpoint retrieves details of a specific OAuth application. via GET /users/{user_id}/oauth_applications/{oauth_application_id}
contentful_get_users_meREADThis endpoint returns details about your Contentful user account. via GET /users/me
contentful_get_users_me_access_tokensREADReturns all CMA tokens (active and revoked) for the current user, across `PersonalAccessToken`, `CLIToken`, and `OAuthApplication` types. Filter by `sys.type`, `sys.expiresAt`, `sys.revokedAt`, `sys.createdAt`, `sys.lastUsedAt`, and `query`. via GET /users/me/access_tokens
contentful_get_users_me_access_tokens_by_token_idREADThis endpoint returns details about an existing CMA token. via GET /users/me/access_tokens/{token_id}
contentful_patch_organizations_by_organization_id_ai_providers_by_provider_idWRITEUse this endpoint to update a specific AI provider using [JSON Patch](http://jsonpatch.com/) format. This is useful for updating credentials, configuration, or selected models without replacing the entire provider configuration. via PATCH /organizations/{organization_id}/ai/providers/{provider_id}
contentful_patch_organizations_by_organization_id_taxonomy_concept_schemes_by_concept_scheme_idWRITEUpdates a taxonomy concept scheme using JSON Patch format. Include the current version in `X-Contentful-Version`; operations on unset fields require passing the full sub-object rather than a nested path. via PATCH /organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id}
contentful_patch_organizations_by_organization_id_taxonomy_concepts_by_concept_idWRITEUpdates a taxonomy concept using JSON Patch format. Include the current version in `X-Contentful-Version`; operations on unset fields require passing the full sub-object rather than a nested path. via PATCH /organizations/{organization_id}/taxonomy/concepts/{concept_id}
contentful_patch_spaces_by_space_id_environments_by_environment_id_entries_by_entry_idWRITEUpdates an entry using JSON Patch format. Include the current version in `X-Contentful-Version`; operations on unset fields require passing the full sub-object. via PATCH /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}
contentful_patch_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_entries_by_entry_idWRITEUpdates a release entry using JSON Patch format. Include the current version in `X-Contentful-Version`; operations on unset fields require passing the full sub-object. via PATCH /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries/{entry_id}
contentful_post_organizations_by_organization_id_ai_providersWRITEUse this endpoint to create a new AI Provider of a specified type for an organization. via POST /organizations/{organization_id}/ai/providers
contentful_post_organizations_by_organization_id_app_definitionsWRITECreate a new app definition via POST /organizations/{organization_id}/app_definitions
contentful_post_organizations_by_organization_id_app_definitions_by_app_definition_id_access_grantsWRITECreate One Access Grant via POST /organizations/{organization_id}/app_definitions/{app_definition_id}/access_grants
contentful_post_organizations_by_organization_id_app_definitions_by_app_definition_id_actionsWRITECreate an action via POST /organizations/{organization_id}/app_definitions/{app_definition_id}/actions
contentful_post_organizations_by_organization_id_app_definitions_by_app_definition_id_app_bundlesWRITECreate a new app bundle via POST /organizations/{organization_id}/app_definitions/{app_definition_id}/app_bundles
contentful_post_organizations_by_organization_id_app_definitions_by_app_definition_id_keysWRITECreate a new app key via POST /organizations/{organization_id}/app_definitions/{app_definition_id}/keys
contentful_post_organizations_by_organization_id_app_uploadsWRITECreate an app upload via POST /organizations/{organization_id}/app_uploads
contentful_post_organizations_by_organization_id_environment_templatesWRITEThis action creates an environment template in the organization repository. It implicitly creates a new version for this template. via POST /organizations/{organization_id}/environment_templates
contentful_post_organizations_by_organization_id_logging_configurationsWRITECreates a logging configuration for the organization. AWS S3 destinations require `bucketName`, `iamArn`, and `region` credentials. via POST /organizations/{organization_id}/logging_configurations
contentful_post_organizations_by_organization_id_security_contactsWRITEPost an organization security contacts an admin or owner has access to via POST /organizations/{organization_id}/security_contacts
contentful_post_organizations_by_organization_id_semantic_search_indexWRITECreate a search index via POST /organizations/{organization_id}/semantic/search-index
contentful_post_organizations_by_organization_id_taxonomy_concept_schemesWRITECreate a concept scheme via POST /organizations/{organization_id}/taxonomy/concept-schemes
contentful_post_organizations_by_organization_id_taxonomy_conceptsWRITECreate a single taxonomy concept. via POST /organizations/{organization_id}/taxonomy/concepts
contentful_post_spacesWRITECreate a new space, specifying attributes in the request body. You can optionally pass a `productId` to assign a specific product (from your organization's available licenses) to the new space. via POST /spaces
contentful_post_spaces_by_space_id_ai_actionsWRITEUse this endpoint to create a new AI Action for a specified space. via POST /spaces/{space_id}/ai/actions
contentful_post_spaces_by_space_id_api_keysWRITEThis endpoint allows you to create a Delivery API key and its corresponding Preview API key. via POST /spaces/{space_id}/api_keys
contentful_post_spaces_by_space_id_environmentsWRITECreates a new environment, optionally cloned from a source environment via `X-Contentful-Source-Environment`. Use a specified ID for automation — auto-generated IDs are not recommended. via POST /spaces/{space_id}/environments
contentful_post_spaces_by_space_id_environments_by_environment_id_ai_actions_by_ai_action_id_invokeWRITEUse this endpoint to invoke an AI Action for a specified space and environment. via POST /spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/invoke
contentful_post_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_definition_id_access_tokensWRITEIssue a token for an app installation in a space environment via POST /spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}/access_tokens
contentful_post_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_definition_id_signed_requestsWRITECreate a signed request via POST /spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}/signed_requests
contentful_post_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_installation_id_actions_by_app_action_id_callsWRITETrigger an action via POST /spaces/{space_id}/environments/{environment_id}/app_installations/{app_installation_id}/actions/{app_action_id}/calls
contentful_post_spaces_by_space_id_environments_by_environment_id_asset_keysWRITECreates an asset key used to sign embargoed asset URLs for secure delivery. Specify an `expiresAt` Unix timestamp (maximum 48 hours ahead) to control key validity. via POST /spaces/{space_id}/environments/{environment_id}/asset_keys
contentful_post_spaces_by_space_id_environments_by_environment_id_assetsWRITEWhen using this endpoint, an ID will be automatically generated for the created asset and returned with the response. via POST /spaces/{space_id}/environments/{environment_id}/assets
contentful_post_spaces_by_space_id_environments_by_environment_id_automation_definitionsWRITECreate an automation definition via POST /spaces/{space_id}/environments/{environment_id}/automation_definitions
contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_actionsWRITECreate a locale-based bulk action via POST /spaces/{space_id}/environments/{environment_id}/bulk_actions
contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_actions_publishWRITEPublishes all content linked in the payload. Requires publish permissions on each item; limited by the number of active bulk actions. via POST /spaces/{space_id}/environments/{environment_id}/bulk_actions/publish
contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_actions_unpublishWRITEUnpublishes all content linked in the payload. Requires unpublish permissions on each item; limited by the number of active bulk actions. via POST /spaces/{space_id}/environments/{environment_id}/bulk_actions/unpublish
contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_actions_validateWRITEValidates entities before publishing. Requires publish permissions on each entity; limited by the number of active bulk actions. via POST /spaces/{space_id}/environments/{environment_id}/bulk_actions/validate
contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_operations_entries_createWRITECreates a bulk operation from a previous upload, processing entries asynchronously. Omit `sys.id` for auto-generated IDs; existing IDs will fail with `EntryExistsError`. via POST /spaces/{space_id}/environments/{environment_id}/bulk_operations/entries/create
contentful_post_spaces_by_space_id_environments_by_environment_id_bulk_operations_entries_exportWRITECreates an async export operation for entries matching an optional `query` (max 10,000 entries). Poll the bulk operation endpoint until `sys.status` is `completed`, then download from `result.files`. via POST /spaces/{space_id}/environments/{environment_id}/bulk_operations/entries/export
contentful_post_spaces_by_space_id_environments_by_environment_id_content_typesWRITECreates a content type with an auto-generated ID. Prefer the PUT method to control the content type ID, since IDs are often referenced in code. via POST /spaces/{space_id}/environments/{environment_id}/content_types
contentful_post_spaces_by_space_id_environments_by_environment_id_entriesWRITECreates a new entry with an auto-generated ID; pass the desired content type in `X-Contentful-Content-Type`. New entries are created as drafts and must be published to appear on the CDA. via POST /spaces/{space_id}/environments/{environment_id}/entries
contentful_post_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_commentsWRITECreates a comment on an entry with an auto-generated ID; limit is 100 comments per entry. Use `X-Contentful-Parent-Id` to reply to a specific comment. via POST /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments
contentful_post_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_tasksWRITECreates a task on an entry with an auto-generated ID; limit is 100 tasks per entry. Email notifications are sent to the assignee (and team members if assigned to a team). via POST /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks
contentful_post_spaces_by_space_id_environments_by_environment_id_extensionsWRITECreate an extension via POST /spaces/{space_id}/environments/{environment_id}/extensions
contentful_post_spaces_by_space_id_environments_by_environment_id_localesWRITEUse this endpoint to create a new locale for the specified space. You cannot create two locales with the same locale code. via POST /spaces/{space_id}/environments/{environment_id}/locales
contentful_post_spaces_by_space_id_environments_by_environment_id_releasesWRITECreates a new release with an auto-generated ID. via POST /spaces/{space_id}/environments/{environment_id}/releases
contentful_post_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_assetsWRITECreates a new asset and adds it to the release in one step. An ID is auto-generated and returned with the response. via POST /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets
contentful_post_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_entriesWRITEUse this endpoint to create a new entry and add it to the release in one step. via POST /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries
contentful_post_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_validateWRITEAsynchronously validates a release for publishing or unpublishing. Only one validation at a time is allowed per release. via POST /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/validate
contentful_post_spaces_by_space_id_environments_by_environment_id_semantic_duplicatesWRITEThis endpoint detects potential duplicate entries based on semantic similarity. via POST /spaces/{space_id}/environments/{environment_id}/semantic/duplicates
contentful_post_spaces_by_space_id_environments_by_environment_id_semantic_recommendationsWRITEThis endpoint allows to semantically find similar entries based on the provided entry IDs. via POST /spaces/{space_id}/environments/{environment_id}/semantic/recommendations
contentful_post_spaces_by_space_id_environments_by_environment_id_semantic_reference_suggestionsWRITEThis endpoint returns suggested entries that you can reference in a given field based on semantic relevance. via POST /spaces/{space_id}/environments/{environment_id}/semantic/reference-suggestions
contentful_post_spaces_by_space_id_environments_by_environment_id_semantic_searchWRITEThis endpoint allows to perform a semantic search for a given query. via POST /spaces/{space_id}/environments/{environment_id}/semantic/search
contentful_post_spaces_by_space_id_environments_by_environment_id_template_installations_by_template_id_versionsWRITEInstalls a template version in the environment, creating a new installation object on success. Defaults to the latest version if no version is specified. via POST /spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}/versions
contentful_post_spaces_by_space_id_environments_by_environment_id_workflow_definitionsWRITECreates a new workflow definition. Only org or space admins can create workflow definitions. via POST /spaces/{space_id}/environments/{environment_id}/workflow_definitions
contentful_post_spaces_by_space_id_environments_by_environment_id_workflowsWRITECreates a workflow for an entry. Any user with read access to the entry can create a workflow. via POST /spaces/{space_id}/environments/{environment_id}/workflows
contentful_post_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id_versions_by_version_commentsWRITECreates a comment for a specific workflow version; only one comment per version is supported. Accessible to any user with read access to workflows. via POST /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/versions/{version}/comments
contentful_post_spaces_by_space_id_rolesWRITEUse this endpoint to create a custom role. The role name must be unique within the space. via POST /spaces/{space_id}/roles
contentful_post_spaces_by_space_id_scheduled_actionsWRITECreates a scheduled action with an auto-generated ID. Limit is 200 pending scheduled actions per environment; `scheduledFor.datetime` must be a future ISO 8601 timestamp. via POST /spaces/{space_id}/scheduled_actions
contentful_post_spaces_by_space_id_space_membershipsWRITEUse this endpoint to create a space membership (or invite a user to a space). A user can and must be flagged as 'admin' or assigned to certain roles. via POST /spaces/{space_id}/space_memberships
contentful_post_spaces_by_space_id_unarchiveWRITEUnarchive a space to make it active again. Pass a `productId` in the request body to assign a product license to the space upon unarchiving. via POST /spaces/{space_id}/unarchive
contentful_post_spaces_by_space_id_webhook_definitionsWRITECreate a webhook via POST /spaces/{space_id}/webhook_definitions
contentful_post_users_by_user_id_oauth_applicationsWRITEThis endpoint creates a new OAuth application. via POST /users/{user_id}/oauth_applications
contentful_post_users_me_access_tokensWRITECreates a Personal Access Token with the specified scopes (`content_management_read` or `content_management_manage`). The token value is only returned once — copy and store it securely. via POST /users/me/access_tokens
contentful_put_organizations_by_organization_idWRITEPut an organization id an admin or owner has access to via PUT /organizations/{organization_id}
contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_idWRITEUpdate an app definition via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}
contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_actions_by_app_action_idWRITEUpdate an action via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/actions/{app_action_id}
contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_detailsWRITECreate or update app details via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/details
contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_event_subscriptionWRITEUpdate or subscribe to events via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/event_subscription
contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_providerWRITECreates a resource provider for an app; each app can have only one. The `function.sys.id` in the request must match `functions[0].id` in the app's manifest. via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider
contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_resource_provider_resource_types_by_resource_type_idWRITECreates or updates a resource type for an app's resource provider. Requires the app to have an associated resource provider — PUT fails without one. via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider/resource_types/{resource_type_id}
contentful_put_organizations_by_organization_id_app_definitions_by_app_definition_id_signing_secretWRITECreate or overwrite the app signing secret via PUT /organizations/{organization_id}/app_definitions/{app_definition_id}/signing_secret
contentful_put_organizations_by_organization_id_enablementsWRITEEnables or changes features for an organization. Include `X-Contentful-Version` (use `1` if no document exists yet). via PUT /organizations/{organization_id}/enablements
contentful_put_organizations_by_organization_id_environment_templates_by_template_idWRITEUpdates an environment template and implicitly creates a new version. Include `X-Contentful-Version` to lock against concurrent edits. via PUT /organizations/{organization_id}/environment_templates/{template_id}
contentful_put_organizations_by_organization_id_logging_configurations_by_configuration_id_credentialsWRITEReplaces credentials for an existing logging configuration. The destination type cannot be changed via this endpoint. via PUT /organizations/{organization_id}/logging_configurations/{configuration_id}/credentials
contentful_put_organizations_by_organization_id_security_contacts_by_security_idWRITEUpdate an organization security contact an admin or owner has access to via PUT /organizations/{organization_id}/security_contacts/{security_id}
contentful_put_organizations_by_organization_id_taxonomy_concept_schemes_by_concept_scheme_idWRITECreate a concept scheme with user-defined ID via PUT /organizations/{organization_id}/taxonomy/concept-schemes/{concept_scheme_id}
contentful_put_organizations_by_organization_id_taxonomy_concepts_by_concept_idWRITECreates a single taxonomy concept with a user-defined ID. via PUT /organizations/{organization_id}/taxonomy/concepts/{concept_id}
contentful_put_spaces_by_space_idWRITEUpdates a space; send attributes as a JSON payload and include `X-Contentful-Version`. `X-Contentful-Organization` is optional if the account belongs to only one organization. via PUT /spaces/{space_id}
contentful_put_spaces_by_space_id_ai_actions_by_ai_action_idWRITEUse this endpoint to update an AI Action for a specified space. via PUT /spaces/{space_id}/ai/actions/{ai_action_id}
contentful_put_spaces_by_space_id_api_keys_by_api_key_idWRITEUpdates a Delivery API key and its corresponding Preview API key. Include the current version in `X-Contentful-Version`. via PUT /spaces/{space_id}/api_keys/{api_key_id}
contentful_put_spaces_by_space_id_enablementsWRITEEnables or changes features for a space. Include `X-Contentful-Version` (use `1` if no document exists); `spaceTemplates` and `crossSpaceLinks` must always be set together. via PUT /spaces/{space_id}/enablements
contentful_put_spaces_by_space_id_environment_aliases_by_environment_alias_idWRITECreates a new environment alias or changes the environment it references. When updating, include the current alias version in `X-Contentful-Version`. via PUT /spaces/{space_id}/environment_aliases/{environment_alias_id}
contentful_put_spaces_by_space_id_environments_by_environment_idWRITECreates a new environment with the specified ID, or clones from a source environment via `X-Contentful-Source-Environment`. When updating an existing environment, include the current version in `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_ai_actions_by_ai_action_id_publishedWRITEUse this endpoint to publish an AI Action for a specified space. via PUT /spaces/{space_id}/environments/{environment_id}/ai/actions/{ai_action_id}/published
contentful_put_spaces_by_space_id_environments_by_environment_id_app_installations_by_app_definition_idWRITEInstall or update an app via PUT /spaces/{space_id}/environments/{environment_id}/app_installations/{app_definition_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_assets_by_asset_idWRITECreates a new asset with the specified ID or updates an existing one. When updating, include the current version in `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id_archivedWRITEArchives an asset, removing it and its CDN files. CDN removal can take up to 48 hours. via PUT /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/archived
contentful_put_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id_files_by_locale_code_processWRITEProcess an asset via PUT /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/files/{locale_code}/process
contentful_put_spaces_by_space_id_environments_by_environment_id_assets_by_asset_id_publishedWRITEPublishes an asset, making it available on the CDA and CDN. Image assets become accessible from `images.ctfassets.net` with Images API query parameter support. via PUT /spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/published
contentful_put_spaces_by_space_id_environments_by_environment_id_automation_definitions_by_automation_definition_idWRITEUpdate an automation definition via PUT /spaces/{space_id}/environments/{environment_id}/automation_definitions/{automation_definition_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_idWRITECreates a new content type with the specified ID or updates an existing one. When updating, include the current version in `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_editor_interfaceWRITEYou can use this endpoint to update an existing editor interface. You will need to specify its last version with `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/editor_interface
contentful_put_spaces_by_space_id_environments_by_environment_id_content_types_by_content_type_id_publishedWRITEActivate a content type via PUT /spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/published
contentful_put_spaces_by_space_id_environments_by_environment_id_entries_by_entry_idWRITECreates a new entry with the specified ID or updates an existing one. Pass `X-Contentful-Content-Type` when creating; include `X-Contentful-Version` when updating. via PUT /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_archivedWRITEArchive an entry via PUT /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/archived
contentful_put_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_comments_by_comment_idWRITEUpdates the body of an entry comment. Only the comment creator or a space admin can update a comment. via PUT /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/comments/{comment_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_publishedWRITEPublish an entry via PUT /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/published
contentful_put_spaces_by_space_id_environments_by_environment_id_entries_by_entry_id_tasks_by_task_idWRITEUpdates a task's body, assignee, or status. Task assignees can only update `status`; task creators and admins can update `body` and `assignedTo`. Resolved tasks cannot have `body` or `assignee` changed without unresolving first. via PUT /spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/tasks/{task_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_extensions_by_extension_idWRITEUse this endpoint to create a new extension with a specified ID, or to update a specific extension via its ID. When updating an existing extension, you need to specify the last version of the extension you are updating with `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/extensions/{extension_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_locales_by_locale_idWRITEUpdates a locale in a space; include the current version in `X-Contentful-Version`. Changing a locale's `code` affects all future API responses and is not allowed on locales used as fallbacks. via PUT /spaces/{space_id}/environments/{environment_id}/locales/{locale_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_idWRITEUpdates a release by ID. Include `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_archivedWRITEArchives a release, preventing publish, unpublish, or scheduling actions. Include `X-Contentful-Version`. via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/archived
contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_assets_by_asset_idWRITECreates a new asset with the specified ID or updates an existing one within the release. Include the current version in `X-Contentful-Version` when updating. via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets/{asset_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_assets_by_asset_id_files_by_locale_code_processWRITEProcess an asset in a release via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/assets/{asset_id}/files/{locale_code}/process
contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_entries_by_entry_idWRITEUpdates a release entry by ID. Include the current version in `X-Contentful-Version`; content type ID is not required in the payload. via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/entries/{entry_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_releases_by_release_id_publishedWRITEPublishes all entities in a release. The release is automatically archived on success. via PUT /spaces/{space_id}/environments/{environment_id}/releases/{release_id}/published
contentful_put_spaces_by_space_id_environments_by_environment_id_tags_by_tag_idWRITECreates or updates a tag; tag IDs are immutable after creation. Set visibility via `X-Contentful-Tag-Visibility` header (defaults to `private`). via PUT /spaces/{space_id}/environments/{environment_id}/tags/{tag_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_template_installations_by_template_id_validatedWRITEThis action validates the latest version of a template for installation in the environment. via PUT /spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}/validated
contentful_put_spaces_by_space_id_environments_by_environment_id_template_installations_by_template_id_versions_by_version_number_validatedWRITEThis action validates a template version for installation in the environment. via PUT /spaces/{space_id}/environments/{environment_id}/template_installations/{template_id}/versions/{version_number}/validated
contentful_put_spaces_by_space_id_environments_by_environment_id_ui_configWRITEYou can use this endpoint to update the UI Config in your environment. These settings are visible to everyone in the environment. via PUT /spaces/{space_id}/environments/{environment_id}/ui_config
contentful_put_spaces_by_space_id_environments_by_environment_id_ui_config_meWRITEYou can use this endpoint to update your User UI Config. via PUT /spaces/{space_id}/environments/{environment_id}/ui_config/me
contentful_put_spaces_by_space_id_environments_by_environment_id_workflow_definitions_by_workflow_definition_idWRITEUpdates a workflow definition by ID. Only org or space admins can update workflow definitions. via PUT /spaces/{space_id}/environments/{environment_id}/workflow_definitions/{workflow_definition_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_idWRITEAdvances or updates a workflow step. Only org or space admins can update by default; step-level permissions can grant access to other users. via PUT /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}
contentful_put_spaces_by_space_id_environments_by_environment_id_workflows_by_workflow_id_completedWRITECompletes a workflow. Only org or space admins can complete by default; step-level permissions can grant access to other users. via PUT /spaces/{space_id}/environments/{environment_id}/workflows/{workflow_id}/completed
contentful_put_spaces_by_space_id_roles_by_role_idWRITEUse this endpoint to update an existing role. You cannot use the endpoint to create a new role with a specific id. via PUT /spaces/{space_id}/roles/{role_id}
contentful_put_spaces_by_space_id_scheduled_actions_by_scheduled_action_idWRITEUpdates the `scheduledFor.datetime` or `scheduledFor.timezone` of a scheduled action. Only fields under `scheduledFor` can be changed; include `X-Contentful-Version`. via PUT /spaces/{space_id}/scheduled_actions/{scheduled_action_id}
contentful_put_spaces_by_space_id_space_add_onsWRITESets the allocation of add-ons for a space. The value is the final amount (not a delta); partial resource subsets are accepted. via PUT /spaces/{space_id}/space_add_ons
contentful_put_spaces_by_space_id_space_memberships_by_space_membership_idWRITEThis endpoint allows you to change a space membership. Use this to assign additional roles or flag a user as 'admin'. via PUT /spaces/{space_id}/space_memberships/{space_membership_id}
contentful_put_spaces_by_space_id_webhook_definitions_by_webhook_definition_idWRITECreate or update a webhook via PUT /spaces/{space_id}/webhook_definitions/{webhook_definition_id}
contentful_put_spaces_by_space_id_webhook_settings_signing_secretWRITECreate a webhook signing secret via PUT /spaces/{space_id}/webhook_settings/signing_secret
contentful_put_users_by_user_id_oauth_applications_by_oauth_application_idWRITEThis endpoint updates details of a specific OAuth application. via PUT /users/{user_id}/oauth_applications/{oauth_application_id}
contentful_put_users_me_access_tokens_by_token_id_revokedWRITERevokes a CMA token, setting `revokedAt` to the current timestamp. **This action cannot be undone.** via PUT /users/me/access_tokens/{token_id}/revoked
Put Contentful behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.