---
title: REST API overview
description: The platform REST API grouped by tag — 26 groups, generated from the OpenAPI contract.
locale: en
version: 0.2.0
canonical: https://enterium-developer-docs.pages.dev/developers/api/
---

> Documentation index: https://enterium-developer-docs.pages.dev/developers/llms.txt — every page of this portal has a Markdown twin at <route>.md; the frozen API contract is at https://enterium-developer-docs.pages.dev/developers/api/openapi.json.

Reference generated from the checked-in contract. The frozen machine-readable spec for this build is at [openapi.json](/developers/api/openapi.json); the interactive explorer lives at [https://entherium.duckdns.org:8443/reference](https://entherium.duckdns.org:8443/reference).

## Calling the API

- **Base URL:** `https://entherium.duckdns.org:8443`; every path below is relative to it.
- **Auth:** all data endpoints need `Authorization: Bearer <token>`. Humans log in with the OAuth2 password flow (`POST /api/v1/auth/login`); agents use a scoped agent token issued by the platform owner — see [Authentication](../guides/authentication/). Without a token only these answer: `/healthz`, `/status.json`, `/api/status.json`, `/api/` (the machine map), `/openapi.json`, `/reference`, `/redoc`, `/llms.txt`, `/mcp-info`, the docs MCP at `/mcp/docs/` and this portal.
- **Errors:** JSON `{"detail": "<human-readable>"}`; some endpoints add a machine `code`. Full list: [Errors reference](../reference/errors/).
- **Retries:** the task and ticket intake endpoints honour an `Idempotency-Key` header (UUID); see [Limits](../reference/limits/#idempotency).
- **Groups vs domains:** this reference groups operations by contract tag; the MCP discovery map (`list_domains`, `GET /api/`) names 28 capability domains — a different axis (a domain may span several tags or have no public operation), so the counts differ on purpose.

| Group | Operations |
| --- | --- |
| [agent](./agent/) | 2 |
| [analytics](./analytics/) | 4 |
| [architecture](./architecture/) | 2 |
| [auth](./auth/) | 6 |
| [chat](./chat/) | 1 |
| [cloudflare](./cloudflare/) | 6 |
| [cockpit](./cockpit/) | 4 |
| [comments](./comments/) | 5 |
| [cycles](./cycles/) | 4 |
| [docs](./docs/) | 3 |
| [entities](./entities/) | 12 |
| [errors](./errors/) | 1 |
| [health](./health/) | 3 |
| [instances](./instances/) | 8 |
| [integrations](./integrations/) | 3 |
| [lifecycles](./lifecycles/) | 6 |
| [localizations](./localizations/) | 1 |
| [metamodel](./metamodel/) | 2 |
| [metering](./metering/) | 4 |
| [ops](./ops/) | 3 |
| [publish](./publish/) | 3 |
| [runs](./runs/) | 17 |
| [specs](./specs/) | 6 |
| [sse](./sse/) | 6 |
| [tasks](./tasks/) | 5 |
| [tickets](./tickets/) | 3 |
