Skip to content

REST API

Phillip Dornauer edited this page Apr 1, 2026 · 1 revision

REST API

Marble includes a headless JSON API for fetching content from external applications.

Base URL

/api/marble/

Authentication

Private blueprints require a Bearer token. Manage tokens under System → API Tokens.

Authorization: Bearer your-token-here

Blueprints with API Public enabled do not require a token.


Endpoints

List Items by Blueprint

GET /api/marble/items/{blueprint}
Parameter Default Description
language current Language code (e.g. de)
per_page 20 Items per page (max: 100)
status published published, draft, or all
parent_id Filter by parent item ID

Response:

{
  "data": [
    {
      "id": 12,
      "name": "Introducing Marble CMS 2.0",
      "blueprint": "blog_post",
      "status": "published",
      "parent_id": 7,
      "slug": "/blog/introducing-marble-cms-2-0",
      "url": "http://localhost:8080/blog/introducing-marble-cms-2-0",
      "created_at": "2025-01-15T10:30:00Z",
      "updated_at": "2025-01-16T14:22:00Z",
      "fields": {
        "summary": "A look at what's new in version 2.0.",
        "content": "<p>...</p>",
        "author": { "id": 8, "name": "Alice Schmidt", "fields": { ... } }
      }
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 2,
    "total": 8,
    "per_page": 20
  }
}

Get a Single Item

GET /api/marble/item/{id}
Parameter Description
language Language code

Returns a single item object.


Get Item Children

GET /api/marble/item/{id}/children
Parameter Default Description
language current Language code
status published published, draft, or all
per_page 20 Items per page

Resolve a URL Path

GET /api/marble/resolve?path=/about/team

Returns the item matching the path, or 404.


Field Serialization

Field Type API Response
textfield / textblock String
htmlblock HTML string
selectbox Selected key (or array if multiple)
checkbox true / false
date YYYY-MM-DD string
image Image URL string
images Array of image URLs
file { url, original_filename, size, mime_type }
files Array of file objects
object_relation Nested item object (shallow)
object_relation_list Array of nested item objects (shallow)
repeater Array of row objects
keyvalue_store { key: value, ... }

Error Responses

Status Meaning
401 Missing or invalid token
403 Token lacks required ability
404 Item or blueprint not found

Clone this wiki locally