Skip to content

Browse the example bundle

The table below comes from the compiled examples/payments bundle.

node scripts/gen-docs-data.mjs compiles openapi.yaml with its reviewed anvil.yaml manifest and writes the data used by this page. packages/generators/src/docs-data.test.ts recompiles the fixture during tests and checks that the published data still matches the compiler output.

Each row is one AIR operation. The CLI name, MCP tool, approval state, and policy fields come from that same operation.

Operation CLI command MCP tool Effect Risk Safety posture State
payments.customers.get Get a customer payments customers get payments_get_customer read read retry-safe approved
payments.payments.get Get a payment payments payments get payments_get_payment read read retry-safe approved
payments.refunds.create Create a refund payments refunds create payments_create_refund mutation financial· irreversible confirm requiredidempotency keyretry-safe approved
payments.capture.create Capture a payment payments capture create payments_capture_payment mutation financial· irreversible confirm requiredretry-safe approved
  • Effect / risk: what the operation does and the risk assigned during review.
  • Confirm required: whether the call needs --confirm in the CLI or confirm: true in MCP.
  • Human approval: whether a person must approve the operation. A model argument cannot satisfy this gate.
  • Idempotency key: whether the caller must supply a stable key before a mutation can be repeated safely.
  • Retry-safe: whether the runtime may retry a transient failure automatically.

A non-idempotent mutation is not auto-retried. The first request may already have reached the upstream system.

Only approved operations enter callable CLI, MCP, and SDK surfaces.

A review_required operation stays in AIR but is omitted from callable tools. Add the missing evidence to the reviewed manifest, then approve and compile again.

The payments fixture is already reviewed, so its example operations are approved.

To see that transition on your own contract, use the enrich and approve workflow.