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/v2Responses 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:
| Endpoint | Purpose |
|---|---|
GET /api/v2 | List the resources your key can access |
GET /api/v2/schema | OpenAPI 3.1 document scoped to your key |
GET /api/v2/commands/schema | Commands 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
| Method | Path | Description |
|---|---|---|
GET | / | Resource index for this key |
GET | /schema | Key-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/schema | List 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
- Authentication — create keys, grants, and origin rules.
- Resources & responses — how records, fields, and metadata are shaped.
- Writing data — create, update, and delete records.