Contents
APIs for managing content entries. Create, read, update, and delete content; publish/unpublish; duplicate; and manage localized versions.
Get Contents GET
Retrieves a paginated list of content entries for the specified model. Supports filtering, sorting, and locale selection.
GET /{project}/contents/{type}Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | Yes | - |
project | string | Yes | - |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
filter | string | No | Querystring parameters in the form of ?filter[field][operator]=values&filter[field][operator]=values |
search | string | No | - |
locale | string | No | - |
resolve | string | No | Accept: media, mediagallery, references |
status | string | No | - |
page | integer | No | - |
size | integer | No | - |
sort | string | No | - |
Response (200 OK)
{
"data": [
{
"id": "string",
"modelKey": "string",
"locale": "string",
"createdAt": "2024-01-15T12:00:00Z",
"createdBy": "string",
"modifiedAt": "2024-01-15T12:00:00Z",
"modifiedBy": "string",
"hash": "string",
"status": "unpublished",
"attributes": {
"key": "value"
},
"locales": []
}
],
"metadata": {
"currentPage": 0,
"pageSize": 0,
"hasPreviousPage": true,
"hasNextPage": true,
"totalPages": 0,
"count": 0
}
}cURL Example
curl -X GET "https://my-project.atlascms.io/{project}/contents/posts" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json"Create Content POST
Creates a new content entry in the specified model. Requires locale and attributes matching the model schema.
POST /{project}/contents/{type}Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | Yes | - |
project | string | Yes | - |
Request Body
{
"locale": "string",
"attributes": {
"key": "value"
}
}Response (200 OK)
{
"result": "string"
}cURL Example
curl -X POST "https://my-project.atlascms.io/{project}/contents/posts" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"locale":"string","attributes":{"key":"value"}}'Get Single Content GET
Retrieves the single content entry for models configured with "single collection" (e.g. settings, config).
GET /{project}/contents/{type}/singlePath Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | Yes | - |
project | string | Yes | - |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
locale | string | No | - |
resolve | string | No | Accept: media, mediagallery, references |
status | string | No | - |
page | integer | No | - |
size | integer | No | - |
sort | string | No | - |
Response (200 OK)
{
"id": "string",
"modelKey": "string",
"locale": "string",
"createdAt": "2024-01-15T12:00:00Z",
"createdBy": "string",
"modifiedAt": "2024-01-15T12:00:00Z",
"modifiedBy": "string",
"hash": "string",
"status": "unpublished",
"attributes": {
"key": "value"
},
"locales": [
{
"locale": "string",
"id": "string"
}
]
}cURL Example
curl -X GET "https://my-project.atlascms.io/{project}/contents/posts/single" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json"Count Contents GET
Returns the total count of content entries matching the filter criteria, useful for pagination.
GET /{project}/contents/{type}/countPath Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | Yes | - |
project | string | Yes | - |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
filter | string | No | Querystring parameters in the form of ?filter[field][operator]=values&filter[field][operator]=values |
search | string | No | - |
locale | string | No | - |
status | string | No | - |
Response (200 OK)
{
"result": 0
}cURL Example
curl -X GET "https://my-project.atlascms.io/{project}/contents/posts/count" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json"Get Content GET
Retrieves a single content entry by ID. Supports resolving media and relations to full objects.
GET /{project}/contents/{type}/{id}Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | Yes | - |
id | string | Yes | - |
project | string | Yes | - |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
resolve | string | No | Accept: media, mediagallery, references |
Response (200 OK)
{
"id": "string",
"modelKey": "string",
"locale": "string",
"createdAt": "2024-01-15T12:00:00Z",
"createdBy": "string",
"modifiedAt": "2024-01-15T12:00:00Z",
"modifiedBy": "string",
"hash": "string",
"status": "unpublished",
"attributes": {
"key": "value"
},
"locales": [
{
"locale": "string",
"id": "string"
}
]
}cURL Example
curl -X GET "https://my-project.atlascms.io/{project}/contents/posts/item-id" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json"Update Content PUT
Updates an existing content entry. Acts as a patch for attributes—only provided fields are updated.
PUT /{project}/contents/{type}/{id}Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | - |
type | string | Yes | - |
project | string | Yes | - |
Request Body
{
"attributes": {
"key": "value"
}
}cURL Example
curl -X PUT "https://my-project.atlascms.io/{project}/contents/posts/item-id" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"attributes":{"key":"value"}}'Delete Content DELETE
Permanently deletes a content entry by ID.
DELETE /{project}/contents/{type}/{id}Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | - |
type | string | Yes | - |
project | string | Yes | - |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
locales | boolean | No | - |
cURL Example
curl -X DELETE "https://my-project.atlascms.io/{project}/contents/posts/item-id" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json"Change the status of a content POST
Publishes or unpublishes a content entry. Available when the model has stage mode enabled.
POST /{project}/contents/{type}/{id}/statusPath Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | - |
type | string | Yes | - |
project | string | Yes | - |
Request Body
{
"status": "unpublished"
}cURL Example
curl -X POST "https://my-project.atlascms.io/{project}/contents/posts/item-id/status" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"status":"unpublished"}'Create Localized version of content POST
Creates a new localized version of a content entry for a specified locale.
POST /{project}/contents/{type}/{id}/create-translationPath Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | - |
type | string | Yes | - |
project | string | Yes | - |
Request Body
{
"locale": "string"
}Response (200 OK)
{
"result": "string"
}cURL Example
curl -X POST "https://my-project.atlascms.io/{project}/contents/posts/item-id/create-translation" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"locale":"string"}'Duplicate Content POST
Creates a copy of an existing content entry, optionally including all localized versions.
POST /{project}/contents/{type}/{id}/duplicatePath Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | - |
type | string | Yes | - |
project | string | Yes | - |
Request Body
{
"locales": true
}Response (200 OK)
{
"key": "value"
}cURL Example
curl -X POST "https://my-project.atlascms.io/{project}/contents/posts/item-id/duplicate" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"locales":true}'Delete All Contents DELETE
Deletes all content entries in the specified model. Use with caution.
DELETE /{project}/contents/{type}/clearPath Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | Yes | - |
project | string | Yes | - |
cURL Example
curl -X DELETE "https://my-project.atlascms.io/{project}/contents/posts/clear" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json"