Skip to content

Update a market on an offer

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

PATCH/preorders/offers/{id}/markets

Costs 2 rate-limit points · Rate limits

Update any subset of the market settings on a preorder offer.

Deep partial: absent fields are unchanged. Get market GIDs from the shop's Shopify markets.

Also searched asedit marketschange market scopingmodify marketsenable market scopingturn on market scopingscope to marketsenable marketsdisable market scopingturn off market scopingremove market restrictionsglobal preorderenable all marketsapply to all marketsall countriesavailable everywhereadd marketinclude marketadd countryextend to marketremove marketexclude marketdrop marketremove countryset marketschange marketsrestrict to marketsset countriesset regions

Path parameters

  • idstringRequired

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

  • scopestring

    all applies the offer in every market and clears shopify_market_ids; selected applies it only in shopify_market_ids, which must not be empty.

    One of allselected
  • shopify_market_idsarray of anys

    Shopify Market GIDs (or numeric ids) the offer applies to when scope is selected. An array replaces the list; {"$add": [...], "$remove": [...]} edits it. Emptying the list moves scope to all.

Returns

  • scopestring
    Example: selected
  • shopify_market_idsarray of strings

Errors

401

Missing or invalid X-Auth-Token.

404

The resource does not exist for this shop, or the action path is not registered.

409

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

422

Invalid fields: one details entry per field error, its path the canonical section path. Nothing was saved.

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.

PATCH/preorders/offers/{id}/markets
curl -X PATCH "https://app.stoqapp.com/api/v2/external/preorders/offers/73a74948-2b57-4cc3-971f-2b441828c977/markets" \
  -H "X-Auth-Token: $STOQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "shopify_market_ids": {
      "$add": [
        "gid://shopify/Market/2"
      ]
    }
  }'
Response
{
  "scope": "selected",
  "shopify_market_ids": [
    "gid://shopify/Market/1",
    "gid://shopify/Market/2"
  ]
}