Skip to main content
POST
Error

Authorizations

Authorization
string
header
required

The control surface credential. Send Authorization: Bearer <token>.

Two kinds of token are accepted and they are told apart by shape, not by a separate header. A token beginning pbk_ is an org scoped API key, whose public half and secret half are generated together and of which only a hash of the secret is ever stored; anything else is treated as an OAuth 2.1 access token and verified against the authorization server's keys.

Both resolve to the same context: an org, a principal and a set of scopes. Nothing downstream branches on which channel you used, with one deliberate exception, key management, which requires a signed-in person so that a key can never mint another key.

Scopes are enforced when MCP tools are REGISTERED rather than when they are called, so a tool your credential cannot use is absent from tools/list rather than refused mid gesture.

Body

application/json

A JSON-RPC 2.0 request.

A JSON-RPC 2.0 request. The method vocabulary is the Model Context Protocol's, and the tools you may call depend on the scopes your credential carries.

jsonrpc
string
required
Allowed value: "2.0"
method
string
required

The MCP method, for example tools/list or tools/call.

id

Request id, echoed on the response. Absent for a notification.

params
object

Method parameters.

Response

The JSON-RPC response. A tool that FAILED still answers 200: branch on isError inside the result, not on the status code.

A JSON-RPC 2.0 response. A failed TOOL CALL is not this: it comes back as a successful response whose result carries isError and the error envelope in its text block.

jsonrpc
string
required
Allowed value: "2.0"
id
result
object

Present on success.

error
object