Getting started

Authenticate against the Pages API, scope a key to one project, and make your first call.

Base URL

https://api.chordian.ai

All 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.

RoleReadCreate / editDeleteDisable 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
Was this page helpful?
Report an issue

On this page