Documentation menu
API reference

HTTP API

The standalone server exposes one authenticated versioned protocol for metadata, transactions and objects.

On this page

Transport and authentication

All endpoints use the /api/v1 prefix. Non-loopback listeners require TLS 1.3. Trusted clients send Authorization: Bearer <owner credential>. Studio creates an HttpOnly session on the server origin. State-changing session requests follow the server’s origin and CSRF checks.

GET /status and GET /session report connection state. Database access requires authentication; locked storage must be unlocked through the configured authority. Custom users, assignable roles and API permission presets are still delivery work.

JSON envelopes

This is the envelope shape, not a request to execute. Unknown fields, duplicate JSON keys, trailing data and excessive structure are rejected. Binary object responses use their own content type and range headers.

json
{ "ok": true, "data": { "revision": "1", "results": [], "replayed": false } }

{ "ok": false, "error": {
  "code": "precondition_failed",
  "message": "The transaction precondition failed.",
  "retryable": false
} }

Download complete JSON Schema

Endpoint inventory

MethodPathPurpose
GET/statusActual mode, lock state and capabilities
GET / POST / DELETE/sessionInspect, create or revoke the caller session
POST/unlockNative {password} or external {} recovery
POST/lockDrain admitted operations and lock storage
GET/databaseInstance identity, snapshot counts, storage, limits and workers
GET/collectionsCollection and index inventory
POST/executeAtomic operations and receipt replay
GET / POST/uploadsInventory or idempotent upload initiation
GET / DELETE/uploads/:idProgress or abort unpublished upload
PUT/uploads/:id/parts/:indexUpload exact binary part bytes
GET/objectsImmutable object inventory
GET / HEAD/objects/:idStream download or metadata; one byte range

Request and result schemas

The reference below is generated from qirava-contracts and qirava-engine. Structural schema validation complements runtime authorization, resource admission and domain validation. Required fields come directly from the generated schemas.

Browse transaction operations →

Browse all request/result types →

Handle failures by outcome

Treat outcome_unknown and interrupted write responses as unresolved intent. Recover and retry the exact original request, without changing its ID or operations. Do not infer that an error means no write occurred. A precondition or schema rejection is a definitive rejection; an unavailable storage authority never selects another custody mode.