POST /api/v2/storefront/buyer-instructions
Creates a new buyer-instructions row. The (operatorDomain, brandDomain) tuple
is unique per storefront — a duplicate scope fails with 409. To change an
existing row, update
it instead.
Request
curl
Parameters
All five fields are required. Sendnull for any you want to leave unscoped.
| Field | Type | Required | Notes |
|---|---|---|---|
operatorDomain | string | null | Yes | Operator the row applies to, or null for any operator. 1–253 chars |
brandDomain | string | null | Yes | Brand the row applies to, or null for any brand. 1–253 chars |
discountPercent | number | null | Yes | Discount off base price, 0–100. null for no discount |
notes | string | null | Yes | Composition notes, max 2000 chars. null for no notes |
countries | string[] | null | Yes | ISO 3166-1 alpha-2 codes (uppercase), at least one when set. null for all countries |
Response
201 with the created row. The resolver picks the maximum
discountPercent across all rows that match a given buyer.
Errors
400 VALIDATION_ERROR— missing required field,discountPercentout of0–100, or a malformed country code.409 CONFLICT— a row already exists for this(operatorDomain, brandDomain)scope. Update that row instead.401 UNAUTHORIZED— missing or invalid bearer token.
Related
Buyer instruction tasks
All buyer-instructions operations.
Update buyer instructions
Change discount, notes, or countries.