Skip to content

Orchestrator API

The Orchestrator API is the HTTP / OpenAPI surface your backend integrates against. It drives the whole lifecycle — registering policies, accepting signed intents, accepting agent proposals, and reporting verified outcomes.

This page is the narrative; the generated, always-current endpoint reference lives at Orchestrator API reference.

  1. Register the policy. POST /policies compiles, validates, and stores a policy in one step, returning a content-addressed policy_id (base58 SHA-256). GET /policies/{policy_id} reads one back.

  2. Submit the user-signed intent. POST /intents accepts a signed intent that references a policy_id. The signature is verified and the referenced policy must already exist. The intent_id is a caller-supplied UUID. GET /intents/{intent_id} reads it back.

  3. Submit the agent’s proposal. POST /intents/{intent_id}/proposal submits the concrete proposed action. This triggers evidence extraction and proof generation.

  4. Get the outcome. The POSTs above return on acceptance, not with the verdict — proving runs afterward. Get the result via GET /events (push) or GET /intents/{intent_id}/status (poll): openprocessingsuccess / failure (with evidence and failed constraints), or expired.

An intent is submitted as a signed message. Supported signature schemes:

  • Ed25519
  • Passkey (WebAuthn / ECDSA)
  • Multisig (weighted signers + threshold)

The complete endpoint and schema reference is generated from the committed OpenAPI spec (v0.6.0):

Orchestrator API reference