---
title: "Create Order"
method: POST
path: "/v1/orders/"
tags: ["orders", "public"]
---

# Create Order

`POST /v1/orders/`

Create a draft order for an off-session charge against a saved payment
method. The order is created with `status=draft` and no invoice number;
call `POST /v1/orders/{id}/finalize` to attempt the charge.

The organization must have the `off_session_charges_enabled` feature flag.

**Scopes**: `orders:write`

## Request body

- OrderCreate — Schema to create a draft order for an off-session charge.
  - `custom_field_data` object — Key-value object storing custom field values.
  - `metadata` object — Key-value object allowing you to store additional information. The key must be a string with a maximum length of **40 characters**. The value must be either: * A string with a maximum length of **500 characters** * An integer * A floating-point number * A boolean You can store up to **50 key-value pairs**.
  - `organization_id` string, uuid4, nullable — The organization ID.
  - `customer_id` string, uuid4, required — The ID of the customer the order is for. Must belong to the order's organization.
  - `product_id` string, uuid4, required — The ID of the one-time product to charge for. Must belong to the order's organization. Only fixed-price and free products are supported.
  - `currency` string, nullable — The currency to charge in (ISO 4217, lowercase, e.g. `usd`). Defaults to the organization's default currency; specify it to force a different one, or when the product isn't priced in the organization's default currency.
  - `amount` integer, nullable — A custom amount to charge, in the smallest currency unit. Overrides the product's price; defaults to the product's configured price (0 for free products). A positive amount must be at least the currency's minimum.
  - `description` string, nullable — A custom description for the order's line item, shown on the invoice and receipt (e.g. `5,000 tokens`). Defaults to the product name.

## Response `201`

Successful Response

- Order — unresolved $ref

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/polar/apis/polar-api.md) · [All operations](https://skmtc.net/polar/apis/polar-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polar/polar-api/revisions/77e4ef94fcc3/schema)
