Every agent accepts Authorization: Bearer <token>. Tokens are namespaced by a consumer label so you can revoke one without touching the others.

{
  "auth_tokens": {
    "closebot-prod": "ambrose_aBc123…",
    "vapi-test":     "ambrose_xYz456…",
    "webhook-zap":   "ambrose_mNo789…"
  }
}

Generate

Agent detail → Consumer Tokens → type a name → Generate. The token is shown once. Copy it now or rotate.

Revoke

Same panel → Revoke next to the consumer name. The token stops working immediately; other consumers keep going.

Open vs auth

Webhooks (closebot / vapi / retell / custom / ghl) are open by default — external platforms rarely set headers. Use URL secrecy or a signature header for protection. The other endpoints (run, openai, mcp) accept session, agency Bearer, or consumer token.