---
title: "Gateway API"
description: "The enforcement plane. Agents talk here and nowhere else."
label: "Gateway"
generated: "the API catalogue in apps/control-plane/src/routes/developer.ts"
---


These routes are served by the gateway process, not the control plane, and they are the authorization boundary. The SDK is a convenience layer over them: deleting the SDK changes nothing about what an agent is allowed to do.

## Endpoints

| | Endpoint | Permission | Notes |
| --- | --- | --- | --- |
| `POST` | `/gateway/v1/token` | _none_ | — |
| `POST` | `/gateway/v1/handshake` | _none_ | — |
| `POST` | `/gateway/v1/actions` | _none_ | — |
| `POST` | `/gateway/v1/mcp/call` | _none_ | — |
| `POST` | `/gateway/v1/a2a/invoke` | _none_ | — |

## What each endpoint does

### `POST /gateway/v1/token`

Exchange a signed assertion for an agent session token.

Requires no console permission.

### `POST /gateway/v1/handshake`

Establish an agent session and receive authorized tools.

Requires no console permission.

### `POST /gateway/v1/actions`

Request a protected action through the enforcement pipeline.

Requires no console permission.

### `POST /gateway/v1/mcp/call`

Invoke an authorized MCP tool through Veefore.

Requires no console permission.

### `POST /gateway/v1/a2a/invoke`

Invoke a verified A2A peer through Veefore.

Requires no console permission.
