Where keys come from
Create keys in the console under API keys. A key is scoped to one organization: it can only see and act on that organization’s agents, tools, datasets, and phone numbers. To act on a different organization, create a key inside it. See Organizations for how organizations are structured. Keys look likegrad_live_ followed by a random suffix. The full value is shown once, at creation. Copy it then, because the console only ever stores and displays a truncated preview afterward. If a key leaks, revoke it in the console; revoked keys stop verifying immediately.
Scopes
Each key carries a set of scopes chosen when you create it. A request is checked against the scope its endpoint requires, so a narrowly scoped key can invoke agents without also being able to edit them. A key with* or admin passes every check.
Running an agent, both invoke and turn, requires
agents:invoke. Calling a custom tool requires tools:invoke. The hosted MCP server authenticates the key first, then enforces the right scope on each individual tool it exposes.
Checking a key
The consolewhoami route needs no scope and returns the organization the key resolves to, plus its scopes: