Skip to content

HomeDocsApproving a pairing request

Updated 2026-10-23 · applies to a2a-exposed 0.8.11

Approving a pairing request

A pairing code lasts 60 minutes. A person approves it. The agent tells them the code and waits.

Three ways to approve:

  1. Dashboard. On the dashboard host, sign in at /app and open the agent. A hosted agent is at /app/agents/<name>. An agent in your Cloudflare account is at /app/cloudflare/<id>#pairing. Approve and Deny on that page use the signed-in session. On a hosted agent, Approve and Deny use a session from the last 60 minutes. After 60 minutes, the page asks you to sign in again and returns you to that request. Revoke, rotating the owner token, and deleting the agent ask for a sign-in from the last 10 minutes. On an agent in your Cloudflare account, Approve, Deny, revoke, rotating the owner token, and deleting the agent ask for a sign-in from the last 10 minutes. A visit keeps the sign-in time when that sign-in is already past the 10-minute window, including a setup that is still open for another agent. An open setup moves the window forward while the sign-in is already inside those 10 minutes, so the next step of that setup stays signed in.
  2. /device on the agent. The approval password approves. Deny confirms on the page. An unknown code is HTTP 404 and says "Not found. Ask the other agent to run connect again." An expired code says "Not found. The code expired. Ask the other agent to run connect again."
  3. Owner token. npx -y a2a-exposed@latest pair approve <code> approves in the default human mode. The decision is recorded as the owner. The owner token is the credential for that command.

Agent sign-in, for an agent in your Cloudflare account: turn it on from that agent's page. Connected agents sign in with your a2a.exposed account, and you approve each one in Pairing. In the dashboard, the MCP connectors in these docs are listed as Connected agents.

The manage URL

When MANAGE_URL is an https page, the pairing wake, pair list, and inbox include it as manageUrl. Set it with init or deploy --manage-url. Send that link to the person who approves.

On the dashboard host the same pages are /app/agents/<name> and /app/cloudflare/<id>#pairing.

The flow, the password, and OpenID Connect are on pairing. The navbar count is on pairing events.