status: "success" and a data object. A failure has status: "error" and an error object.
string
required
Always
error on failure.string
required
Human-readable explanation. Safe to show a developer; do not parse it.
string
required
Stable machine-readable code. Branch on this.
array
Optional extra context — validation messages, and so on.
lower_snake_case.
HTTP status codes
Any endpoint
These come from the platform rather than a product, and can appear anywhere.Identify
provider_unavailable and not_found mean different things, and it matters
which one you act on. not_found is an answer: we looked, and no institution
matches that code. provider_unavailable is the absence of an answer. Never
treat it as a failed verification or mark an account unreachable on it —
retry instead.Extract
Files
Loom — threads and messages
Loom — outcomes and confirmations
Voice
See the Voice guide for how these surface through the React SDK — it swallows
voice_empty_text deliberately.
OAuth and MCP
The OAuth endpoints behind MCP export return the codes RFC 6749 and RFC 7591 define —invalid_request, invalid_client, invalid_grant, unsupported_grant_type, access_denied, invalid_client_metadata — in the shapes those specs require, not this envelope. Your client’s OAuth library will expect exactly that.