---
title: "Create order request"
method: POST
path: "/orders/requests"
tags: ["orders"]
---

# Create order request

`POST /orders/requests`

Submit a new order request with a cart. The `nonce` field provides idempotency.

## Request body

- Cart — A shopping cart.
  - `id` string, required — Unique cart identifier.
  - `intent_id` string, required — Shared intent identifier for tracing Request -> Quote -> Order.
  - `nonce` string, required — Client-generated idempotency key.
  - `items` CartItem[], required — Items in the cart.
    - `id` string, required — Item identifier.
    - `quantity` integer, required — Quantity requested.

## Response `201`

Order request created.

- OrderRequest — An order request.
  - `id` string, required — Unique request identifier.
  - `intent_id` string, required — Shared intent identifier for tracing Request -> Quote -> Order.
  - `nonce` string, required — Client-generated idempotency key.

## Other responses

- `400` — Invalid request.
- `409` — Duplicate nonce or request ID.
- `422` — Validation errors.

---

[API](https://skmtc.net/palette-labs-inc/apis/local-protocol.md) · [All operations](https://skmtc.net/palette-labs-inc/apis/local-protocol/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/palette-labs-inc/local-protocol/revisions/7db6ad75e16d/schema)
