Skip to main content

Error codes

All error responses share one shape. Branch on code, not only the HTTP status.

{ "error": { "code": "invalid_request", "message": "..." } }
The short version
  • 503 … Retry later. Also returned when a capability is not enabled yet
  • 429 … Retry per Retry-After
  • 422 / 400 … The request is wrong; retrying as-is will not help
  • 401 / 403 … Token or scope problem
  • 404 … Not found. Also returned when you lack access (we do not reveal existence)

This page is generated from the API implementation (92 codes), so it cannot drift from the code.

Common

CodeHTTPWhat to do
internal_error500Our problem. Contact us if it reproduces

Authentication

CodeHTTPWhat to do
invalid_client400 / 401Fix the request. Retrying as-is will not help
invalid_grant400Fix the request. Retrying as-is will not help
invalid_request400Fix the request. Retrying as-is will not help
invalid_scope400Fix the request. Retrying as-is will not help
unsupported_response_type400Fix the request. Retrying as-is will not help

Idempotency & rate limiting

CodeHTTPWhat to do
idempotency_key_conflict422Fix the request. Retrying as-is will not help
idempotency_key_required400Fix the request. Retrying as-is will not help
idempotency_request_in_progress409Conflict. Re-fetch the current state
insufficient_scope403Insufficient permission. Check the required scope
invalid_token401Obtain a new token
rate_limited429Retry per Retry-After.
service_unavailable503Retry after a delay. Also returned when the capability is not enabled yet
token_revoked401Obtain a new token
unauthorized401Obtain a new token

Catalog, categories, inventory

CodeHTTPWhat to do
annotation_write_failed500Our problem. Contact us if it reproduces
axis_without_values422Fix the request. Retrying as-is will not help
bundle_not_allowed400 / 422Fix the request. Retrying as-is will not help
bundle_required422Fix the request. Retrying as-is will not help
cancel_by_after_event_start422Fix the request. Retrying as-is will not help
cancel_by_before_sell_from422Fix the request. Retrying as-is will not help
cancel_by_required422Fix the request. Retrying as-is will not help
category_depth_exceeded422Fix the request. Retrying as-is will not help
category_not_found422Fix the request. Retrying as-is will not help
component_has_variants422Fix the request. Retrying as-is will not help
component_not_found422Fix the request. Retrying as-is will not help
conflict_manual_override409Conflict. Re-fetch the current state
duplicate_axis422Fix the request. Retrying as-is will not help
duplicate_axis_value422Fix the request. Retrying as-is will not help
duplicate_image_id422Fix the request. Retrying as-is will not help
duplicate_variant_combination409 / 422Conflict. Re-fetch the current state
duplicate_variant_sku409 / 422Conflict. Re-fetch the current state
external_ref_conflict409Conflict. Re-fetch the current state
free_ticket_price_must_be_zero422Fix the request. Retrying as-is will not help
gift_must_not_ship422Fix the request. Retrying as-is will not help
hierarchy_move_not_allowed400Fix the request. Retrying as-is will not help
image_fetch_failed422Fix the request. Retrying as-is will not help
image_invalid422Fix the request. Retrying as-is will not help
image_not_found422Fix the request. Retrying as-is will not help
image_too_large422Fix the request. Retrying as-is will not help
image_url_not_allowed422Fix the request. Retrying as-is will not help
immutable_field409Conflict. Re-fetch the current state
immutable_variation_axes400 / 409Conflict. Re-fetch the current state
incomplete_image_order422Fix the request. Retrying as-is will not help
invalid_parameter400Fix the request. Retrying as-is will not help
invalid_sell_period422Fix the request. Retrying as-is will not help
invalid_ticket_valid_period422Fix the request. Retrying as-is will not help
inventory_not_updatable_here400Fix the request. Retrying as-is will not help
inventory_out_of_range422Fix the request. Retrying as-is will not help
lottery_date_before_sell_by422Fix the request. Retrying as-is will not help
lottery_not_allowed422Fix the request. Retrying as-is will not help
lottery_required422Fix the request. Retrying as-is will not help
managed_by_other409Conflict. Re-fetch the current state
negative_inventory422Fix the request. Retrying as-is will not help
no_image_cannot_activate422Fix the request. Retrying as-is will not help
no_variation_axes422Fix the request. Retrying as-is will not help
number_of_sets_out_of_range422Fix the request. Retrying as-is will not help
number_of_sets_required422Fix the request. Retrying as-is will not help
parent_category_not_found422Fix the request. Retrying as-is will not help
plan_limit_exceeded422Fix the request. Retrying as-is will not help
price_below_minimum422Fix the request. Retrying as-is will not help
readback_failed500The write already succeeded — do not retry. Fetch the current state with GET
set_inventory_must_be_null422Fix the request. Retrying as-is will not help
set_inventory_not_updatable422Fix the request. Retrying as-is will not help
set_nesting_forbidden422Fix the request. Retrying as-is will not help
sku_conflict409Conflict. Re-fetch the current state
status_locked422Fix the request. Retrying as-is will not help
ticket_info_required422Fix the request. Retrying as-is will not help
ticket_not_allowed400 / 422Fix the request. Retrying as-is will not help
too_many_axes422Fix the request. Retrying as-is will not help
too_many_axis_values422Fix the request. Retrying as-is will not help
too_many_variants422Fix the request. Retrying as-is will not help
unlimited_inventory422Fix the request. Retrying as-is will not help
unsupported_kind422Fix the request. Retrying as-is will not help
variant_axis_mismatch422Fix the request. Retrying as-is will not help
variant_axis_missing422Fix the request. Retrying as-is will not help
variant_axis_value_unknown422Fix the request. Retrying as-is will not help
variant_id_required422Fix the request. Retrying as-is will not help
variant_item_inventory_must_be_null422Fix the request. Retrying as-is will not help
variant_not_found422Fix the request. Retrying as-is will not help
variation_incomplete422Fix the request. Retrying as-is will not help
variation_not_allowed422Fix the request. Retrying as-is will not help

Reservations, shipping, inflow routes

CodeHTTPWhat to do
feature_not_enabled403Insufficient permission. Check the required scope
invalid_period422Fix the request. Retrying as-is will not help
invalid_reservation_state409Conflict. Re-fetch the current state
invalid_transition409Conflict. Re-fetch the current state
sold_out409Conflict. Re-fetch the current state
variant_reservation_not_supported422Fix the request. Retrying as-is will not help