Atlas CMS
API Reference

Page

GET
/api/v1/public/pages

Returns a paginated list of published pages. Each page in the list includes its slug, SEO metadata, and a flat block array. Use locale to receive localized field values; falls back to the workspace default locale when no translation exists.

Authorization

ApiKeyAuth
X-API-Key<token>

API key from the Atlas dashboard (Settings → API Keys).

In: header

Query Parameters

workspace_id*string

Workspace ID

locale?string

Return field values for this locale (e.g. id, fr). Falls back to the workspace default locale when no translation exists.

page?integer

Page number (ignored when cursor is provided)

limit?integer

Results per page — default 10, max 100.

sort?string

Sort field and direction separated by a colon (e.g. created_at:desc, title:asc).

cursor?string

Opaque cursor from meta.next_cursor in a previous response. When provided, page is ignored.

Response Body

application/json

application/json

curl -X GET "https://example.com/api/v1/public/pages?workspace_id=string"
{  "message": "Success",  "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"    }  ],  "meta": {    "current_page": 1,    "locale_requested": "en",    "next_cursor": "",    "page_size": 10,    "total_data": 42,    "total_pages": 5  }}
{  "code": "VALIDATION_FAILED",  "data": null,  "errors": null,  "message": "Validation failed",  "meta": null,  "success": false,  "traceId": "req_a1b2c3d4"}
GET
/api/v1/public/pages/{slug}

Returns a single published page by slug, including the full block tree with nested children. Relation fields inside blocks are resolved one level deep. Use locale to receive localized field values; falls back to the workspace default locale when no translation exists for the requested locale.

Authorization

ApiKeyAuth
X-API-Key<token>

API key from the Atlas dashboard (Settings → API Keys).

In: header

Path Parameters

slug*string

Page slug

Query Parameters

workspace_id*string

Workspace ID

locale?string

Return field values for this locale (e.g. id, fr). Falls back to the workspace default locale when no translation exists.

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/public/pages/string?workspace_id=string"
{  "message": "Success",  "meta": null,  "success": true,  "data": {    "block_translations": [      {        "block_id": "0190d1a1-0000-7000-8000-000000000001",        "data": "{}",        "id": 1,        "locale": "en"      }    ],    "blocks": [      {        "block_type_id": "0190d1a1-0000-7000-8000-000000000003",        "children": [          {            "block_type_id": "0190d1a1-0000-7000-8000-000000000003",            "children": [],            "data": "{}",            "id": "0190d1a1-0000-7000-8000-000000000001",            "page_id": "0190d1a1-0000-7000-8000-000000000002",            "parent_id": "0190d1a1-0000-7000-8000-000000000004",            "position": 0,            "type": "hero"          }        ],        "data": "{}",        "id": "0190d1a1-0000-7000-8000-000000000001",        "page_id": "0190d1a1-0000-7000-8000-000000000002",        "parent_id": "0190d1a1-0000-7000-8000-000000000004",        "position": 0,        "type": "hero"      }    ],    "page": {      "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"    },    "seo_translations": [      {        "id": 1,        "locale": "en",        "page_id": "0190d1a1-0000-7000-8000-000000000001",        "seo": {          "canonical": "https://example.com/page",          "description": "Page description",          "keywords": [            "digital agency",            "web development"          ],          "og_image": "https://example.com/image.jpg",          "title": "Page Title"        }      }    ]  }}
{  "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"}