Atrium
platform docsOverview

Atrium platform docs

Atrium platform documentation

The manifest, CLI, OAuth, deployment, and AgentCase contracts for Atrium agents.

Updated 2026-08-30

What this is

Atrium hosts independently deployable AI agents. An agent is defined by one atrium.yaml manifest, one or more services, and a small runtime contract that lets the marketplace host show active work without owning each agent's internal UI.

The platform has four boundaries:

  1. The developer-owned manifest describes desired state.
  2. The control-plane API validates that manifest and stores resolved state.
  3. The CLI reads and writes the same control plane that the future dashboard will use.
  4. Each deployed agent owns its own rich UI and exposes a small AgentCase API for the host.

Start here

  • Quickstart covers the first login, scaffold, validate, dev, and deploy flow.
  • Manifest schema is the field reference for atrium.yaml.
  • CLI auth documents device-code login and the auth app activation surface.
  • AgentCase contract explains how the marketplace renders open work across agents.
  • Control-plane API lists the current API endpoints used by the CLI.

Current platform state

The Rust CLI exists in cli/ and currently implements login, logout, init, validate, dev, deploy, status, env, logs, sync, and rename.

The backend exposes OAuth device-code endpoints under /v0/oauth/..., with root /oauth/... aliases kept for compatibility. Platform control-plane endpoints live under both /v0/... and /v0/platform/.... The route compatibility is intentional: current CLI defaults can call https://api.atrium.st/v0/agents/..., while clients that want the explicit namespace can call https://api.atrium.st/v0/platform/agents/....

The auth app owns the browser login and approval surface for CLI device codes. Production CLI defaults should use:

https://api.atrium.st/v0/oauth/device/code
https://api.atrium.st/v0/oauth/token

The host app proxies agent case reads and writes from /api/agent-cases to the agent's own subdomain so browsers never need cross-subdomain CORS access to https://{slug}.atrium.st/api/cases.

The short version

You own names, descriptions, service paths, build commands, allowed build environment values, and scaling requests. Atrium owns platform endpoints, database credentials, Cloud Run service identity, regions, and resolved status.

If a platform-owned field appears in atrium.yaml, validation fails. It is not silently ignored.