> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://api-docs.papertracc.com/storefront/requests/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api-docs.papertracc.com/_mcp/server. # Overview Order requests let shoppers ask for something the merchant makes or sources for them: a tailored outfit, a cake for a date, or an item that is not in the catalogue. Nothing is charged. The merchant reviews the request, replies with a price, and turns it into an order. ## Two kinds of form A product can carry a request form, returned by Get Product as `request_form`. Its `mode` decides the flow: | `mode` | What the shopper does | | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `REQUEST` | Answers the questions and sends them with Create Request. `requestable` is `true` on the product. | | `BUY_NOW` | Answers the questions, picks a date, and adds the product to the cart with `answers` and `needed_by` on the cart item. They pay at checkout like any other line. | A product with an open price is also `requestable`, with or without a form. The store can also have a custom request form for anything not in the catalogue. Get Request Form returns it, and Create Request uses it for items sent without a `variant_id`. ## Answering questions Each field in `fields` has a `key` and a `type`. Send one answer per question, with the same `key` and the value for its type: | `type` | Send | | ------------------- | ---------------------------------------------------------------------------------------- | | `CHOICE` | `choices`: option labels. More than one only when `multiple` is `true`. | | `TEXT`, `LONG_TEXT` | `text`, up to `max_length` characters. | | `NUMBER` | `number`, between `min` and `max` when set. | | `YES_NO` | `yes`. | | `MEASUREMENTS` | `measurements` with a `label` and `value` for each one asked, and `unit` (`CM` or `IN`). | | `PHOTO` | `files`: `id`s from Upload Request Picture, up to `max_files`. Requests only. | Options can carry `prices`. On a `BUY_NOW` cart line the chosen options are added to the unit price and shown as `add_on`, and the line's `answers` list what the shopper chose. ## Dates and daily limits `needed_by` is the date the shopper needs the order by. It must fall between today and two years ahead, and no earlier than the longest lead time of the items. When a form is `limited`, the merchant takes only so many orders a day. Call Get Request Availability with the form's `id` to grey out full days in your date picker; a full day is refused with `422`. ## Pictures Upload each picture with Upload Request Picture before sending the request, then send the returned `id`s in `photos` (for the whole request) or in a `PHOTO` answer's `files`. Pictures are PNG, JPG, GIF, WEBP or AVIF, at most 10 MB, sent as a data URI. Use each `id` once, within 24 hours. ## Signed-in shoppers Send `shopper-token` on Create Request to link the request to the shopper's account. A `MEASUREMENTS` answer with `save_as` is then also saved to the account, and Save Measurements, List Measurements and Delete Measurements manage those sets so the shopper does not type them again. ## Limits A request holds up to 10 items, 5 links and 5 pictures. A shopper can send 5 requests and upload 30 pictures in 15 minutes. ## API Docs - Requests [Get Request Form](https://api-docs.papertracc.com/storefront/requests/get-request-form.md) - Requests [Get Request Availability](https://api-docs.papertracc.com/storefront/requests/get-request-availability.md) - Requests [Upload Request Picture](https://api-docs.papertracc.com/storefront/requests/upload-request-picture.md) - Requests [Create Request](https://api-docs.papertracc.com/storefront/requests/create-request.md) ## OpenAPI Specification The raw OpenAPI 3.1 specification for this API is available at: - [OpenAPI JSON](https://api-docs.papertracc.com/openapi.json) - [OpenAPI YAML](https://api-docs.papertracc.com/openapi.yaml)