Atlas CMS
API Reference

Management Endpoints

GET
/api/v1/manage/content-types

Full content types including field IDs, which GET /public/schema omits.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Query Parameters

page?integer

Page number

limit?integer

Limit results (default 10, max 100)

is_block?boolean

Filter to block types only

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/manage/content-types"
{  "message": "Success",  "meta": null,  "success": true,  "data": [    {      "created_at": "2026-01-15T10:30:00Z",      "description": "Articles published on the company blog.",      "display_field": "title",      "fields": [        {          "content_type_id": "0190f8a0-0000-7000-8000-000000000001",          "created_at": "2026-01-15T10:30:00Z",          "field_type": "text",          "filterable": true,          "id": "0190f8a1-0000-7000-8000-000000000010",          "is_unique": false,          "label": "Title",          "localizable": true,          "name": "title",          "options": "{}",          "required": true,          "sort_order": 0,          "sortable": true,          "updated_at": "2026-01-15T10:30:00Z",          "validation": "{}"        }      ],      "icon": "file-text",      "id": "0190f8a0-0000-7000-8000-000000000001",      "is_block": false,      "name": "Blog Post",      "orderable": true,      "slug": "blog-post",      "updated_at": "2026-01-15T10:30:00Z",      "workspace_id": "0190f89f-0000-7000-8000-000000000000"    }  ]}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
POST
/api/v1/manage/content-types

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/manage/content-types" \  -H "Content-Type: application/json" \  -d '{    "name": "Blog Post"  }'
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "created_at": "2026-01-15T10:30:00Z",    "description": "Articles published on the company blog.",    "display_field": "title",    "fields": [      {        "content_type_id": "0190f8a0-0000-7000-8000-000000000001",        "created_at": "2026-01-15T10:30:00Z",        "field_type": "text",        "filterable": true,        "id": "0190f8a1-0000-7000-8000-000000000010",        "is_unique": false,        "label": "Title",        "localizable": true,        "name": "title",        "options": "{}",        "required": true,        "sort_order": 0,        "sortable": true,        "updated_at": "2026-01-15T10:30:00Z",        "validation": "{}"      }    ],    "icon": "file-text",    "id": "0190f8a0-0000-7000-8000-000000000001",    "is_block": false,    "name": "Blog Post",    "orderable": true,    "slug": "blog-post",    "updated_at": "2026-01-15T10:30:00Z",    "workspace_id": "0190f89f-0000-7000-8000-000000000000"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
GET
/api/v1/manage/content-types/{slug}

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Content type slug

Response Body

application/json

application/json

curl -X GET "https://example.com/api/v1/manage/content-types/string"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "created_at": "2026-01-15T10:30:00Z",    "description": "Articles published on the company blog.",    "display_field": "title",    "fields": [      {        "content_type_id": "0190f8a0-0000-7000-8000-000000000001",        "created_at": "2026-01-15T10:30:00Z",        "field_type": "text",        "filterable": true,        "id": "0190f8a1-0000-7000-8000-000000000010",        "is_unique": false,        "label": "Title",        "localizable": true,        "name": "title",        "options": "{}",        "required": true,        "sort_order": 0,        "sortable": true,        "updated_at": "2026-01-15T10:30:00Z",        "validation": "{}"      }    ],    "icon": "file-text",    "id": "0190f8a0-0000-7000-8000-000000000001",    "is_block": false,    "name": "Blog Post",    "orderable": true,    "slug": "blog-post",    "updated_at": "2026-01-15T10:30:00Z",    "workspace_id": "0190f89f-0000-7000-8000-000000000000"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/content-types/{slug}

Accepts name, description, icon, display_field, and orderable only. is_block is not accepted here: flipping a type between content and page block can orphan existing page blocks, so it stays dashboard-only.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Content type slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/content-types/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "created_at": "2026-01-15T10:30:00Z",    "description": "Articles published on the company blog.",    "display_field": "title",    "fields": [      {        "content_type_id": "0190f8a0-0000-7000-8000-000000000001",        "created_at": "2026-01-15T10:30:00Z",        "field_type": "text",        "filterable": true,        "id": "0190f8a1-0000-7000-8000-000000000010",        "is_unique": false,        "label": "Title",        "localizable": true,        "name": "title",        "options": "{}",        "required": true,        "sort_order": 0,        "sortable": true,        "updated_at": "2026-01-15T10:30:00Z",        "validation": "{}"      }    ],    "icon": "file-text",    "id": "0190f8a0-0000-7000-8000-000000000001",    "is_block": false,    "name": "Blog Post",    "orderable": true,    "slug": "blog-post",    "updated_at": "2026-01-15T10:30:00Z",    "workspace_id": "0190f89f-0000-7000-8000-000000000000"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
DELETE
/api/v1/manage/content-types/{slug}

Returns 409 when the type holds any entry, so this only ever removes an empty type — in practice, undoing one that was just created by mistake. Deleting a populated type is dashboard-only.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Content type slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/api/v1/manage/content-types/string"
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
GET
/api/v1/manage/content-types/{slug}/block-usage

Read-only. Answers "used in N pages" before a caller suggests changing or removing a block type.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Content type slug

Response Body

application/json

application/json

curl -X GET "https://example.com/api/v1/manage/content-types/string/block-usage"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "count": 3,    "is_block": true,    "pages": [      {        "slug": "homepage",        "status": "draft"      }    ]  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
POST
/api/v1/manage/content-types/{slug}/entries

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/manage/content-types/string/entries" \  -H "Content-Type: application/json" \  -d '{    "data": {}  }'
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "content_type_id": "0190d1a1-0000-7000-8000-000000000002",    "created_at": "2024-01-01T00:00:00Z",    "created_by": 1,    "data": "{}",    "id": "0190d1a1-0000-7000-8000-000000000001",    "position": 0,    "publish_at": "2026-01-20T09:00:00Z",    "published_at": "2026-01-15T10:30:00Z",    "slug": "hello-world",    "status": "draft",    "translations": [      {        "created_at": "2024-01-01T00:00:00Z",        "data": "{}",        "entry_id": "0190d1a1-0000-7000-8000-000000000001",        "id": 1,        "locale": "en",        "updated_at": "2024-01-01T00:00:00Z"      }    ],    "updated_at": "2024-01-01T00:00:00Z",    "updated_by": 1,    "workspace_id": "0190d1a1-0000-7000-8000-000000000099"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/content-types/{slug}/entries/bulk

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/content-types/string/entries/bulk" \  -H "Content-Type: application/json" \  -d '{    "action": "publish",    "ids": [      "0190d1a1-0000-7000-8000-000000000001",      "0190d1a1-0000-7000-8000-000000000002"    ]  }'
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "failed": [      {        "id": "0190d1a1-0000-7000-8000-000000000001",        "reason": "entry cannot be published from status 'published'"      }    ],    "succeeded": [      {        "id": "0190d1a1-0000-7000-8000-000000000001",        "reason": "entry cannot be published from status 'published'"      }    ]  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
DELETE
/api/v1/manage/content-types/{slug}/entries/bulk

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X DELETE "https://example.com/api/v1/manage/content-types/string/entries/bulk" \  -H "Content-Type: application/json" \  -d '{    "ids": [      "0190d1a1-0000-7000-8000-000000000001",      "0190d1a1-0000-7000-8000-000000000002"    ]  }'
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "failed": [      {        "id": "0190d1a1-0000-7000-8000-000000000001",        "reason": "entry cannot be published from status 'published'"      }    ],    "succeeded": [      {        "id": "0190d1a1-0000-7000-8000-000000000001",        "reason": "entry cannot be published from status 'published'"      }    ]  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/content-types/{slug}/entries/reorder

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/content-types/string/entries/reorder" \  -H "Content-Type: application/json" \  -d '{    "order": [      "0190d1a1-0000-7000-8000-000000000002",      "0190d1a1-0000-7000-8000-000000000001"    ]  }'
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
DELETE
/api/v1/manage/content-types/{slug}/entries/{entry_slug}

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

entry_slug*string

EntrySlug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/api/v1/manage/content-types/string/entries/string"
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PUT
/api/v1/manage/content-types/{slug}/entries/{entry_slug}

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

entry_slug*string

EntrySlug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/api/v1/manage/content-types/string/entries/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "content_type_id": "0190d1a1-0000-7000-8000-000000000002",    "created_at": "2024-01-01T00:00:00Z",    "created_by": 1,    "data": "{}",    "id": "0190d1a1-0000-7000-8000-000000000001",    "position": 0,    "publish_at": "2026-01-20T09:00:00Z",    "published_at": "2026-01-15T10:30:00Z",    "slug": "hello-world",    "status": "draft",    "translations": [      {        "created_at": "2024-01-01T00:00:00Z",        "data": "{}",        "entry_id": "0190d1a1-0000-7000-8000-000000000001",        "id": 1,        "locale": "en",        "updated_at": "2024-01-01T00:00:00Z"      }    ],    "updated_at": "2024-01-01T00:00:00Z",    "updated_by": 1,    "workspace_id": "0190d1a1-0000-7000-8000-000000000099"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/content-types/{slug}/entries/{entry_slug}/archive

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

entry_slug*string

EntrySlug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/content-types/string/entries/string/archive"
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
POST
/api/v1/manage/content-types/{slug}/entries/{entry_slug}/duplicate

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

entry_slug*string

EntrySlug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/manage/content-types/string/entries/string/duplicate"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "content_type_id": "0190d1a1-0000-7000-8000-000000000002",    "created_at": "2024-01-01T00:00:00Z",    "created_by": 1,    "data": "{}",    "id": "0190d1a1-0000-7000-8000-000000000001",    "position": 0,    "publish_at": "2026-01-20T09:00:00Z",    "published_at": "2026-01-15T10:30:00Z",    "slug": "hello-world",    "status": "draft",    "translations": [      {        "created_at": "2024-01-01T00:00:00Z",        "data": "{}",        "entry_id": "0190d1a1-0000-7000-8000-000000000001",        "id": 1,        "locale": "en",        "updated_at": "2024-01-01T00:00:00Z"      }    ],    "updated_at": "2024-01-01T00:00:00Z",    "updated_by": 1,    "workspace_id": "0190d1a1-0000-7000-8000-000000000099"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/content-types/{slug}/entries/{entry_slug}/publish

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

entry_slug*string

EntrySlug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/content-types/string/entries/string/publish"
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/content-types/{slug}/entries/{entry_slug}/schedule

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

entry_slug*string

EntrySlug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/content-types/string/entries/string/schedule" \  -H "Content-Type: application/json" \  -d '{    "publish_at": "2026-01-20T09:00:00Z"  }'
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/content-types/{slug}/entries/{entry_slug}/unpublish

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Slug

entry_slug*string

EntrySlug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/content-types/string/entries/string/unpublish"
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
GET
/api/v1/manage/content-types/{slug}/fields

The field id values returned here are what PATCH .../fields/{fieldId} and .../fields/reorder take.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Content type slug

Response Body

application/json

application/json

curl -X GET "https://example.com/api/v1/manage/content-types/string/fields"
{  "message": "Success",  "meta": null,  "success": true,  "data": [    {      "content_type_id": "0190f8a0-0000-7000-8000-000000000001",      "created_at": "2026-01-15T10:30:00Z",      "field_type": "text",      "filterable": true,      "id": "0190f8a1-0000-7000-8000-000000000010",      "is_unique": false,      "label": "Title",      "localizable": true,      "name": "title",      "options": "{}",      "required": true,      "sort_order": 0,      "sortable": true,      "updated_at": "2026-01-15T10:30:00Z",      "validation": "{}"    }  ]}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
POST
/api/v1/manage/content-types/{slug}/fields

Adding a field is additive and reversible in practice: existing entries simply have no value for it yet. options and validation are JSON-encoded strings.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Content type slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/manage/content-types/string/fields" \  -H "Content-Type: application/json" \  -d '{    "field_type": "text",    "label": "Title",    "name": "title"  }'
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/content-types/{slug}/fields/reorder

order is the complete ordered list of field UUIDs, not a partial patch.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Content type slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/content-types/string/fields/reorder" \  -H "Content-Type: application/json" \  -d '{    "order": [      "[\\"0190d1a1-0000-7000-8000-000000000010\\"",      "\\"0190d1a1-0000-7000-8000-000000000011\\"]"    ]  }'
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/content-types/{slug}/fields/{fieldId}

Accepts label, filterable, and sortable only — none of which can touch a single entry's stored data. Renaming a field, changing its field_type, or toggling localizable/is_unique/required rewrites or invalidates existing entry data and is therefore dashboard-only; those keys are absent from the request shape rather than merely ignored. Use the impact endpoints to report such a change back to a human.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Content type slug

fieldId*string

Field UUID from GET /manage/content-types/{slug}/fields

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/content-types/string/fields/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
GET
/api/v1/manage/content-types/{slug}/fields/{fieldId}/deletion-impact

Read-only. Reports how many entries carry a value for the field. Deletion itself is dashboard-only.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Content type slug

fieldId*string

Field UUID

Response Body

application/json

application/json

curl -X GET "https://example.com/api/v1/manage/content-types/string/fields/string/deletion-impact"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "affected_entries": 8,    "field_name": "subtitle",    "field_type": "text"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
GET
/api/v1/manage/content-types/{slug}/fields/{fieldId}/localization-impact

Read-only. Reports how many entries hold per-locale data that toggling localizable off would drop. The toggle itself is dashboard-only; this endpoint is how a client explains the consequence instead of guessing.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Content type slug

fieldId*string

Field UUID

Response Body

application/json

application/json

curl -X GET "https://example.com/api/v1/manage/content-types/string/fields/string/localization-impact"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "affected_entries": 12,    "field_name": "title",    "locales": [      {        "count": 12,        "locale": "en"      }    ],    "localizable": true  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
POST
/api/v1/manage/media/upload

Upload a file to storage with metadata. Supports image, video, and PDF. Max 10MB.

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

X-Workspace-ID*string

Workspace ID

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/manage/media/upload" \  -H "X-Workspace-ID: string" \  -F file="string"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "alt_text": "A beautiful sunset",    "created_at": "2026-06-05T10:00:00Z",    "filename": "abc123-image.png",    "focal_x": 0.5,    "focal_y": 0.5,    "folder": "/blog/covers/",    "height": 1080,    "id": "019078e2-0000-7000-8000-000000000000",    "mime_type": "image/png",    "original_name": "photo.png",    "size": 1024000,    "updated_at": "2026-06-05T10:00:00Z",    "uploaded_by": 1,    "url": "https://cdn.atlas.io/media/2026/06/abc123-photo.png",    "width": 1920  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
DELETE
/api/v1/manage/media/{id}

Soft delete a media file and remove from S3 storage

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

id*string

Media ID

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

X-Workspace-ID*string

Workspace ID

Response Body

application/json

application/json

application/json

curl -X DELETE "https://example.com/api/v1/manage/media/string" \  -H "X-Workspace-ID: string"
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PUT
/api/v1/manage/media/{id}

Update alt_text and/or folder (move) of a media file

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

id*string

Media ID

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

X-Workspace-ID*string

Workspace ID

Request Body

application/json

Update fields

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PUT "https://example.com/api/v1/manage/media/string" \  -H "X-Workspace-ID: string" \  -H "Content-Type: application/json" \  -d '{}'
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "alt_text": "A beautiful sunset",    "created_at": "2026-06-05T10:00:00Z",    "filename": "abc123-image.png",    "focal_x": 0.5,    "focal_y": 0.5,    "folder": "/blog/covers/",    "height": 1080,    "id": "019078e2-0000-7000-8000-000000000000",    "mime_type": "image/png",    "original_name": "photo.png",    "size": 1024000,    "updated_at": "2026-06-05T10:00:00Z",    "uploaded_by": 1,    "url": "https://cdn.atlas.io/media/2026/06/abc123-photo.png",    "width": 1920  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
POST
/api/v1/manage/pages

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/manage/pages" \  -H "Content-Type: application/json" \  -d '{    "slug": "my-new-page"  }'
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "created_at": "2024-01-01T00:00:00Z",    "created_by": 1,    "id": "0190d1a1-0000-7000-8000-000000000001",    "position": 0,    "publish_at": "2026-01-20T09:00:00Z",    "published_at": "2026-01-15T10:30:00Z",    "seo": {      "canonical": "https://example.com/page",      "description": "Page description",      "keywords": [        "digital agency",        "web development"      ],      "og_image": "https://example.com/image.jpg",      "title": "Page Title"    },    "slug": "about-us",    "status": "draft",    "updated_at": "2024-01-01T00:00:00Z",    "updated_by": 1,    "workspace_id": "0190d1a1-0000-7000-8000-000000000099"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
DELETE
/api/v1/manage/pages/{slug}

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Page slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

application/json

curl -X DELETE "https://example.com/api/v1/manage/pages/string"
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PUT
/api/v1/manage/pages/{slug}

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Page slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X PUT "https://example.com/api/v1/manage/pages/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "created_at": "2024-01-01T00:00:00Z",    "created_by": 1,    "id": "0190d1a1-0000-7000-8000-000000000001",    "position": 0,    "publish_at": "2026-01-20T09:00:00Z",    "published_at": "2026-01-15T10:30:00Z",    "seo": {      "canonical": "https://example.com/page",      "description": "Page description",      "keywords": [        "digital agency",        "web development"      ],      "og_image": "https://example.com/image.jpg",      "title": "Page Title"    },    "slug": "about-us",    "status": "draft",    "updated_at": "2024-01-01T00:00:00Z",    "updated_by": 1,    "workspace_id": "0190d1a1-0000-7000-8000-000000000099"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/pages/{slug}/archive

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Page slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/pages/string/archive"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "created_at": "2024-01-01T00:00:00Z",    "created_by": 1,    "id": "0190d1a1-0000-7000-8000-000000000001",    "position": 0,    "publish_at": "2026-01-20T09:00:00Z",    "published_at": "2026-01-15T10:30:00Z",    "seo": {      "canonical": "https://example.com/page",      "description": "Page description",      "keywords": [        "digital agency",        "web development"      ],      "og_image": "https://example.com/image.jpg",      "title": "Page Title"    },    "slug": "about-us",    "status": "draft",    "updated_at": "2024-01-01T00:00:00Z",    "updated_by": 1,    "workspace_id": "0190d1a1-0000-7000-8000-000000000099"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/pages/{slug}/blocks/reorder

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Page slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Block order

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/pages/string/blocks/reorder" \  -H "Content-Type: application/json" \  -d '{    "order": [      "[\\"0190d1a1-0000-7000-8000-000000000001\\"",      "\\"0190d1a1-0000-7000-8000-000000000002\\"]"    ]  }'
{  "data": null,  "message": "Success",  "meta": null,  "success": true}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
POST
/api/v1/manage/pages/{slug}/duplicate

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Page slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

curl -X POST "https://example.com/api/v1/manage/pages/string/duplicate"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "created_at": "2024-01-01T00:00:00Z",    "created_by": 1,    "id": "0190d1a1-0000-7000-8000-000000000001",    "position": 0,    "publish_at": "2026-01-20T09:00:00Z",    "published_at": "2026-01-15T10:30:00Z",    "seo": {      "canonical": "https://example.com/page",      "description": "Page description",      "keywords": [        "digital agency",        "web development"      ],      "og_image": "https://example.com/image.jpg",      "title": "Page Title"    },    "slug": "about-us",    "status": "draft",    "updated_at": "2024-01-01T00:00:00Z",    "updated_by": 1,    "workspace_id": "0190d1a1-0000-7000-8000-000000000099"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/pages/{slug}/publish

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Page slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/pages/string/publish"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "created_at": "2024-01-01T00:00:00Z",    "created_by": 1,    "id": "0190d1a1-0000-7000-8000-000000000001",    "position": 0,    "publish_at": "2026-01-20T09:00:00Z",    "published_at": "2026-01-15T10:30:00Z",    "seo": {      "canonical": "https://example.com/page",      "description": "Page description",      "keywords": [        "digital agency",        "web development"      ],      "og_image": "https://example.com/image.jpg",      "title": "Page Title"    },    "slug": "about-us",    "status": "draft",    "updated_at": "2024-01-01T00:00:00Z",    "updated_by": 1,    "workspace_id": "0190d1a1-0000-7000-8000-000000000099"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/pages/{slug}/schedule

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Page slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Request Body

application/json

Schedule request

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/pages/string/schedule" \  -H "Content-Type: application/json" \  -d '{    "publish_at": "2026-01-01T00:00:00Z"  }'
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "created_at": "2024-01-01T00:00:00Z",    "created_by": 1,    "id": "0190d1a1-0000-7000-8000-000000000001",    "position": 0,    "publish_at": "2026-01-20T09:00:00Z",    "published_at": "2026-01-15T10:30:00Z",    "seo": {      "canonical": "https://example.com/page",      "description": "Page description",      "keywords": [        "digital agency",        "web development"      ],      "og_image": "https://example.com/image.jpg",      "title": "Page Title"    },    "slug": "about-us",    "status": "draft",    "updated_at": "2024-01-01T00:00:00Z",    "updated_by": 1,    "workspace_id": "0190d1a1-0000-7000-8000-000000000099"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
PATCH
/api/v1/manage/pages/{slug}/unpublish

Authorization

ManagementKey
X-API-Key<token>

Management API key (atlas_mgmt_ prefix) for write operations.

In: header

Path Parameters

slug*string

Page slug

Header Parameters

Idempotency-Key?string

Idempotency key for safe retries

Response Body

application/json

application/json

curl -X PATCH "https://example.com/api/v1/manage/pages/string/unpublish"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "created_at": "2024-01-01T00:00:00Z",    "created_by": 1,    "id": "0190d1a1-0000-7000-8000-000000000001",    "position": 0,    "publish_at": "2026-01-20T09:00:00Z",    "published_at": "2026-01-15T10:30:00Z",    "seo": {      "canonical": "https://example.com/page",      "description": "Page description",      "keywords": [        "digital agency",        "web development"      ],      "og_image": "https://example.com/image.jpg",      "title": "Page Title"    },    "slug": "about-us",    "status": "draft",    "updated_at": "2024-01-01T00:00:00Z",    "updated_by": 1,    "workspace_id": "0190d1a1-0000-7000-8000-000000000099"  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}