> 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/developers/docs/_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.