> For the complete documentation index, see [llms.txt](https://docs.getpurpledot.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.getpurpledot.com/docs/purple-dot-apis/public-api/pre-orders.md).

# /pre-orders

## List a shopper’s pre-orders

> Retrieves all pre-orders for a shopper email address. Unlike the other public endpoints, \`api\_key\` alone is not enough: either sign the request, sending \`api\_key\`, \`email\`, \`timestamp\` and a \`token\` computed from them (see Authorizations), or authenticate the shopper with a Shopify Customer Account session token.

```json
{"openapi":"3.1.0","info":{"title":"Purple Dot Public API","version":"v1"},"tags":[{"name":"/pre-orders"}],"servers":[{"url":"https://www.purpledotprice.com/api/v1","description":"Production"}],"security":[{"apiKey":[],"requestSignature":[],"requestTimestamp":[]},{"customerAccountSessionToken":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"query","name":"api_key","description":"Your store's public API key, from the Integration page of the Purple Dot merchant portal."},"customerAccountSessionToken":{"type":"http","scheme":"bearer","description":"A Shopify Customer Account session token, sent as `Authorization: Bearer <token>`. Accepted by `GET /pre-orders` only, in place of `api_key`, `token`, `timestamp` and `email`: the shopper is identified by the session."}},"schemas":{"Pre-order":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Purple Dot pre-order ID."},"reference":{"type":"string","description":"Purple Dot reference number, shared with shoppers."},"created_at":{"type":"string","format":"date-time","description":"When the pre-order was placed."},"placed_at":{"type":"string","format":"date-time","description":"When the pre-order was placed."},"total_amount":{"type":"number"},"currency":{"type":"string","description":"Presentment currency."},"line_items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"estimated_ship_dates":{"type":"string","description":"Formatted in the store's locale. Use the ISO dates to format for the shopper instead."},"earliest_ship_date":{"type":["string","null"]},"latest_ship_date":{"type":["string","null"]},"product_handle":{"type":"string"},"product_name":{"type":"string"},"image_url":{"type":"string"},"product_id":{"type":"string"},"variant_id":{"type":"string"},"order_id":{"type":"string","description":"Set once the line item has been exported to your platform."},"external_order_id":{"type":"string","description":"The platform's own order ID (Shopify's for Shopify stores)."},"is_ready_to_fulfill":{"type":"boolean"},"is_fulfilled":{"type":"boolean"},"order_reference":{"type":"string"},"order_token":{"type":"string"},"cancelled":{"type":"boolean"}},"required":["id","estimated_ship_dates","earliest_ship_date","latest_ship_date","product_handle","product_name","image_url","product_id","variant_id","is_ready_to_fulfill","is_fulfilled","cancelled"]}},"payment_status":{"type":"string","enum":["Paid","Partially paid","Partially refunded","Refunded","Unpaid"]},"cancelled":{"type":"boolean"},"timezone":{"type":"string","description":"The store's IANA timezone, which ship dates fall in."},"shipping_address":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"address1":{"type":"string"},"address2":{"type":["string","null"]},"city":{"type":"string"},"postal_code":{"type":"string"},"province_code":{"type":["string","null"]},"country_code":{"type":"string"},"phone":{"type":["string","null"]}},"required":["first_name","last_name","address1","address2","city","postal_code","province_code","country_code","phone"]}},"required":["id","reference","created_at","placed_at","total_amount","currency","line_items","payment_status","cancelled","timezone","shipping_address"]},"AuthErrorResponse":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}},"paths":{"/pre-orders":{"get":{"tags":["/pre-orders"],"summary":"List a shopper’s pre-orders","description":"Retrieves all pre-orders for a shopper email address. Unlike the other public endpoints, `api_key` alone is not enough: either sign the request, sending `api_key`, `email`, `timestamp` and a `token` computed from them (see Authorizations), or authenticate the shopper with a Shopify Customer Account session token.","parameters":[{"schema":{"type":"string","description":"The email address of the shopper whose pre-orders you want. Required with `api_key`; not sent with a Customer Account session token."},"required":false,"name":"email","in":"query"},{"schema":{"type":"integer","default":10,"description":"Number of pre-orders to return. Defaults to 10, maximum 100."},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","format":"uuid","description":"Returns pre-orders after the given pre-order ID."},"required":false,"name":"starting_after","in":"query"},{"schema":{"type":"string","format":"date-time","description":"Pre-orders placed at or after this time."},"required":false,"name":"created_at_min","in":"query"},{"schema":{"type":"string","format":"date-time","description":"Pre-orders placed at or before this time."},"required":false,"name":"created_at_max","in":"query"},{"schema":{"type":"string","enum":["created_at_asc","created_at_desc"],"default":"created_at_asc","description":"Sort order by creation time. Defaults to `created_at_asc`."},"required":false,"name":"sort","in":"query"}],"responses":{"200":{"description":"The shopper’s pre-orders.","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object","properties":{"result":{"type":"string","enum":["success"]}},"required":["result"]},"data":{"type":"object","properties":{"pre_orders":{"type":"array","items":{"$ref":"#/components/schemas/Pre-order"}},"has_more":{"type":"boolean"},"starting_after":{"type":["string","null"],"format":"uuid"}},"required":["pre_orders","has_more","starting_after"]}},"required":["meta","data"]}}}},"400":{"description":"Missing or unknown `api_key`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthErrorResponse"}}}}}}}}}
```
