Set variant pricing schedule
const url = 'https://quikstik-core.fly.dev/offerings/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/variants/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/pricing-schedule';const options = { method: 'PUT', headers: { 'x-tenant-id': '2489E9AD-2EE2-8E00-8EC9-32D5F69181C0', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"rules":[{"effective_start":"2026-04-15","effective_end":"2026-04-15","demand_class":"example","unit_net_minor":1,"currency":"USD","tax_class":"taxable"}],"schedule":{"kind":"daily_at","tz":"example","start_times":[{"hour":1,"minute":1}]}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://quikstik-core.fly.dev/offerings/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/variants/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/pricing-schedule \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'x-tenant-id: 2489E9AD-2EE2-8E00-8EC9-32D5F69181C0' \ --data '{ "rules": [ { "effective_start": "2026-04-15", "effective_end": "2026-04-15", "demand_class": "example", "unit_net_minor": 1, "currency": "USD", "tax_class": "taxable" } ], "schedule": { "kind": "daily_at", "tz": "example", "start_times": [ { "hour": 1, "minute": 1 } ] } }'Operator-scoped, authoritative provisioning of a variant’s price book (rate rules) and availability recurrence. Resolves against operator effect authority; this is not a customer surface. Replaces the variant’s rate rules, recurrence, and start-times wholesale. A malformed schedule (empty/overlapping rules, inverted range, empty fixed schedule, unknown timezone, or invalid clock time) is rejected before any write.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Header Parameters
Section titled “Header Parameters”Tenant identifier (UUID).
Authn/authz semantics are intentionally TBD for this contract slice; this header exists to keep the contract explicitly multi-tenant from day 0.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Rate rules forming the price book (non-empty; non-overlapping within a lane).
object
Inclusive start of the effective range (omit/null = unbounded below).
Inclusive end of the effective range (omit/null = unbounded above).
Demand lane label; omit/null for the default lane.
Tax-exclusive unit net in integer minor units.
object
IANA timezone id (e.g. “America/New_York”). Resolvability is enforced server-side.
At least one local start-time.
object
object
IANA timezone id.
Responses
Section titled “Responses”Pricing schedule applied
Malformed pricing schedule (empty/overlapping rules, inverted range, empty fixed schedule, unknown timezone, or invalid clock time)