Skip to content

Add to offer

API v2 is in public beta: endpoints and fields can change before general availability. See the changelog

POST/preorders/products/add_to_offer

Costs 2 rate-limit points · Rate limits

Add variants to one preorder offer as the store-wide Products tab's 'Add to offer' does. Like the tab, it runs no pre-flight check.

shopify_variant_ids are up to 100 Shopify variant gids. Unlike /preorders/offers/:id/products/add_variants, this does not run the pre-flight check, because the tab's 'Add to offer' does not: variants are added even when other offers already have them, 'Continue selling' is off, or a sales channel can't sell preorders. Use add_variants to get those warnings first. Offers whose markets.scope is selected cannot be picked, and variants another market-specific offer owns are left out (skipped_market_variant_count). inventory_policy: CONTINUE then turns 'Continue selling' on for the variants, on an out-of-stock offer only, as the tab's 'Turn on Continue selling' choice does; omit it to leave their policy. Finishes before the response.

Also searched asadd to offeradd products to offer from products tabassign offer to variantsbulk add to offer

Headers

  • Idempotency-Keystring

    A fresh unique key for every write (a new UUID, say); reuse it only to retry that write. Keys are remembered for 1 hour: the same key and the same request within that hour returns the first result, with Idempotent-Replayed: true, without running again; the same key with a different method, path or body is refused (422 idempotency_key_reused); a retry while the first is still running gets 409 idempotency_key_in_progress. Keys are per store. Server errors and rate limits are not kept, so their retry runs.

Request body

  • offer_idstring
    Example: string
  • shopify_variant_idsarray of strings
  • inventory_policystring
    Example: string

Errors

401

Missing or invalid X-Auth-Token.

409

An earlier request with the same Idempotency-Key is still running. Wait, then resend the same request with the same key.

422

The request failed validation.

429

Rate limited: cost-weighted per token (read 1, write 2; 360 points / 60s). Check Retry-After.

Every error has the same shape: see Errors.

POST/preorders/products/add_to_offer
curl -X POST "https://app.stoqapp.com/api/v2/external/preorders/products/add_to_offer" \
  -H "X-Auth-Token: $STOQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "offer_id": "string",
    "shopify_variant_ids": [
      "45000000001"
    ],
    "inventory_policy": "string"
  }'
Response
No body