Zinc API Error Reference
June 28, 2026 · View on GitHub
HTTP Status Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Created |
| 400 | Bad Request |
| 401 | Unauthorized |
| 402 | Payment Required |
| 403 | Forbidden |
| 404 | Not Found |
| 409 | Conflict (duplicate) |
| 422 | Validation error |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
Error Response Format
{ "error": { "code": "error_code", "message": "Human-readable message", "details": { "field": "context" } } }
The error object is nested under error — read body.error.code, not body.code. details is null when there's no field-level context.
API Error Codes
General
not_found— Resource not foundvalidation_error— Bad/missing parameter (checkdetails)bad_request— Malformed requestalready_exists— Duplicate (e.g. idempotency key)internal_error— Server-side issue
Authentication
unauthorized,forbidden,invalid_token,token_expired
Wallet & Payment
insufficient_funds— Low wallet balance (details includerequired/availablein cents)payment_failed,payment_method_required,invalid_payment_method
Order Request
invalid_shipping_address— Address validation failedurl_unreachable— Product URL inaccessibleinvalid_variant— Variant not foundout_of_stock,shipping_unavailable,non_us_retailer,order_not_cancellable
External
external_service_error
Order Processing Error Types
These appear in error_type field on failed orders:
Product
product_not_found, product_out_of_stock, product_unavailable, invalid_product_url, product_variant_required, product_variant_unavailable, product_quantity_unavailable
Price
max_price_exceeded
Cart & Checkout
add_to_cart_failed, cart_empty, checkout_blocked, checkout_failed
Shipping
shipping_address_invalid, shipping_unavailable, shipping_method_unavailable
Payment
payment_declined, payment_method_invalid, payment_failed
Account
login_failed, session_expired, account_locked, account_verification_required
Retailer
retailer_unavailable, retailer_not_supported, retailer_rate_limited
Quantity
quantity_limit_exceeded, order_limit_exceeded