Create product variant

POST /api/v1/inventory/products/variants

Create a new product variant with Stripe integration.

Operation ID: create_variant_api_v1_inventory_products_variants_post · View as markdown · OpenAPI slice

Authentication

Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.

Request body

product_id string

UUID of the parent product this variant belongs to.

unit_price integer

Sale price in cents (e.g., 2999 = $29.99).

unit_cost integer

Cost price in cents for margin calculations.

unit_cost_precise number

Precise unit cost in dollars with sub-cent precision (e.g. 0.0478 for $0.0478/gram).

name string

Variant name (e.g., 'Large - Blue').

sku string

Stock Keeping Unit - unique identifier for inventory.

manufacturer_sku string

Manufacturer's SKU for supplier ordering.

uom string

Unit of measure: EA, LB, G, KG, OZ, L, ML, etc.

default_vendor_id string

UUID of the preferred vendor for this variant.

initial_inventory_quantity integer

Starting inventory quantity.

initial_inventory_quantity_date string · date-time

Date for the initial inventory count (ISO 8601).

Responses

201 Successful Response

id string required

Variant UUID.

product_id string required

Parent product UUID.

business_id string required

Business UUID.

created_at string · date-time required

Creation timestamp.

updated_at string · date-time required

Last update timestamp.

name string required

Variant name.

sku string

Stock Keeping Unit.

manufacturer_sku string

Manufacturer's SKU.

archived boolean

Whether variant is archived.

price number

Unit price in dollars (legacy field, prefer unit_price).

cost number

Unit cost in dollars (legacy field, prefer unit_cost).

inventory_quantity integer

Current inventory quantity (legacy, prefer inventory.on_hand).

shopify_variant_id string

Shopify variant ID if synced from Shopify.

stripe_price_id string

Stripe price ID if synced to Stripe.

stripe_product_id string

Stripe product ID if synced to Stripe.

unit_price integer

Sale price in cents.

unit_cost integer

Cost price in cents.

unit_cost_precise number

Precise unit cost in dollars with sub-cent precision.

uom string

Unit of measure: EA, LB, G, KG, OZ, etc.

default_vendor_id string

Preferred vendor UUID.

inventory InventorySummary

Detailed inventory breakdown.

product_name string

Parent product name (resolved).

margin_cents integer required

Profit margin in cents (unit_price - unit_cost).

margin_percentage number required

Profit margin as percentage of sale price.

400 Bad request - invalid data or missing Stripe account

404 Business or product not found

409 Variant with same SKU already exists

422 Validation error