Getting started
Authenticate against the Pages API, scope a key to one project, and make your first call.
Base URL
https://api.chordian.aiAll public routes are versioned under /api/v1/.
Authenticate
Send a platform API key as x-api-key. Keys are minted in the console under
Settings → API Keys and are shown exactly once.
curl https://api.chordian.ai/api/v1/pages/ping \
-H "x-api-key: ck_live_..."{
"status": "ok",
"service": "pages-service",
"tenant_id": "t_acme",
"role": "super_admin"
}tenant_id is the tenant the gateway resolved from your key. Tenant
identity is never read from a request body or query parameter, so there is
nothing to spoof.
Scope a key to one project
A Pages key can be restricted to a single project. A scoped key cannot reach another project at all — not to read, write, search, or export. The request is rejected before it reaches the service, and the rejection names the axis that denied it:
{ "detail": { "error": "scope_denied", "axis": "spaces" } }This is enforcement, not convention: use a scoped key when handing credentials to a script, an agent, or a third party that should only ever see one project's documents.
A key that restricts projects is denied by default on any request that carries no project context. That is deliberate — an unscopeable request cannot be proven in-scope, so it fails closed rather than falling through to full access.
Roles
Pages permissions follow the platform's role model.
| Role | Read | Create / edit | Delete | Disable DLP |
|---|---|---|---|---|
| Super admin, Tenant admin | ✅ | ✅ | ✅ | ✅ |
| Admin | ✅ | ✅ | ✅ | ✅ |
| Developer | ✅ | ✅ | ❌ | ❌ |
| Analyzer | ✅ | ❌ | ❌ | ❌ |
If the interface offers an action your role lacks, the API still returns 403 —
the backend is always the authority.
Errors
Every response uses the platform error envelope:
{ "error_code": "…", "message": "…", "trace_id": "…" }Quote the trace_id when contacting support; it identifies the exact request
across every service that handled it.
Next
- Reference — every endpoint, with request and response schemas
- Memory API — page bodies, versions and assets