Skip to main content
POST
Spree Admin SDK

Authorizations

x-spree-api-key
string
header
required

Secret API key for admin access

Authorization
string
header
required

JWT token for admin user authentication

Headers

x-spree-api-key
string
required
Authorization
string
required

Body

application/json
name
string
required
Example:

"EU wholesale"

description
string | null
starts_at
string | null
Example:

"2026-06-01T00:00:00Z"

ends_at
string | null
Example:

"2026-09-01T00:00:00Z"

match_policy
enum<string>
Available options:
all,
any
Example:

"all"

position
integer
Example:

1

rules
object[]

STI-typed price rules to attach on create. Existing rules on the same payload via PATCH reconcile by id.

prices
object[]

Server-to-server shape: ship the exact per-variant prices the list should contain. Each row upserts on the unique key (variant_id, currency, price_list_id)prices alone tells the server which variants belong to the list and what the override amount is. Curating whole products goes through the nested /price_lists/{id}/products surface instead.

Response

price list created (server-to-server — rules + prices)

id
string
required
name
string
required
description
string | null
required
status
required

The values listed are the built-in ones; extensions may add more.

Available options:
draft,
active,
inactive,
scheduled
position
number
required
match_policy
enum<string>
required
Available options:
all,
any
adjust_compare_at
boolean
required
starts_at
string | null
required
ends_at
string | null
required
deleted_at
string | null
required
created_at
string
required
updated_at
string
required
price_adjustment_percentage
string | null
required
automatic_pricing
boolean
required
currently_active
boolean
required
products_count
number
required
prices_count
number
required
price_adjustment_tiers
object[]
required
price_rules
object[]