/waitlists
GET /admin/api/v1/waitlists
Request:
limit(number) - Optional. The number of waitlists to retrieve. Set to 10 by default but can be set up to 100created_at_min(ISO8610 timestamp) - Optional. List waitlists created since the given timeupdated_at_min(ISO8610 timestamp) - Optional. List waitlists updated since the given timestarting_after(UUID) - Optional. Paginate pre-orders after the given waitlist ID
Headers:
Link- An IETF RFC 8288 compliant header with links to previous and next page of results for the preorder query.
Body:
waitlists- An array containing waitlistsid- ID used to identify the waitlist inside Purple Dotcreated_at- ISO8610 timestamp of when the waitlist was createdupdated_at- ISO8610 timestamp of when the waitlist was last updatedearliest_ship_date- ISO8610 timestamp of the earliest date the waitlisted product can shiplatest_ship_date- ISO8610 timestamp of the latest date the waitlisted product can shipstate- The state of the waitlist. This can be one of the following:LIVE- Shoppers can start placing preorders for this product if there is no stock in ShopifyPAUSED- Shoppers cannot place preorders for this product until the waitlist is unpausedCLOSED- Waitlist is now closedSCHEDULED- Waitlist will be live on the launch date
launch_date- ISO8610 timestamp of when the waitlist will be livelabels- Labels associated with the waitlistavailability- A map of the product & variant-wise sales dataproduct- Sales data for the productproduct_id- Shopify ID for the productbuy_size- Total number of units allocated for preordercommitted- Total number of preorder units soldavailable- Total number of preorder units available for sale
variants- An array of the sales data for all the product variantsvariant_id- Shopify ID of the product variantsku- SKU code of the product variantbuy_size- Total number of units of the product variant allocated for preorder (this will be null in the case of a per-product waitlist)committed- Total number of preorder units of the product variant soldavailable- Total number of preorder units available of the product variant for sale (this will be null in the case of a per-product waitlist)
starting_after- The ID of the last waitlist in the list which can then be used in the next requesthas_more- Indicates whether there are more orders available to page through
Examples:
POST /admin/api/v1/waitlists (Preview)
Creates a new waitlist. Fails with 409 Conflict if a waitlist already exists for the same product and ship date range.
Request Body
product_id(string, required) — External product ID; the numeric suffix as a string (e.g."123")earliest_ship_date(string, required) — ISO 8601 date; earliest expected ship datelatest_ship_date(string, required) — ISO 8601 date; latest expected ship datemax_units(array, required) — Per-SKU max units; at least one entry required. Each entry:sku_id(string, required) — External SKU/variant ID; the numeric suffix as a string (e.g."456")max_units(number, required) — Maximum units for this SKU (non-negative integer)
state(string, required) — One of:OPEN,PAUSED,CLOSEDlabels(array, required) — Array of label strings (can be empty)
Example Request
Response 201 Created
Errors
400 Bad Request— Invalid or missing required fields404 Not Found— Product or variant not found for the store409 Conflict— A waitlist already exists for this product and ship dates
PUT /admin/api/v1/waitlists (Preview)
Creates a new waitlist or updates an existing one, matched by product and ship date range. If a matching waitlist exists, it is updated; otherwise a new one is created.
Request Body
Same as Create Waitlist.
Response 200 OK
Same structure as the Create response. Returns the created or updated waitlist.
Errors
400 Bad Request— Invalid or missing required fields404 Not Found— Product or variant not found for the store
PUT /admin/api/v1/waitlists/:releaseId (Preview)
Updates an existing waitlist by its ID. Use this when you know the waitlist's id (e.g. from a previous create/upsert or list response).
URL Parameters
releaseId(string) — UUID of the waitlist to update
Request Body
Same as Create Waitlist. The product_id in the body must match the waitlist's current product.
Example Request
Response 200 OK
Same structure as the Create response.
Errors
400 Bad Request— Invalid fields orproduct_iddoes not match the waitlist404 Not Found— Waitlist not found, or belongs to another store
Last updated