---
title: "Create Dropship Order"
method: POST
path: "/v1/orders"
tags: ["dropship-v1"]
---

# Create Dropship Order

`POST /v1/orders`

Creates a dropship order.

Idempotent on (account, external_ref): a repeat external_ref returns the
existing order with status 200. On-demand items charge immediately.
Contract items allocate committed quantity without a second parts charge
and begin on production hold for an explicit Factory release.

## Request body

- DropshipCreateOrderRequest
  - `sku` string, required
  - `quantity` integer, required
  - `external_ref` string, nullable
  - `retail_unit_price_cents` integer, nullable
  - `source` DropshipOrderSource — Optional integration metadata for tracing an API order upstream.
    - `platform` string, required
    - `store` string, nullable
    - `order_id` string, nullable
    - `order_name` string, nullable
    - `line_item_id` string, nullable
    - `line_item_title` string, nullable
  - `ship_to` DropshipShipTo, required
    - `name` string, required
    - `street1` string, required
    - `street2` string, nullable
    - `city` string, required
    - `state` string, required
    - `zip` string, required
    - `country` string, required
    - `phone` string, nullable
    - `email` string, nullable

## Response `201`

Successful Response

- DropshipOrderResponse
  - `order` DropshipOrder, required
    - `id` string, required
    - `status` string, required
    - `external_ref` string, nullable
    - `sku` string, required
    - `quantity` integer, required
    - `parts_total_cents` integer, required
    - `billing_mode` string
    - `production_hold` boolean
    - `shipping` DropshipOrderShipping, required
      - `status` string, required
    - `tracking` DropshipOrderTracking
      - `carrier` string, nullable
      - `number` string, nullable
      - `url` string, nullable
    - `charges` DropshipOrderCharge[], nullable
      - `kind` string, required
      - `amount_cents` integer, required
      - `status` string, required
      - `stripe_payment_intent_id` string, nullable
      - `created_at` string, required
    - `created_at` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/rmfg/apis/fastapi.md) · [All operations](https://skmtc.dev/rmfg/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rmfg/fastapi/revisions/17a4ad42a016/schema)
