---
title: "Create an order from a quote (AP2 mandate-gated)"
method: POST
path: "/orders"
---

# Create an order from a quote (AP2 mandate-gated)

`POST /orders`

## Request

- Base URL: `https://api.mechanofab.com/v1`
- URL: `https://api.mechanofab.com/v1/orders`
- Auth: HTTP bearer

## Request body

- object
  - `parts` object[], required
  - `mandate_id` string
  - `payment_credential` object: Agent payment credential (MPP). Phase 0: SPT only.
    - `type` 'spt', required
    - `token` string, required: spt_...
  - `contact` object
  - `shipping_info` object
  - `notes` string

## Response `201`

Order created

- object

## Other responses

- `400`: Invalid request/input.
- `401`: Missing/invalid credentials.
- `402`: Insufficient credits.
- `403`: Scope/tool forbidden.
- `404`: Unknown resource.
- `409`: Idempotency conflict.
- `429`: Rate limited.
- `503`: Control plane / runtime unavailable.

---

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