Skip to content

Outpost v1 HTTP API — protocol index

The full wire contract for the Outpost service-to-service HTTP API lives in PROTOCOL.md at the repo root (kept there because ~35 §X.Y anchors are cited directly by container/dashboard/v1_*.py — renumbering would orphan them). This page is the human-navigable bridge; PROTOCOL.md is authoritative.

A versioned service-to-service HTTP API on Outpost that lets another backend submit, observe, and collect the results of kin agent jobs. Authenticates as a service (not a browser), attributes work per-service, treats needs_human as a first-class terminal state, and delivers signed webhooks so clients don't have to poll. First client: purchase-advice.

Sections

§ Topic
1 Conventions
2 Authentication — HMAC bearer (v1)
3 Service registry — schema and lifecycle
4 Idempotency — the 3-layer Stripe pattern
5 Submit endpoint — POST /api/v1/jobs
6 Lifecycle state machine
7 Read endpoints
8 Cancel — POST /api/v1/jobs/<job_id>/cancel
9 needs_human semantics
10 Webhooks — Standard Webhooks
10A Inbound triggers — signature-auth webhook receiver
11 Error model — RFC 9457
12 Rate limits and quotas
13 End-to-end example — purchase-advice
14 Versioning policy
15 Cross-references — what already exists in kin
16 CHANGELOG
17 Out of scope for v1 (explicit non-goals)
18 Acceptance criteria — the conformance test