Skip to main content
All errors return a JSON body with the same shape:
{
  "error_code": "not_found",
  "message": "Connection 'conn_123' not found.",
  "details": { ... }
}
details is optional and present when there is structured context (e.g. missing scopes, validation fields).

Error codes

HTTPerror_codeDescription
400bad_requestInvalid request.
400provider_not_supportedThe requested provider is not supported.
400oauth_state_invalidOAuth state parameter is missing or invalid.
401authentication_errorInvalid or missing credentials.
403permission_deniedAuthenticated but lacks the required permission.
403insufficient_scopesAPI key is missing required scopes. details.missing_scopes lists them.
404not_foundResource not found.
404connection_not_foundConnection not found.
404client_not_foundClient not found.
409conflictRequest conflicts with existing state.
422unprocessable_entityRequest body failed validation.
429rate_limit_exceededRate limit exceeded.
500internal_server_errorUnexpected server error.
502upstream_errorA downstream dependency returned an error.
502oauth_provider_errorOAuth provider returned an error.
502knowledge_engine_errorKnowledge engine returned an error.
503knowledge_engine_unavailableKnowledge engine is not available.