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/v1

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/v1List the resources your key can access
GET /api/v1/schemaOpenAPI 3.1 document scoped to your key
GET /api/v1/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/v1 \
  -H "Authorization: Bearer api_YOUR_KEY"
{
  "jsonapi": { "version": "1.1" },
  "links": { "self": "https://actions.einblick.xyz/api/v1" },
  "data": [
    {
      "type": "resources",
      "id": "native:events",
      "attributes": {
        "name": "Events",
        "slug": "events",
        "mode": "collection",
        "sourceType": "native"
      }
    },
    {
      "type": "resources",
      "id": "cms:team-members",
      "attributes": {
        "name": "Team members",
        "slug": "team-members",
        "mode": "collection",
        "sourceType": "cms"
      }
    }
  ]
}

Then fetch records from one of the listed resources:

curl "https://actions.einblick.xyz/api/v1/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/{collection}List a CMS collection (or fetch a singleton)
GET/cms/{collection}/{record}Fetch one CMS record
POST/{resource}Create a record
PATCH/{resource}/{record}Update a record
DELETE/{resource}/{record}Delete or archive a record
GET/assets/{token}/{fileName}Fetch an asset (supports image transforms)
GET/commands/schemaList granted commands
POST/commands/{command}Execute a command

Write routes work the same for CMS resources under the /cms/ prefix.

Next steps