Docs

Getting started

What the Einblick Public API is, how it is structured, and how to make your first request.

The Einblick Public API is an HTTPS interface for reading and writing the data in your workspace: CMS collections you have published, and native resources such as buildings, events, festivals, jobs, and products. It also exposes specialized commands (for example job applications and newsletter signups) and stable asset URLs for files referenced from your content.

Base URL

All endpoints live under a single versioned base URL:

https://actions.einblick.xyz/api/v2

Responses use the JSON:API format with the application/vnd.api+json content type.

Everything is scoped to your API key

There is no global schema. Which resources, fields, filters, and write actions you can use depends entirely on the grants configured for your API key. Two keys in the same workspace can see completely different APIs.

Because of this, the API is self-describing:

EndpointPurpose
GET /api/v2List the resources your key can access
GET /api/v2/schemaOpenAPI 3.1 document scoped to your key
GET /api/v2/commands/schemaCommands granted to your credential

The interactive reference renders that key-scoped OpenAPI document in the browser, including a request client.

Your first request

Create an API key in System settings → Integrations → Public API inside the Einblick app, then list the resources it can access:

curl https://actions.einblick.xyz/api/v2 \
  -H "Authorization: Bearer api_YOUR_KEY"
{
  "jsonapi": { "version": "1.1" },
  "links": { "self": "https://actions.einblick.xyz/api/v2" },
  "data": [
    {
      "type": "resources",
      "id": "native:events",
      "attributes": {
        "name": "Events",
        "slug": "events",
        "mode": "collection",
        "sourceType": "native"
      }
    },
    {
      "type": "resources",
      "id": "cms:acme/team-members",
      "attributes": {
        "name": "Team members",
        "slug": "team-members",
        "mode": "collection",
        "sourceType": "cms",
        "website": "acme"
      }
    }
  ]
}

Then fetch records from one of the listed resources:

curl "https://actions.einblick.xyz/api/v2/events?limit=10" \
  -H "Authorization: Bearer api_YOUR_KEY"

Endpoint map

MethodPathDescription
GET/Resource index for this key
GET/schemaKey-scoped OpenAPI 3.1 schema (also /openapi, /openapi.json)
GET/{resource}List a native collection (or fetch a singleton)
GET/{resource}/{record}Fetch one native record
GET/cms/{website}/{collection}List a website's CMS collection (or fetch its singleton)
GET/cms/{website}/{collection}/{record}Fetch one CMS record
POST/{resource}Create a native record
PATCH/{resource}/{record}Update a native record
DELETE/{resource}/{record}Delete or archive a native record
GET/assets/{token}/{fileName}Fetch an asset (supports image transforms)
GET/commands/schemaList granted commands
POST/commands/{command}Execute a command

CMS write routes use the same methods under /cms/{website}/{collection}. The resource index returns website for each CMS resource; native resources stay directly under the API base URL.

Next steps