# POST /prices

**Create a price**

Creates a new price.

Prices describe how you charge for products. You must include a `product_id` in your request to relate this price to a product.

If you omit the `quantity` object, Paddle automatically sets a minimum of `1` and a maximum of `100` for you. This means the most units that a customer can buy is 100. Set a quantity if you'd like to offer a different amount.

If successful, your response includes a copy of the new price entity.

**Required permissions:** `price.write`

## Request body

- `description`: string (required) — Internal description for this price, not shown to customers. Typically notes for your team. (Length: 2–500; pattern: `.*\S.*`)
- `type`: string — Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard. If omitted, defaults to `standard`.
- `name`
- `product_id`: string (required) — Paddle ID for the product that this price is for, prefixed with `pro_`. (pattern: `^pro_[a-z\d]{26}$`)
- `billing_cycle` — How often this price should be charged. `null` if price is non-recurring (one-time). If omitted, defaults to `null`.
- `trial_period` — Trial period for the product related to this price. The billing cycle begins once the trial period is over.
`null` for no trial period. Requires `billing_cycle`. If omitted, defaults to `null`.
- `tax_mode`: string — How tax is calculated for this price. If omitted, defaults to `account_setting`.
- `unit_price`: object (required) — Base price. This price applies to all customers, except for customers located in countries where you have `unit_price_overrides`.
  - `amount`: string (required) — Amount in the lowest denomination for the currency, e.g. 10 USD = 1000 (cents). Although represented as a string, this value must be a valid integer.
  - `currency_code`: string (required) — Supported three-letter ISO 4217 currency code.
- `unit_price_overrides`: array — List of unit price overrides. Use to override the base price with a custom price and currency for a country or group of countries. (Items: max 250)
- `quantity`: object — Limits on how many times the related product can be purchased at this price. Useful for discount campaigns. If omitted, defaults to 1-100.
  - `minimum`: integer (required) — Minimum quantity of the product related to this price that can be bought. Required if `maximum` set. (Range: 1–999999999)
  - `maximum`: integer (required) — Maximum quantity of the product related to this price that can be bought. Required if `minimum` set. Must be greater than or equal to the `minimum` value. (Range: 1–999999999)
- `custom_data` — Your own structured key-value data.

### Request example

```json
{
  "description": "Monthly (per seat) with 14 day trial",
  "name": "Monthly (per seat)",
  "product_id": "pro_01htz88xpr0mm7b3ta2pjkr7w2",
  "unit_price": {
    "amount": "500",
    "currency_code": "USD"
  },
  "billing_cycle": {
    "interval": "month",
    "frequency": 1
  },
  "trial_period": {
    "interval": "day",
    "frequency": 14
  },
  "tax_mode": "account_setting"
}
```

## Response (201)

- `data`: object (required) — Represents a price entity.
  - `id`: string (required) — Unique Paddle ID for this price, prefixed with `pri_`. (pattern: `^pri_[a-z\d]{26}$`)
  - `product_id`: string (required) — Paddle ID for the product that this price is for, prefixed with `pro_`. (pattern: `^pro_[a-z\d]{26}$`)
  - `description`: string (required) — Internal description for this price, not shown to customers. Typically notes for your team. (Length: 2–500)
  - `type`: string (required) — Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard.
  - `name` (required)
  - `billing_cycle` (required) — How often this price should be charged. `null` if price is non-recurring (one-time).
  - `trial_period` (required) — Trial period for the product related to this price. The billing cycle begins once the trial period is over. `null` for no trial period. Requires `billing_cycle`.
  - `tax_mode`: string (required) — How tax is calculated for this price.
  - `unit_price`: object (required) — Base price. This price applies to all customers, except for customers located in countries where you have `unit_price_overrides`.
    - `amount`: string (required) — Amount in the lowest denomination for the currency, e.g. 10 USD = 1000 (cents). Although represented as a string, this value must be a valid integer.
    - `currency_code`: string (required) — Supported three-letter ISO 4217 currency code.
  - `unit_price_overrides`: array (required) — List of unit price overrides. Use to override the base price with a custom price and currency for a country or group of countries. (Items: max 250)
  - `quantity`: object (required) — Limits on how many times the related product can be purchased at this price. Useful for discount campaigns.
    - `minimum`: integer (required) — Minimum quantity of the product related to this price that can be bought. Required if `maximum` set. (Range: 1–999999999)
    - `maximum`: integer (required) — Maximum quantity of the product related to this price that can be bought. Required if `minimum` set. Must be greater than or equal to the `minimum` value. (Range: 1–999999999)
  - `status`: string (required) — Whether this entity can be used in Paddle.
  - `custom_data` (required) — Your own structured key-value data.
  - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
  - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
  - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
- `meta`: object (required) — Information about this response.
  - `request_id`: string (required) — Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.

### Response example

```json
{
  "data": {
    "id": "pri_01hv0vax6rv18t4tamj848ne4d",
    "product_id": "pro_01htz88xpr0mm7b3ta2pjkr7w2",
    "type": "standard",
    "description": "Monthly (per seat) with 14 day trial",
    "name": "Monthly (per seat)",
    "billing_cycle": {
      "interval": "month",
      "frequency": 1
    },
    "trial_period": {
      "interval": "day",
      "frequency": 14,
      "requires_payment_method": false
    },
    "tax_mode": "account_setting",
    "unit_price": {
      "amount": "500",
      "currency_code": "USD"
    },
    "unit_price_overrides": [],
    "custom_data": null,
    "status": "active",
    "quantity": {
      "minimum": 1,
      "maximum": 100
    },
    "import_meta": null,
    "created_at": "2024-04-09T07:14:38.424504286Z",
    "updated_at": "2024-04-09T07:14:38.424504359Z"
  },
  "meta": {
    "request_id": "9e7f51e8-838b-4b2c-b0fa-d52d0593354c"
  }
}
```
