Skip to main content

Error response

Overview

All error messages will return both machine (id) and human readable (message) error message. All errors, except validation_error, return only one error. Some errors will also have an optional link to the documentation (url).

validation_error with status code 400 is returned when the validation of the resource fails on POST or PUT requests. Response contains errors field with a list of errors.

Important: Different error types (id) can be added and removed over time so you should make sure your application accepts new ones as well.

Error idCodeDescription
two_factor_required402When sending money over 2fa limit
param_required400Missing parameter
validation_error400Unable to validate POST/PUT
invalid_request400Invalid request
personal_details_required400User's personal detail required to complete this request
identity_verification_required400Identity verification is required to complete this request
jumio_verification_required400Document verification is required to complete this request
jumio_face_match_verification_required400Document verification including face match is required to complete this request
unverified_email400User has not verified their email
authentication_error401Invalid auth (generic)
invalid_token401Invalid Oauth token
revoked_token401Revoked Oauth token
expired_token401Expired Oauth token
invalid_scope403User hasn't authenticated necessary scope
not_found404Resource not found
rate_limit_exceeded429Rate limit exceeded
internal_server_error500Internal server error

Generic error response (4xx, 5xx)

{
"errors": [
{
"id": "not_found",
"message": "Not found"
}
]
}

Validation failed (400)

{
"errors": [
{
"id": "validation_error",
"message": "Please enter a valid email or bitcoin address"
}
]
}

Error with document link

{
"errors": [
{
"id": "invalid_scope",
"message": "Invalid scope",
"url": "http://developers.coinbase.com/api#permissions"
}
]
}

Other errors

OAuth2

When authenticating or refreshing access tokens, OAuth2, will follow different error format.

{"error": "invalid_request", "error_description": "The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed."}

Was this helpful?