Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.zinc.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

The Zinc API uses conventional HTTP response codes to indicate the success or failure of an API request.

HTTP Status Codes

Status CodeDescription
200Success - The request was successful
201Created - A new resource was created successfully
400Bad Request - The request was malformed or invalid
401Unauthorized - Invalid or missing authentication
402Payment Required - Payment or wallet issue
403Forbidden - You don’t have permission to access this resource
404Not Found - The requested resource does not exist
409Conflict - Resource already exists
422Unprocessable Entity - Validation error
500Internal Server Error - Something went wrong on our end
502Bad Gateway - External service error

Error Response Format

All error responses follow a consistent structure:
{
  "code": "error_code",
  "message": "Human-readable error message",
  "details": {
    "field": "Additional context about the error"
  }
}

API Error Codes

General Errors

Error CodeDescription
not_foundResource was not found
validation_errorA parameter was incorrect or missing. Check details for more information
bad_requestThe request was malformed or invalid
already_existsResource already exists (e.g., duplicate idempotency key)
internal_errorSomething went wrong with our internal systems

Example

{
  "code": "validation_error",
  "message": "Invalid request parameters",
  "details": {
    "products": "At least one product is required"
  }
}

Authentication Errors

Error CodeDescription
unauthorizedAuthentication is required for this action
forbiddenYou do not have permission for this action
invalid_tokenYour API token is invalid
token_expiredYour API token has expired

Example

{
  "code": "invalid_token",
  "message": "The provided API token is not valid"
}

Wallet & Payment Errors

Error CodeDescription
insufficient_fundsInsufficient funds in wallet for the order
payment_failedPayment operation failed
payment_method_requiredNo default payment method configured
invalid_payment_methodThe provided payment method is invalid

Example

{
  "code": "insufficient_funds",
  "message": "Your wallet balance is insufficient for this order",
  "details": {
    "required": 4999,
    "available": 1000
  }
}

Order Request Errors

Error CodeDescription
invalid_shipping_addressThe shipping address failed validation
url_unreachableThe product URL provided is inaccessible
invalid_variantProduct variant not provided or not found on product page
out_of_stockProduct is not currently available for purchase
shipping_unavailableShipping to this address is not available
non_us_retailerOnly US retailer sites are supported
order_not_cancellableOrder cannot be cancelled due to its current status

Example

{
  "code": "invalid_shipping_address",
  "message": "The shipping address could not be validated",
  "details": {
    "field": "postal_code",
    "reason": "Postal code does not match city/state"
  }
}

External Service Errors

Error CodeDescription
external_service_errorAn external service call failed

Example

{
  "code": "external_service_error",
  "message": "Unable to connect to external service. Please try again."
}

Order Processing Errors

When an order fails during processing, the error_type field in the order response or webhook payload contains one of these codes:

Product Errors

Error TypeDescription
product_not_foundProduct page doesn’t exist or was removed
product_out_of_stockProduct is out of stock
product_unavailableProduct exists but cannot be purchased
invalid_product_urlURL is malformed or not a valid product page
product_variant_requiredProduct requires a variant selection
product_variant_unavailableSelected variant is not available
product_quantity_unavailableRequested quantity is not available

Example

{
  "event": "order.failed",
  "order_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "failed",
  "timestamp": "2026-01-15T14:30:00Z",
  "data": {
    "error_type": "product_out_of_stock",
    "error": "The requested product is currently out of stock"
  }
}

Price Errors

Error TypeDescription
max_price_exceededTotal price exceeds the max_price limit

Example

{
  "event": "order.failed",
  "order_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "failed",
  "timestamp": "2026-01-15T14:30:00Z",
  "data": {
    "error_type": "max_price_exceeded",
    "error": "Order total of $52.99 exceeds max_price of $50.00"
  }
}

Cart & Checkout Errors

Error TypeDescription
add_to_cart_failedCould not add product to cart
cart_emptyCart became empty during checkout
checkout_blockedCheckout blocked (captcha, verification, etc.)
checkout_failedGeneric checkout failure

Example

{
  "event": "order.failed",
  "order_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "failed",
  "timestamp": "2026-01-15T14:30:00Z",
  "data": {
    "error_type": "checkout_blocked",
    "error": "Checkout requires additional verification"
  }
}

Shipping Errors

Error TypeDescription
shipping_address_invalidAddress validation failed on retailer site
shipping_unavailableCannot ship to the given address
shipping_method_unavailableNo shipping methods available

Example

{
  "event": "order.failed",
  "order_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "failed",
  "timestamp": "2026-01-15T14:30:00Z",
  "data": {
    "error_type": "shipping_unavailable",
    "error": "This item cannot be shipped to the selected address"
  }
}

Payment Errors

Error TypeDescription
payment_declinedPayment was declined by retailer
payment_method_invalidPayment method not accepted
payment_failedGeneric payment failure

Example

{
  "event": "order.failed",
  "order_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "failed",
  "timestamp": "2026-01-15T14:30:00Z",
  "data": {
    "error_type": "payment_declined",
    "error": "The payment method was declined by the retailer"
  }
}

Account Errors

Error TypeDescription
login_failedCould not log into retailer account
session_expiredSession expired during checkout
account_lockedRetailer account is locked or suspended
account_verification_requiredAccount needs verification

Example

{
  "event": "order.failed",
  "order_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "failed",
  "timestamp": "2026-01-15T14:30:00Z",
  "data": {
    "error_type": "login_failed",
    "error": "Unable to authenticate with retailer account"
  }
}

Retailer Errors

Error TypeDescription
retailer_unavailableRetailer website is down or inaccessible
retailer_not_supportedRetailer is not supported
retailer_rate_limitedRate limited by retailer

Example

{
  "event": "order.failed",
  "order_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "failed",
  "timestamp": "2026-01-15T14:30:00Z",
  "data": {
    "error_type": "retailer_unavailable",
    "error": "The retailer website is currently unavailable"
  }
}

Quantity Limit Errors

Error TypeDescription
quantity_limit_exceededRetailer has purchase quantity limits
order_limit_exceededAccount has reached order limits

Example

{
  "event": "order.failed",
  "order_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "failed",
  "timestamp": "2026-01-15T14:30:00Z",
  "data": {
    "error_type": "quantity_limit_exceeded",
    "error": "Maximum purchase quantity for this item is 3"
  }
}