---
title: "Submit Order Intake Request"
method: POST
path: "/v1/order-intake/requests"
tags: ["Order Intake"]
---

# Submit Order Intake Request

`POST /v1/order-intake/requests`

## Request

- Base URL: `https://api.sandbox.usenash.com`
- URL: `https://api.sandbox.usenash.com/v1/order-intake/requests`
- Auth: none declared

Submit the visitor's request on a form that collects requests for review: the quote's fields plus `submission_id`, a UUID the page generates once per submission and sends again on a retry. Saves one order for the business to review and dispatch; nothing is quoted, booked or dispatched. Idempotent per `submission_id`: a retry, a double click or a new session for the same form gets the same `reference` and never a second order. `reference` identifies the order.

`VALIDATION_ERRORS` (422) maps body paths (`store_id`, `recipient.phone`, `submission_id`, ...) to a static message in `details.fields`; a store, strategy or vehicle the form does not offer is one of them. `ORDER_INTAKE_DAILY_LIMIT` (429) when the form reached its daily order limit. Refusals are the uniform `FORBIDDEN` (403) or `SESSION_EXPIRED` (410); `RATE_LIMITED` (429) and `ORDER_INTAKE_UNAVAILABLE` (503) carry `Retry-After`.

## Request body

- IntakeRequestBody: Loose edge model for `POST /v1/order-intake/requests`: the quote body plus `submission_id`. Typed loosely for the same reason as `IntakeQuoteBody`: the route authenticates first, then the strict model reports what broke a limit. Unknown fields are ignored.
  - `store_id` unknown
  - `dropoff` unknown
  - `recipient` unknown
  - `instructions` unknown
  - `vehicle_type` unknown
  - `strategy_id` unknown
  - `submission_id` unknown

## Response `201`

Created

- IntakeRequestReceipt: What `POST /v1/order-intake/requests` answers (spec §5.10a step 8), the same body for every retry. `reference` is the saved order's `external_id`, the one the merchant sees in Orders.
  - `status` 'received', required
  - `reference` string, required

## Other responses

- `403`: Forbidden
- `410`: Gone
- `422`: Unprocessable Content
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/nash/apis/nash-api.md) - [All operations](https://skmtc.dev/nash/apis/nash-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nash/apis/nash-api/revisions/e3713837c5c9?raw)
