---
title: "Create price variant"
method: POST
path: "/price_variants"
tags: ["PriceVariants"]
---

# Create price variant

`POST /price_variants`

## Request

- Base URL: `https://api.crevio.co/v1`
- URL: `https://api.crevio.co/v1/price_variants`
- Auth: API key in header `Authorization`

Creates a new price variant for a product

## Headers

- `Idempotency-Key` string

## Request body

- PriceVariantRequest
  - `product` string, required: Product ID the variant belongs to
  - `name` string
  - `amount_type` 'free' | 'fixed' | 'custom'
  - `amount` integer, nullable
  - `currency` string, nullable
  - `billing_type` 'subscription' | 'one_time' | 'payment_plan'
  - `recurring_interval` 'day' | 'week' | 'month' | 'year', nullable
  - `interval_count` integer
  - `installment_count` integer, nullable
  - `setup_fee_amount` integer, nullable
  - `trial_period_days` integer, nullable
  - `revoke_after_days` integer, nullable
  - `quantity_available` integer, nullable
  - `waitlist` boolean
  - `archived` boolean, nullable
  - `hidden` boolean, nullable

## Response `201`

Price variant created

- PriceVariant
  - `id` string, required
  - `object` string, required
  - `name` string, required
  - `amount` integer, nullable, required
  - `amount_type` 'free' | 'fixed' | 'custom', required
  - `billing_type` 'subscription' | 'one_time' | 'payment_plan', required
  - `recurring_interval` 'day' | 'week' | 'month' | 'year' | 'null', nullable, required
  - `interval_count` integer, required
  - `installment_count` integer, nullable, required
  - `setup_fee_amount` integer, nullable, required
  - `trial_period_days` integer, nullable, required
  - `revoke_after_days` integer, nullable, required
  - `quantity_available` integer, nullable, required
  - `archived` boolean, nullable, required
  - `position` integer, required
  - `hidden` boolean, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `currency` string, nullable, required
  - `discounted_from_amount` integer, nullable, required
  - `minimum_amount` integer, nullable, required
  - `maximum_amount` integer, nullable, required
  - `preset_amount` integer, nullable, required
  - `waitlist` boolean, required
  - `benefits` string[]
  - `purchase_url` string, required
  - `product` string, required

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `403`: Forbidden
- `404`: Resource not found
- `422`: Validation error
- `429`: Rate limit exceeded — 600 requests per minute per credential. Retry after the number of seconds in `Retry-After`.
- `500`: Internal server error

---

[API](https://skmtc.dev/crevio/apis/crevio-api-v1.md) · [All operations](https://skmtc.dev/crevio/apis/crevio-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/crevio/apis/crevio-api-v1/revisions/2219f18ad651?raw)
