Developer docs
Errors
Every refusal is a problem+json body (RFC 9457): type links to the entry below, code is stable and is what to act on, and detail is plain English to pass on to the person. Some refusals add facts beside the code, such as retry_after_seconds, limit, usage, archive_needed or invalid_params.
Access refusals
Any call can meet these. A change can also meet read_only_credential and machine_writes_disabled, and a call that sends a body can meet request_too_large.
invalid_credential
HTTP 401. Invalid key or token.
credential_in_url
HTTP 400. API key sent in the URL.
credential_suspended
HTTP 403. Key or connection paused.
credential_account_changed
HTTP 403. Key or connection belongs to another account.
staff_credentials_refused
HTTP 403. Not available to staff accounts.
customer_view_refused
HTTP 403. Not available in a customer view.
machine_access_disabled
HTTP 503. API access is switched off.
machine_access_not_available
HTTP 403. API access is not available yet.
rate_limited
HTTP 429. Too many requests.
temporarily_unavailable
HTTP 503. Temporarily unavailable.
invalid_request
HTTP 400. Invalid request.
unsupported_version
HTTP 400. Unsupported API version.
request_failed
HTTP 500. Request failed.
read_only_credential
HTTP 403. Read-only key or connection.
machine_writes_disabled
HTTP 503. Changes are switched off.
request_too_large
HTTP 413. Request too large.
Action refusals
Each operation page lists the ones it can answer with.
action_not_available
HTTP 403. Action not available.
not_permitted
HTTP 403. Not permitted.
not_found
HTTP 404. Not found.
method_not_allowed
HTTP 405. Method not allowed.
checks_ended
HTTP 409. Automatic checks have ended.
monitoring_ended
HTTP 409. Monitoring has ended.
recheck_not_available
HTTP 409. Re-check not available.
recheck_cooldown
HTTP 429. Re-check too soon.
check_not_started
HTTP 503. Check not started.
lookup_limit
HTTP 429. Lookup limit reached.
account_email_missing
HTTP 409. No email address on the account.
plan_unverified
HTTP 503. Plan could not be verified.
transfer_not_editable
HTTP 409. Transfer details cannot be changed.
corrections_used
HTTP 409. No corrections left.
label_not_available
HTTP 409. Label not available yet.
check_frequency_not_available
HTTP 409. Check frequency cannot be changed.
rescue_limit
HTTP 409. Rescue covers one transfer.
active_transfer_limit
HTTP 409. Active transfer limit reached.
monthly_limit_reached
HTTP 409. Monthly transfer limit reached.
transfer_archived
HTTP 409. Transfer is archived.
subscription_required
HTTP 409. Active subscription required.
demo_transfer
HTTP 409. The demo transfer cannot be changed.
record_not_available
HTTP 409. No payment record.
already_owner
HTTP 409. Already the account owner.
seat_exists
HTTP 409. Seat or invitation exists.
seat_on_other_account
HTTP 409. Seat on another account.
manages_paid_account
HTTP 409. Address manages a paid account.
team_requires_subscription
HTTP 409. Team seats need a subscription.
seat_limit
HTTP 409. Seat limit reached.
seat_not_active
HTTP 409. Seat no longer active.
seat_reservation_failed
HTTP 503. Seat not reserved.
invitation_not_pending
HTTP 409. Invitation no longer pending.
invitation_queued
HTTP 409. Invitation already queued.
invitation_rate_limited
HTTP 429. Too many invitations.
invitation_prepare_failed
HTTP 503. Invitation not prepared.
invitation_send_failed
HTTP 503. Invitation not sent.
invitation_not_sent
HTTP 503. Invitation not sent.
invitation_check_failed
HTTP 503. Invitation not checked.
member_removal_failed
HTTP 503. Teammate not removed.
destination_not_allowed
HTTP 400. Webhook address not accepted.
endpoint_exists
HTTP 409. Webhook address already registered.
endpoint_limit
HTTP 409. Webhook endpoint limit reached.