REST API
Everything the CLI does is a plain REST call, and inference is OpenAI-compatible. Base URL: https://lorivo.dev (local development: http://localhost:3000).
Authentication
Management endpoints accept two kinds of bearer keys, plus your signed-in browser session. Inference accepts org keys only.
| Credential | Header | Scope |
|---|---|---|
| Admin key | Authorization: Bearer <admin-key> | Full platform access: every org, adapter, key, and node |
| Org key | Authorization: Bearer ad_… | The key's own org only |
| Web session | Cookie: session=… | Same as an org key, for the signed-in user's org |
Org keys are the same keys used for inference. One ad_… key covers both /v1/* and /api/*. Org-scoped resources you do not own respond 404 (they look like they do not exist).
Request and response conventions
- JSON in, JSON out, except uploads (multipart) and streaming inference (SSE).
- Errors are
{ "error": "<message>" }with an appropriate status code. - Keys are hashed at rest and their plaintext is returned exactly once, at creation.
Endpoints
Inference (org key)
| Method | Path |
|---|---|
| GET | /v1/models |
| POST | /v1/chat/completions |
| POST | /v1/completions |
| POST | /v1/responses |
Management (admin key, org key, or session)
| Method | Path |
|---|---|
| GET | /api/health |
| GET | /api/me |
| GETPOST | /api/auth/keys |
| GETPOST | /api/adapters |
| GETDELETE | /api/adapters/:id |
| POST | /api/adapters/:id/versions |
| POST | /api/adapters/:id/deploy |
| POST | /api/adapters/:id/rollback |
Admin only
| Method | Path |
|---|---|
| GETPOST | /api/orgs |
| DELETE | /api/orgs/:id |
| GETPOST | /api/nodes |
Details: Inference · Adapters & versions · API keys · Platform