---
title: "Add a price to a product. Prices never change; archive and add a new one instead."
method: POST
path: "/prices"
tags: ["Prices"]
---

# Add a price to a product. Prices never change; archive and add a new one instead.

`POST /prices`

## Request

- Base URL: `https://shieldz.cash/api/v1`
- URL: `https://shieldz.cash/api/v1/prices`
- Auth: HTTP bearer

## Request body

- PriceCreate: Send exactly one of unit_amount_usd_cents (a fixed price) or custom_unit_amount (the customer chooses, e.g. tips or donations).
  - `unit_amount_usd_cents` integer: Fixed price per unit in USD cents: 4999 is $49.99. A checkout's total must come to $1 or more.
  - `custom_unit_amount` object: The customer types an amount between minimum and maximum. A link line with this price has a fixed quantity of 1.
    - `minimum_usd_cents` integer: Lowest amount the customer may enter, in cents (at least $1).
    - `maximum_usd_cents` integer: Highest amount, in cents (at most $100,000).
    - `preset_usd_cents` integer: Amount pre-filled on the page. Must sit between minimum and maximum.

## Response `201`

Created

- Price
  - `id` string
  - `object` 'price'
  - `product` string: The product (prod_…) this price belongs to.
  - `active` boolean: false once archived. An archived price can't be added to new carts or links.
  - `unit_amount_usd_cents` integer, nullable: Fixed price per unit in USD cents; null when the customer chooses the amount.
  - `custom_unit_amount` object, nullable: The range the customer chooses from; null for a fixed price.
    - `minimum_usd_cents` integer, nullable
    - `maximum_usd_cents` integer, nullable
    - `preset_usd_cents` integer, nullable
  - `created_at` integer: Unix milliseconds.

## Other responses

- `400`: Error

---

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