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

# Create order

`POST /orders`

Accept a quote and create an order. The `nonce` field provides idempotency.

## Request body

- CreateOrderRequest — Body for creating an order from an accepted quote.
  - `order_request_id` string, required — The order request to fulfill.
  - `order_quote_id` string, required — The accepted quote.
  - `nonce` string, required — Client-generated idempotency key.
  - `payment_instrument_id` string, required — Reference to the registered payment instrument.

## Response `201`

Order created.

- Order — An order.
  - `id` string, required — Unique order identifier.
  - `intent_id` string, required — Shared intent identifier for tracing Request -> Quote -> Order.
  - `nonce` string, required — Client-generated idempotency key.
  - `payment_instrument_id` string, required — Reference to the payment instrument used.

## Other responses

- `400` — Invalid nonce or quote does not belong to request.
- `404` — Order request or quote not found.
- `409` — Duplicate nonce.

---

[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)
