> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://contentful.com/developers/docs/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/_mcp/server. # Create a resource provider PUT https://api.contentful.com/organizations/{organization_id}/app_definitions/{app_definition_id}/resource_provider Content-Type: application/vnd.contentful.management.v1+json Creates 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. Reference: https://contentful.com/developers/docs/references/content-management-api/native-external-references/create-a-resource-provider ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. ## Request ### Path parameters - `organization_id` (string, required) — The ID of the organization - `app_definition_id` (string, required) — The ID of the app definition ### Body (application/vnd.contentful.management.v1+json) This endpoint expects a map from string to any. - `map from string to any` ## Response ### 200 OK - Request successful - `map from string to any` ## Examples **Request** ```json { "function": { "sys": { "id": "tmdbFunction", "linkType": "Function", "type": "Link" } }, "sys": { "id": "TMDB" }, "type": "function" } ``` **Response** ```json { "function": { "sys": { "id": "tmdbFunction", "linkType": "Function", "type": "Link" } }, "sys": { "appDefinition": { "sys": { "id": "99SummRPRBowauM8T5Ljb34", "linkType": "AppDefinition", "type": "Link" } }, "createdAt": "2025-07-12T13:17:44.000Z", "createdBy": { "sys": { "id": "7BslKh9TdKGOK41VmLDjFZ", "linkType": "User", "type": "Link" } }, "id": "TMDB", "organization": { "sys": { "id": "0D9ZC8rLWiw6x5qizZGiRs", "linkType": "Organization", "type": "Link" } }, "type": "ResourceProvider", "updatedAt": "2025-07-12T13:17:44.000Z", "updatedBy": { "sys": { "id": "4FLrUHftHW3v2BLi9fzfjU", "linkType": "User", "type": "Link" } } }, "type": "function" } ``` **SDK Code** ```android Android SDK currently doesn't implement this endpoint. ``` ```java Java SDK currently doesn't implement this endpoint. ``` ```kotlin Kotlin SDK currently doesn't implement this endpoint. ``` ```swift Swift We currently don't provide a CMA SDK for this platform. ``` ```js-legacy JavaScript (legacy) import { createClient } from 'contentful-management' const client = createClient({ accessToken: '' }, { type: 'legacy' }) client.getOrganization('') .then((organization) => organization.getAppDefinition('')) .then((appDefinition) => appDefinition.upsertResourceProvider({ sys: { id: 'TMDB', }, type: 'function', function: { sys: { id: 'tmdbFunction', type: 'Link', linkType: 'Function', }, } })) .then((resourceProvider) => console.log(resourceProvider)) .catch(console.error); ``` ```javascript JavaScript import { createClient } from 'contentful-management' // Client init const client = contentful.createClient({ accessToken: '' }) const resourceProvider = await client.resourceProvider.upsert( { organizationId: '', appDefinitionId: '', }, { sys: { id: 'TMDB', }, type: 'function', function: { sys: { id: 'tmdbFunction', type: 'Link', linkType: 'Function', }, }, } ); ``` ```php PHP SDK currently doesn't implement this endpoint. ``` ```ruby Ruby SDK currently doesn't implement this endpoint. ``` ```python Python SDK currently doesn't implement this endpoint. ``` ```.net .NET SDK currently doesn't implement this endpoint. ```