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/v1Responses 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/v1 | List the resources your key can access |
GET /api/v1/schema | OpenAPI 3.1 document scoped to your key |
GET /api/v1/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/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
| 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/{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/schema | List granted commands |
POST | /commands/{command} | Execute a command |
Write routes work the same for CMS resources under the /cms/ prefix.
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.