> 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. Enables users to create actions that will perform asynchronously on a batch of entities on the environment level. Entity types that are currently supported: * Asset * Entry ##### Currently supported actions: | Action | Description | | ----------------------- | ------------------------------------------ | | Get a bulk action | Get the status of created bulk action | | Publish bulk entities | Publish bulk content items | | Unpublish bulk entities | Unpublish bulk content items | | Validate bulk entities | Validate for publishing bulk content items | #### Availability Bulk actions are globally available for all customers. #### Notifications Since the execution of batch actions occur asynchronously, the status of the action can be checked by retrieving the batch action by the id in the response. ### Limitations Currently there are following limitations regarding bulk actions feature: * Max active bulk actions per space is limited to 5. * Max of 200 items per bulk action. #### Bulk action schema The bulk action has 4 top level properties as described below: | Field | Type | Required | Description | | ------- | ------ | -------- | -------------------------------------------------------------------------------- | | action | String | true | Action to be executed, e.g. `publish` | | payload | Object | true | Payload, an object with the collection of entities provided for action creation. | | sys | Object | true | System resource properties | | error | Object | false | Error emitted during bulk action execution | System property indicating the status of the bulk action is located inside the root `sys` property. The status of the bulk action could be one of following: * created: bulk action is created, but not acted on * inProgress: the action has been started * succeeded: the action has successfully completed * failed: the action execution failed ## Bulk action [Get a bulk action](/references/content-management-api/bulk-actions/get-a-bulk-action) Use this method to fetch the bulk action by id. #### Permissions Any user with read access to the supported entities can fetch a given Bulk Action. #### Retention Bulk action records are retained for 7 days. #### Errors * 404 Error is returned in case: * The bulk action is not found * The space is not found * The current user is not allowed to see the bulk action ## Publish bulk action [Publish a bulk action](/references/content-management-api/bulk-actions/publish-a-bulk-action) Use this method to publish the content linked in the payload. #### Permissions User can publish only existing content on which they have publish permissions. #### Errors * 400 Error is returned in case: * One or more items do not exist or are inaccessible * Provided version is incorrect * 404 Error is returned in case: * The space is not found * 422 Error is returned in case: * Validation failed * Entity collection exceeds limit * Duplicated items were found in the payload * Version is not specified * 429 Error is returned in case: * The rate limit is exceeded due to number of active bulk actions ## Unpublish bulk action [Unpublish a bulk action](/references/content-management-api/bulk-actions/unpublish-a-bulk-action) Use this method to unpublish the content linked in the payload. #### Permissions User can only unpublish existing content on which they have unpublish permissions. #### Errors * 400 Error is returned in case: * Provided entity does not exists * 404 Error is returned in case: * The space is not found * 422 Error is returned in case: * Validation failed * Entity collection exceeds limit * Duplicate entities in the payload * 429 Error is returned in case: * The rate limit is exceeded due to the number of active bulk actions ## Validate bulk action [Validate a bulk action](/references/content-management-api/bulk-actions/validate-a-bulk-action) Use this method to validate entities before publishing. #### Permissions User can only validate existing entities with publish permissions. #### Errors * 400 Error is returned in case: * Provided entity does not exist * 404 Error is returned in case: * The space is not found * 422 Error is returned in case: * Validation failed * Entity collection exceeds limit * Duplicate entities in the payload * 429 Error is returned in case: * The rate limit is exceeded due to the number of active bulk actions ## Locale-based bulk actions > **Info** > > This feature is only available on the [Premium/Enterprise pricing plans](https://www.contentful.com/pricing/). [Create a locale-based bulk action](/references/content-management-api/bulk-actions/create-a-locale-based-bulk-action) This endpoint shows examples for publish, unpublish, and validate bulk actions. ## API Docs - Bulk Actions [Get a bulk action](https://contentful.com/developers/docs/references/content-management-api/bulk-actions/get-a-bulk-action.md) - Bulk Actions [Publish a bulk action](https://contentful.com/developers/docs/references/content-management-api/bulk-actions/publish-a-bulk-action.md) - Bulk Actions [Unpublish a bulk action](https://contentful.com/developers/docs/references/content-management-api/bulk-actions/unpublish-a-bulk-action.md) - Bulk Actions [Validate a bulk action](https://contentful.com/developers/docs/references/content-management-api/bulk-actions/validate-a-bulk-action.md) - Bulk Actions [Create a locale-based bulk action](https://contentful.com/developers/docs/references/content-management-api/bulk-actions/create-a-locale-based-bulk-action.md) ## OpenAPI Specification The raw OpenAPI 3.1 specification for this API is available at: - [OpenAPI JSON](https://contentful.com/developers/docs/openapi.json) - [OpenAPI YAML](https://contentful.com/developers/docs/openapi.yaml)