Skip to content

Reference

Contentful

Set up Contentful OAuth for headless CMS content management

Connect your users to Contentful for headless CMS content management, content delivery, and space administration.

PropertyValue
Provider IDcontentful
CategoryDeveloper Tools
PKCESupported
Token refreshAutomatic
Redirect URIShown in Developer Portal

Go to Contentful OAuth Applications

Navigate to Contentful account settings and go to OAuth applications.

Create a new application

Click New Application.

Configure the application

Enter the application name and description.

Add the redirect URI

Add the Redirect URI from the Developer Portal to the Redirect URI field.

Get credentials

Copy the Client ID and Client Secret.

Open the Developer Portal

Go to portal.alterauth.com and navigate to the application.

Add Contentful provider

Go to OAuth Providers > Add Provider > Contentful.

Enter credentials

  • Client ID: Paste your Contentful Client ID
  • Client Secret: Paste your Contentful Client Secret

Select scopes

Choose the scopes the application needs.

Save

Click Save. The provider is now active.

ScopeDescription
content_management_manageFull access to the Content Management API
content_management_readRead-only access to the Content Management API
  • The content_management_manage scope is included by default and provides full read/write access.
  • Use content_management_read if the application only needs to read content.
  • See the Contentful authentication documentation for more details.

Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.

Operation IDFamiliesMethodProvider path
cma/assets/publishsendPUT/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/published
cma/entries/publishsendPUT/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/published
cma/entries/deletedeleteDELETE/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}
cma/entries/unpublishdeleteDELETE/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}/published
cma/assets/createwritePOST/spaces/{space_id}/environments/{environment_id}/assets
cma/assets/processwritePUT/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}/files/{locale}/process
cma/entries/createwritePOST/spaces/{space_id}/environments/{environment_id}/entries
cma/entries/updatewritePUT/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}
cda/assets/getreadGET/spaces/{space_id}/environments/{environment_id}/assets/{asset_id}
cda/assets/listreadGET/spaces/{space_id}/environments/{environment_id}/assets
cda/content-types/listreadGET/spaces/{space_id}/environments/{environment_id}/content_types
cda/entries/getreadGET/spaces/{space_id}/environments/{environment_id}/entries/{entry_id}
cda/entries/listreadGET/spaces/{space_id}/environments/{environment_id}/entries
cda/locales/listreadGET/spaces/{space_id}/environments/{environment_id}/locales
cda/syncreadGET/spaces/{space_id}/environments/{environment_id}/sync
cma/spaces/getreadGET/spaces/{space_id}
cma/users/mereadGET/users/me

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.