Implementation: DESIGN (server) · Exposure: PUBLIC PREVIEW (contract). The Agency API is not live yet. This page describes the published v0.3 contract so you can review and build against it; details may change before alpha.
This page lists all 98 component schemas in the v0.3 OpenAPI contract, in contract order. The tables are generated from the contract file by surfaces/docs/scripts/gen_reference.py, so they match it field for field. Nested inline objects are flattened with dotted names (data.from, criteria[].result).

Reading the tables

  • Required means the field must be present: in a request body you must send it, and in a response the server always returns it. A field marked no may be absent.
  • Disclosure tier marks fields outside the everyday surface: B is the capability tier, C is the graph tier, D is the runtime tier. See progressive disclosure.
  • Request objects are closed unless the table says otherwise. Unknown request fields are rejected with ERR_INPUT_UNSUPPORTED. Clients must ignore unknown response fields and treat unknown enum values as not understood. See Versioning.
  • Names ending in V1 in descriptions (for example AttentionRequestV1) refer to kernel contracts. The API objects are public views of those contracts.

Index

Extensions · Metadata · Timestamp · TrustClass · PageBase · ErrorEnvelope · Error · AgencyRequest · Workspace · ResourceRef · ContextItem · Authority · Grant · NetworkPolicy · ExecutionEnvironment · Budget · BudgetUsage · CompletionCriteria · CriterionRef · Criterion · CapabilityLimits · ModelConstraints · GraphSpec · RuntimeHints · RunStatus · Run · RunLinks · RunOutput · CompletionState · VerificationResult · CancellationState · RunDebugView · ControlRequest · CancelRequest · RunInput · InputAccepted · RunPage · RunEventType · RunEventBase · RunEvent · RunStatusChangedEvent · RunProgressEvent · RunMessageEvent · AttentionRequestedEvent · AttentionResolvedEvent · InputAcceptedEvent · ArtifactCreatedEvent · ReceiptAppendedEvent · VerificationCompletedEvent · BudgetThresholdEvent · DebugTraceEvent · RunEventPage · AttentionStatus · AttentionRequest · ProposedAction · AttentionResolution · AttentionResponse · AttentionPage · Artifact · ArtifactPage · ReceiptType · Receipt · ReceiptSignature · Provenance · ReceiptChainVerification · ReceiptPage · GraphView · CampaignStatus · CampaignCreate · CampaignBudget · WakePolicy · WakeTrigger · AttentionPolicy · Campaign · CampaignControlRequest · CampaignPage · ReplayRequest · ReplayStatus · Replay · ReplayResults · DecisionRequest · DecisionResult · Capability · CapabilityPage · Agent · AgentPage · ModelClass · ModelClassPage · AuthorityProfile · AuthorityProfilePage · FilesystemScope · ApprovalRequirement · ResolvedAuthority · ResolvedCompletion · ResolvedDefaults · CompletionCriterion · CompletionCriterionPage · Jwks

Extensions

Extension pattern. Any closed object may carry properties named x-<vendor-neutral-name>. Servers preserve unknown x- properties; they never change kernel semantics. Type: object.

Metadata

Caller-owned annotations. Max 50 keys; values ≤ 500 chars. Map of string to string.

Timestamp

Type: string (date-time).

TrustClass

Type: string enum.

PageBase

ErrorEnvelope

No other properties are accepted.

Error

AgencyRequest

Only goal is required. workspace, authority, budget and completion are optional; when omitted the server resolves each from the agent’s/profile’s versioned defaults and returns the resolved values on Run.resolved before execution. Supplying a field overrides the default (never widening beyond caller entitlement or hard policy). There are no hidden permissive defaults. capabilities and models are Level B, graph is Level C, runtime is Level D. Unknown fields are rejected, including any attempt to disable judge fail-closed or verifier-owned completion. thread_id is a correlation ID only. No other properties are accepted.

Workspace

No other properties are accepted.

ResourceRef

No other properties are accepted.

ContextItem

No other properties are accepted.

Authority

Explicit authority (optional on the request; resolved from the agent’s default profile when omitted and returned in Run.resolved.authority). A named profile (read-only, code-safe, code-write, optionally pinned name@version) compiles into capabilities and policy, not magic strings (GET /v1/authority-profiles). grants may only add scoped grants within the caller’s entitlement; nothing can weaken a hard policy deny. There is no bypass/yolo/auto-approve profile: such names are rejected with ERR_AUTHORITY_PROFILE_FORBIDDEN and no executor’s native bypass mode is honored. No other properties are accepted.

Grant

No other properties are accepted.

NetworkPolicy

Public view of NetworkAccessPolicyV1. Private-address, redirect-hop and DNS-rebind defenses are always on. No other properties are accepted.

ExecutionEnvironment

Public view of ExecutionEnvironmentV1. Raw environment inheritance is never allowed. No other properties are accepted.

Budget

On exhaustion the platform first hard-stops ALL further billable/effectful execution, then moves the run to needs_attention with attention reason budget_exhausted. No spend occurs while waiting; only a human answer can raise the budget. No other properties are accepted.

BudgetUsage

CompletionCriteria

Verifier-owned completion. The run reaches completed only when the system evaluates: every required criterion has a PASS verification receipt, no blocking failure is unresolved, required artifacts exist, and policy obligations are met. A model saying “done” is a proposal with no authority. INCONCLUSIVE is never PASS. Items in require are string ids or {id, version?} referring to the versioned registry (GET /v1/completion-criteria); omitted version means latest at resolution time and the resolved version is recorded in Run.resolved.completion. allow_partial is the only way a run may end partial. No other properties are accepted.

CriterionRef

Registry criterion by id (string, latest) or pinned {id, version}. Built-ins keep their names: tests_pass, no_new_regressions, build_passes, typecheck_passes, lint_clean, artifact_exists, requirement_verified, human_review. One of: string | object.

Criterion

Custom criterion registered inline for this run/campaign; built-in and registry criteria are referenced from require. No other properties are accepted.

CapabilityLimits

No other properties are accepted.

ModelConstraints

Constrain by logical class, locality and trust. Model or vendor names are rejected. No other properties are accepted.

GraphSpec

Advanced input is treated as opaque until the public Graph contract is frozen. No other properties are accepted.

RuntimeHints

Research/infra hints. Never change semantics, eligibility, policy or evidence. No other properties are accepted.

RunStatus

Aggregate of WorkNodeLifecycleV1 and RunReceiptV1.completion_status. | Run.status | Lifecycle source | RunReceipt | |---|---|---| | accepted | DECLARE, ADMIT, READY; and until Run.resolved is recorded | — | | running | LEASE, SPAWN, RUN, HEARTBEAT, OUTPUT, VERIFY, CONTINUE, REPLAN | — | | waiting | any active node on a timer/dependency/event wait gate, or lease reclaim pending, and none running | — | | needs_attention | any node NEEDS_HUMAN (open AttentionRequest), incl. budget_exhausted after billable/effectful execution is hard-stopped | WAITING_APPROVAL | | paused | operator pause; leases released at a safe boundary | — | | cancelling | cancel receipted; in-flight effects settling (kept) | — | | completed | COMMIT → CLOSE with the completion predicate true | COMPLETE | | partial | CLOSE, predicate false, ONLY when the completion contract has allow_partial: true; never a synonym for failed/unfinished | PARTIAL | | failed | CLOSE after unrecoverable failure or budget stop | FAILED | | cancelled | CLOSE after cancel | CANCELLED | Precedence when nodes differ: cancelling > paused > needs_attention > running > waiting > accepted. VAULT/LEARN happen after the terminal state and are not surfaced as status. Type: string enum.

Run

Durable execution instance. resolved is required and is populated before execution; status stays accepted until resolution is recorded.

RunOutput

CompletionState

VerificationResult

Type: string enum.

CancellationState

RunDebugView

Opt-in kernel internals (view=debug, scope debug:read). Open object; fields may change without a major version.

ControlRequest

No other properties are accepted.

CancelRequest

No other properties are accepted.

RunInput

No other properties are accepted.

InputAccepted

RunPage

One of: PageBase & object.

RunEventType

Type: string enum.

RunEventBase

RunEvent

Discriminated on type. Unknown types must be ignored by clients. One of: RunStatusChangedEvent | RunProgressEvent | RunMessageEvent | AttentionRequestedEvent | AttentionResolvedEvent | InputAcceptedEvent | ArtifactCreatedEvent | ReceiptAppendedEvent | VerificationCompletedEvent | BudgetThresholdEvent | DebugTraceEvent.

RunStatusChangedEvent

One of: RunEventBase & object.

RunProgressEvent

One of: RunEventBase & object.

RunMessageEvent

One of: RunEventBase & object.

AttentionRequestedEvent

One of: RunEventBase & object.

AttentionResolvedEvent

One of: RunEventBase & object.

InputAcceptedEvent

One of: RunEventBase & object.

ArtifactCreatedEvent

One of: RunEventBase & object.

ReceiptAppendedEvent

One of: RunEventBase & object.

VerificationCompletedEvent

One of: RunEventBase & object.

BudgetThresholdEvent

One of: RunEventBase & object.

DebugTraceEvent

Only delivered with view=debug. One of: RunEventBase & object.

RunEventPage

One of: PageBase & object.

AttentionStatus

Type: string enum.

AttentionRequest

Public view of AttentionRequestV1. Agents request attention; the AttentionController owns delivery, quiet hours, dedupe and quotas. Only policy ASK outcomes become approval requests; hard DENY outcomes never do.

ProposedAction

AttentionResolution

AttentionResponse

No other properties are accepted.

AttentionPage

One of: PageBase & object.

Artifact

Public view of NodeOutputV1. Immutable, content-addressed.

ArtifactPage

One of: PageBase & object.

ReceiptType

Type: string enum.

Receipt

Append-only, content-addressed, hash-chained per run. content_hash = sha256 over the canonical JSON (RFC 8785) of every field except content_hash and signature. prev_hash links to the previous receipt in the run chain (null only at index 0). Corrections append a new receipt with supersedes. Signing: per-run previous-hash chain; RFC 8785 JCS canonicalization, SHA-256, Ed25519. The signed material is the JCS-canonical object {schema_id, schema_version, domain, content_hash}, so signatures bind schema id, schema version and the domain-separation tag allternit.receipt.v1. Verification keys: /.well-known/jwks.json.

ReceiptSignature

Provenance

AbiEnvelope provenance.

ReceiptChainVerification

ReceiptPage

One of: PageBase & object.

GraphView

CampaignStatus

active = created, first wake pending; sleeping = waiting for next_wake; running = at least one child run non-terminal; needs_attention = a child run or the campaign itself has an open AttentionRequest; paused; completed = campaign completion criteria met by receipts; failed; cancelled. Independent of scheduling. Type: string enum.

CampaignCreate

Only objective is required. workspace, authority, budget, completion_criteria and wake_policy resolve from the agent/profile defaults and are returned explicitly on Campaign.resolved before any run is created. No hidden permissive defaults: if a safe value cannot be resolved the request fails with ERR_DEFAULTS_UNRESOLVABLE. No other properties are accepted.

CampaignBudget

Whole-campaign caps plus a per-run budget applied to every child run. No other properties are accepted.

WakePolicy

When the campaign may consider waking. Triggers only make a wake eligible; the campaign then decides whether another check is useful (not cron). Wake triggers are accepted, but autonomous scheduled waking is disabled until go-live: the Campaign reports scheduling: disabled_pending_golive. Limits are versioned defaults (defaults_version). No other properties are accepted.

WakeTrigger

One of: object | object | object | object | object.

AttentionPolicy

No other properties are accepted.

Campaign

Campaigns can be created but autonomous scheduled waking is disabled until go-live; see scheduling.

CampaignControlRequest

No other properties are accepted.

CampaignPage

One of: PageBase & object.

ReplayRequest

No other properties are accepted.

ReplayStatus

Type: string enum.

Replay

ReplayResults

DecisionRequest

No other properties are accepted.

DecisionResult

Capability

CapabilityPage

One of: PageBase & object.

Agent

AgentPage

One of: PageBase & object.

ModelClass

Logical class only. Concrete models are interchangeable components and are never listed here. Logical capability/locality/trust classes only; never vendor identities in default responses. The first-party workspace UI may show model choice separately.

ModelClassPage

One of: PageBase & object.

AuthorityProfile

Exact typed semantics of a profile. Compiles into capabilities/policy. Only read-only, code-safe and code-write exist; no bypass equivalent is ever public.

AuthorityProfilePage

One of: PageBase & object.

FilesystemScope

No other properties are accepted.

ApprovalRequirement

No other properties are accepted.

ResolvedAuthority

No other properties are accepted.

ResolvedCompletion

No other properties are accepted.

ResolvedDefaults

Everything the server resolved before execution: explicit, safe, versioned and auditable. Populated before the run leaves accepted; the run cannot execute without it. Never contains a permissive fallback. No other properties are accepted.

CompletionCriterion

CompletionCriterionPage

One of: PageBase & object.

Jwks