> 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. # Activate a content type PUT https://api.contentful.com/spaces/{space_id}/environments/{environment_id}/content_types/{content_type_id}/published Reference: https://contentful.com/developers/docs/references/content-management-api/content-types/activate-a-content-type ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. ## Request ### Path parameters - `space_id` (string, required) — ID of the space in form of a string - `environment_id` (string, required) — ID of the environment in form of a string - `content_type_id` (string, required) — ID of the content type in form of a string ### Headers - `X-Contentful-Version` (string, optional) — Version of the content type to activate ## Response ### 200 OK - Request successful - `map from string to any` ## Examples **Response** ```json { "fields": [ { "id": "title", "localized": true, "name": "Title", "required": true, "type": "Text" }, { "id": "body", "localized": true, "name": "Body", "required": true, "type": "Text" } ], "name": "Blog Post", "sys": { "firstPublishedAt": "2025-04-08T16:20:45.000Z", "publishedAt": "2025-04-08T16:20:45.000Z", "publishedBy": { "sys": { "id": "4FLrUHftHW3v2BLi9fzfjU", "linkType": "User", "type": "Link" } }, "publishedCounter": 2, "publishedVersion": 9 } } ``` **SDK Code** ```android Android // Create the Contentful client. final CMAClient client = new CMAClient .Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build(); // To activate a content type, you need to publish it. // But first, fetch it from Contentful. client .contentTypes() .async() .fetchOne( "", new CMACallback() { @Override protected void onSuccess(CMAContentType contentType) { // Now publish it to activate it. client .contentTypes() .async() .publish( contentType, new CMACallback() { @Override protected void onSuccess(CMAContentType result) { // Successfully activated, aka published a content type. new AlertDialog.Builder(context) .setTitle("Contentful") .setMessage("Activating a content type was successful." + "\n\nResult: " + result) .show(); } @Override protected void onFailure(RuntimeException exception) { // An error occurred! Inform the user. new AlertDialog.Builder(context) .setTitle("Contentful Error") .setMessage("Could not activate a content type." + "\n\nReason: " + exception.toString()) .show(); super.onFailure(exception); } } ); } @Override protected void onFailure(RuntimeException exception) { // An error occurred! Inform the user. new AlertDialog.Builder(context) .setTitle("Contentful Error") .setMessage("Could not fetch a content type." + "\n\nReason: " + exception.toString()) .show(); super.onFailure(exception); } } ); ``` ```java Java // Create the Contentful client. final CMAClient client = new CMAClient .Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build(); // To activate a content type, you need to publish it. // But first, fetch it from Contentful. final CMAContentType contentType = client .contentTypes() .fetchOne(""); // Now publish it to activate it. final CMAContentType published = client .contentTypes() .publish(contentType); ``` ```kotlin Kotlin // Create the Contentful client. val client = CMAClient.Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build() // To activate a content type, you need to publish it. // But first, fetch it from Contentful. val contentType = client .contentTypes() .fetchOne("") // Now publish it to activate it. val published = client .contentTypes() .publish(contentType) ``` ```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.getSpace('') .then((space) => space.getEnvironment('')) .then((environment) => environment.getContentType('')) .then((contentType) => contentType.publish()) .then((contentType) => console.log(`Content type ${contentType.sys.id} activated.`)) .catch(console.error) ``` ```javascript JavaScript import { createClient } from 'contentful-management' // Client init const client = createClient({ accessToken: '' }) await client.contentType.publish( { spaceId: '', environmentId: '', contentTypeId: '', }, { sys: { version: '', } } ); ``` ```php PHP $client = new \Contentful\Management\Client(''); $environment = $client->getEnvironmentProxy('', ''); $contentType = $environment->getContentType(''); $contentType->publish(); ``` ```ruby Ruby require 'contentful/management' client = Contentful::Management::Client.new('') content_type = client.content_types('', '').find('') content_type.publish ``` ```python Python from contentful_management import Client client = Client('') content_type = client.content_types('', '').find('') content_type.publish() ``` ```.net .NET // This client should only be created once per application. var httpClient = new HttpClient(); var client = new ContentfulManagementClient(httpClient, "", ""); var version = 7; var contentType = await client.ActivateContentType("", version); ```