Skip to content

Cobre

Cobre is an agent execution platform. You define an agent — a model, a prompt, a set of tools, a graph — and Cobre runs it: a worker fleet claims the run, executes the graph, records every step, and hands you back what it produced. It keeps the ledger of what that cost, the journal of what happened, and the console for looking at both.

There are two ways to arrive here, and they need different pages.

You have a backend, and you want it to submit runs and read the results.

  • Submit your first run — a credential, one POST, and three ways to collect the answer.
  • Authentication — which credential kind, which header, and what a role floor does and does not grant.
  • Conventions — pagination, idempotency, partial updates, optimistic concurrency. The rules that hold across every endpoint.
  • Streaming a run — server-sent events and WebSocket, the guarantees the protocol makes, and how to resume without duplicating output.
  • Errors — one envelope, a closed catalogue of codes, and the four cases worth handling specially.
  • SDKs — the Python and TypeScript clients, and how they are pinned.
  • API reference — every documented endpoint, generated from the contract.

You are working in Cobre itself — authoring agents, watching runs, reviewing what an agent wrote into memory. Start with the vocabulary; the screens make sense once the nouns do.

The API reference is generated from contracts/openapi.json — the frozen contract the server validates its own route table against when it boots. It is not written by hand and cannot be: an endpoint that appears in the reference is an endpoint that is mounted. A build fails if the two ever disagree.

The pages outside the reference are written by hand, and they describe behaviour rather than schemas. Where they name a specific status code, header or field, that value comes from the same contract.