Overview

All error messages return both machine (id) and a human readable (message) message. Except for validation_error, all error messages return only one error. Some errors include a link to the documentation (url).

When a POST or PUT request fails validation, a validation_error with status code 400 is returned. The response contains an errors field with a list of errors.

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_required400When 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
unauthorized401Not authorized to perform this operation.
resource_exhausted429Resource has been exhausted
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."
}