A valid request URL is required to generate request examples{
"userCode": "<string>",
"clientName": "<string>",
"clientVersion": "<string>",
"requestedFromIp": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"expiresAt": "2023-11-07T05:31:56Z",
"status": "pending"
}{
"error": {
"code": "backend_resolution_failed",
"message": "<string>",
"retryable": true
}
}{
"error": {
"code": "unauthorized",
"reason": "missing_credentials",
"hint": "<string>"
}
}{
"error": {
"code": "backend_resolution_failed",
"message": "<string>",
"retryable": true
}
}{
"error": {
"code": "not_found",
"message": "<string>"
}
}{
"error": {
"code": "rate_limited",
"message": "<string>"
}
}{
"error": {
"code": "backend_resolution_failed",
"message": "<string>",
"retryable": true
}
}Look at a CLI sign-in before approving it
What the approval page shows: the name and version the CLI reported (unverified, so compare them with the terminal in front of you), when it started and whether it is still waiting. Any signed-in person may read it; an API key is refused.
Hosted deployments only. A local checkout does not mount this route, so calling it there is a 404.
A valid request URL is required to generate request examples{
"userCode": "<string>",
"clientName": "<string>",
"clientVersion": "<string>",
"requestedFromIp": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"expiresAt": "2023-11-07T05:31:56Z",
"status": "pending"
}{
"error": {
"code": "backend_resolution_failed",
"message": "<string>",
"retryable": true
}
}{
"error": {
"code": "unauthorized",
"reason": "missing_credentials",
"hint": "<string>"
}
}{
"error": {
"code": "backend_resolution_failed",
"message": "<string>",
"retryable": true
}
}{
"error": {
"code": "not_found",
"message": "<string>"
}
}{
"error": {
"code": "rate_limited",
"message": "<string>"
}
}{
"error": {
"code": "backend_resolution_failed",
"message": "<string>",
"retryable": true
}
}Authorizations
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.
Path Parameters
The code from the terminal. Case, spaces and the hyphen are forgiven.
Response
The sign-in.
A CLI sign-in as the approving person sees it.
What the CLI called itself, usually the computer's name. Unverified.
The CLI's version, as it reported it. Unverified.
The address the sign-in was opened from, as this service saw it. Compare it with where you are: a code someone sent you from elsewhere is the phishing case. Null when it could not be determined.
Where this sign-in is. expired is judged on the service's clock.
pending, approved, denied, expired, consumed