Surface reference
The AgentSurface is the top-level configuration and runtime entity in the Agent Gateway. One surface represents one managed agent’s full surface area: how it is reached, where it routes, what identity it carries, and what it can call out to. Use this reference when creating or editing a surface to understand what each field controls and how protocol, identity, and policy settings interact across the pipeline.
For the complete sub-component field references, see Access Point, Managed Agent, Transit Points, and Variants.
Top-level fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| Surface ID | string | Read-only | Auto-assigned | Unique identifier assigned at creation. Shown in edit mode. Never changes after creation. |
| Name | string | Yes | — | Human-readable name. Appears in the dashboard, logs, and metrics. |
| Description | string | No | — | Optional description. |
| Protocol | Protocol options | Yes | A2A / UCP | Agent protocol for both inbound and target communication. Locked once elements are added to the canvas. |
| Surface enabled | toggle | No | On | When off, the surface returns HTTP 503 to all inbound requests. |
| Issuer | string | No | — | Owning issuer for this surface. Drives Trust Check and Trust Recorder authority defaults. Selects from the issuer records managed at Identity → Issuers. |
| Tags | string[] | No | — | Labels for grouping, filtering, and search. |
| Publish to Gateway DID document | toggle | No | Off | When on, advertises this surface in the gateway’s DID document. |
| Gateway DID injection | toggle | No | Off | When on, injects a did:webvh identity on every outbound request from this surface. See Gateway DID injection settings. |
| Terminate trace at egress | toggle | No | Off | Keeps the incoming trace ID for this surface’s own audit; forwards a fresh trace ID downstream. Prevents the trace from crossing to the next gateway or agent. |
| Access Point | Access Point settings | Yes | — | Inbound configuration: how callers reach this agent. |
| Managed Agent | Managed Agent settings | Yes | — | The single upstream destination: the managed agent backend. |
| Outbound Listener | Transit Point settings | No | — | Agent-initiated outbound routes. |
| Variants | Variants | No | — | Named surface variations selectable at request time via $alias in the URL. Use Promote to default in the Variants panel to set the active default variant. |
| Agent Identity | Identity element | No | — | Three independent identity resolution slots covering each pipeline edge. See Canvas elements. |
Protocol options
Selected when creating the surface and locked once elements are added to the canvas.
| Protocol | Description |
|---|---|
| A2A / UCP | Agent-to-Agent protocol (JSON-RPC 2.0 with A2A extensions). Default. Use for direct agent-to-agent communication and UCP extension flows. |
| AP2 | Agent Payments Protocol. Extends A2A with Verifiable Credential and VP transformation for payment-agnostic financial transactions. |
| MCP | Model Context Protocol (JSON-RPC 2.0). Use when connecting AI models to external tools and data sources. |
Gateway DID injection settings
These fields appear in the Gateway DID Injection section of the surface panel when Gateway DID injection is enabled.
| Setting | Required | Description |
|---|---|---|
| Identity ID | No | Bind to an existing managed identity by its UUID. Leave blank to create a new identity automatically. |
| Auto-create identity if it does not exist | No | When on, the gateway creates a new managed identity if the specified Identity ID does not exist. Requires Identity ID to be set. |
| DID Path | No | Custom path segment for the did:webvh DID. Defaults to the surface name when blank. |
| Injection Mode | Yes (when enabled) | How the DID is injected into outbound requests. See Injection modes. |
Injection modes
| Mode | Description |
|---|---|
| Header | Injects the DID as the X-DID-Identity HTTP header. |
| Signed Header | Injects a signed DID assertion as the X-DID-Signed-Identity HTTP header. |
| Protocol Native | Injects the DID using the protocol’s native extension mechanism: A2A extension or MCP _meta field. |
Canvas elements
Canvas elements are pipeline components added to the Access Point, Managed Agent, or Transit Points edges in the surface builder. They configure how requests are processed, authenticated, and transformed at each stage.
| Element | Reference | Description |
|---|---|---|
| Caller Context | Caller Context | Extracts and forwards caller identity headers through the pipeline. |
| Identity | Identity element | Resolves and attaches agent identity at each pipeline edge. Three independent slots cover inbound, internal, and outbound edges. |
| Policy | OPA policies: Policy element | Attaches an OPA policy to a pipeline stage for request authorisation. |
| Rate Limit | Networking elements: Rate Limit | Throttles requests at a pipeline stage with configurable request limit, window, and burst. |
| Trust Check | Trust elements: Trust Check | Validates trust assertions against the trust registry before forwarding. |
| Trust Recorder | Trust elements: Trust Recorder | Records trust events for audit and compliance. |
| Extension Validation | Protocol extension elements | Validates UCP extension headers on inbound A2A and AP2 requests. |
| Extension Rules | Protocol extension elements | Defines per-URI outbound extension rules for A2A and AP2 surfaces. |
| Metadata Injection | Metadata elements | Injects metadata headers or context values into the request pipeline. |
| Metadata Extraction | Metadata elements | Extracts metadata from requests for downstream consumption. |
| Credential Delegation | Outbound binding elements | Injects Verifiable Presentations into outbound requests from the managed agent. |
| Workload Binding | Outbound binding elements | Attaches caller workload identity context to outbound requests. |
| MCP Tools | MCP tools | Configures tool access permissions and policy for MCP surfaces. |
| Networking | Networking | Controls timeouts, retries, circuit breaking, traffic mirroring, and rate limiting. |
| Payment | Payment | Configures x402 and MPP payment protocol handling. |
Related
- Access Point reference: Inbound routing and caller authentication fields.
- Managed Agent reference: Upstream endpoint and OPA policy fields.
- Variants reference: Per-variant snapshot configuration and alias management.
- Surfaces concept model: How surfaces work at runtime.
Glad to hear it! Please tell us how we can improve more.
Sorry to hear that. Please tell us how we can improve.
Thank you for sharing your feedback so we can improve your experience.