Nyehandel
    • Introduction
    • Getting started
    • Webhooks
    • Filtering
    • Rate limits
    • API Reference
    • Order
      • Get order
        GET
      • Get orders
        GET
      • Create order
        POST
      • Deliver order
        POST
      • Update order
        POST
      • Get delivery notes
        GET
      • Simple create order
        POST
      • Cancel Order
        POST
    • Shipping Method
      • Get Shipping methods
        GET
    • Product
      • Relation between products and variants
      • Get products
        GET
      • Update products batch
        PUT
      • Create products batch
        POST
      • Create product
        POST
      • Update product
        PUT
      • Create variant
        POST
      • Find product by sku or id
        GET
      • Delete product
        DELETE
    • Variant
      • Update variant batch
        PUT
      • Update variant
        PUT
      • Delete product variant
        DELETE
      • Find variant
        GET
    • Payment Method
      • Get Payment methods
    • Customer
      • Get Customer
      • Get Customers
      • Create Customer
    • Category
      • Get category by external identifier
      • Create category
      • Update category
      • Get category
      • Delete category
      • Get categories
    • Currency
      • Get currencies
    • Headless
      • Pages
        • Get Page
        • Get Pages
      • Categories
        • Get Pages
        • Get Category
      • Startpage
      • System
    • Purchase
      • Get purchases
    • Supplier
      • Get supplier
      • Get suppliers

    Rate limits

    Overview#

    The API uses token bucket rate limiting. Limits are tracked per authenticated API token.

    Standard Endpoints#

    LimitWindowTracked by
    500 requestsPer minuteAPI token

    Rate Limit Headers#

    Every response includes rate limit headers:
    HeaderDescription
    X-RateLimit-LimitMaximum requests allowed per window (500)
    X-RateLimit-RemainingRequests remaining in current window
    Retry-AfterSeconds until the window resets (only on 429 responses)

    HTTP 429 Response#

    When the rate limit is exceeded, the API returns:
    {
      "message": "Too Many Attempts."
    }

    Batch Endpoints#

    Batch endpoints use weighted rate limiting where each item in the batch consumes one unit from the same 500/minute budget.
    EndpointMethodArray keyMax batch size
    /api/v2/products/batchPOSTproducts50
    /api/v2/products/batchPUTproducts50
    /api/v2/product-variants/batchPOSTvariants50
    /api/v2/variants/batchPUTvariants50

    How Batch Costs Work#

    A batch request costs 1 unit per item in the request body array. For example, a POST /api/v2/products/batch with 25 products consumes 25 units from the 500/minute budget.
    A request with 1 item = 1 unit
    A request with 50 items = 50 units
    A request with >50 items is rejected with 422 Unprocessable Entity before any rate limit is consumed

    Rate Limit Exceeded During Batch (429)#

    If the remaining budget is insufficient for the batch size, the entire request is rejected. For example, if 480 units have been consumed and a batch of 25 items is sent, the request is rejected because 480 + 25 > 500.

    Best Practices#

    1.
    Monitor rate limit headers — check X-RateLimit-Remaining to avoid hitting limits
    2.
    Use batch endpoints for bulk operations instead of individual requests
    3.
    Implement exponential backoff when receiving 429 responses
    Modified at 2026-04-01 07:18:20
    Previous
    Filtering
    Next
    Get order
    Built with