GitHub

Protocol

Structure

How to read and implement the AAP version 1 specification.

This specification explains what AAP is, what an approval means and how an adapter asks for one. It then describes how the agent waits for the result.

This specification defines version 1 of the Agent Approval Protocol (AAP).

  1. Overview: what the protocol is for, its design goals and the basic tool call flow.
  2. Architecture and modes: the agent, adapter and provider, and how synchronous and asynchronous execution differ.
  3. Identity and authentication: instances, credentials, provisioning and instance management.
  4. Requests and decisions: what is submitted for approval, the possible outcomes and the lifecycle of a request.
  5. HTTP API: approval operations, instance management, shared HTTP conventions, errors and retries.
  6. Synchronous mode: holding a tool call open whilst the adapter polls for a decision.
  7. Asynchronous mode: delivery configuration, receiver registration, signed webhook notifications and resuming execution.
  8. Security and conformance: the trust boundaries and the requirements an implementation must meet.

The request and decision model is shared by both modes. The OpenAPI schema defines the objects, field types and HTTP operations. The HTTP API section explains how to use that contract. The mode sections explain how to use it.

Guides, SDK documentation and provider-specific setup belong outside this specification.

When a field or wire format changes, update the OpenAPI schema first and keep the examples aligned with it. Run make api-lint from the repository root to validate the schema and its examples.