Skip to content

Bulk reschedule fulfillment orders

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

POST/preorders/orders/bulk_reschedule_fulfillment

Costs 2 rate-limit points · Rate limits

Change the fulfillment date of many preorder orders (up to 1000 order_ids, or apply_to_all with the order list filters).

Matches the dashboard bulk action Reschedule fulfillment. Pass fulfill_at (one date for all) or anchor_days (each order created_at plus N days). send_shipping_update emails each customer whose scheduled fulfillment moved, as the modal does. subject and header default to the template text. description is sent as given; left out, it is what the modal prefills: "Your preorder is now scheduled to ship on {date}." (each order's new fulfillment UTC date in the shop's app language) followed by the template text. Poll status_url for per-order results.

Also searched asbulk reschedule fulfillmentchange fulfillment date for many ordersreschedule many ordersmove fulfillment dates in bulk

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

  • searchstring
    Example: string
  • financial_statusstring
    Example: string
  • fulfillment_statusstring
    Example: string
  • preorder_fulfillment_statusstring
    Example: string
  • cancelled_statusstring
    Example: string
  • payment_collection_statusstring
    Example: string
  • offer_idstring
    Example: string
  • shopify_variant_idstring
    Example: 45000000001
  • shopify_product_idstring
    Example: 78000000001
  • vendorsstring
    Example: string
  • customer_idstring
    Example: string
  • fromstring
    Example: string
  • tostring
    Example: string
  • order_idsarray of strings
  • apply_to_allstring
    Example: string
  • fulfill_atstring
    Example: 2026-07-01T00:00:00Z
  • anchor_daysstring
    Example: string
  • send_shipping_updatestring
    Example: 2026-07-01T00:00:00Z
  • subjectstring
    Example: string
  • headerstring
    Example: string
  • descriptionstring
    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/orders/bulk_reschedule_fulfillment
curl -X POST "https://app.stoqapp.com/api/v2/external/preorders/orders/bulk_reschedule_fulfillment" \
  -H "X-Auth-Token: $STOQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "search": "string",
    "financial_status": "string",
    "fulfillment_status": "string",
    "preorder_fulfillment_status": "string",
    "cancelled_status": "string",
    "payment_collection_status": "string",
    "offer_id": "string",
    "shopify_variant_id": "45000000001",
    "shopify_product_id": "78000000001",
    "vendors": "string",
    "customer_id": "string",
    "from": "string",
    "to": "string",
    "order_ids": [
      "string"
    ],
    "apply_to_all": "string",
    "fulfill_at": "2026-07-01T00:00:00Z",
    "anchor_days": "string",
    "send_shipping_update": "2026-07-01T00:00:00Z",
    "subject": "string",
    "header": "string",
    "description": "string"
  }'
Response
No body