Set a store price override (prix magasin / surcharge)
Upserts a store-scoped override (prix magasin) for a (store, sku): a first write inserts at version 1, a later write goes through optimistic concurrency. The override is keyed on the SELLABLE-UNIT id, carried as productId. An optional validity window (validFrom/validTo, ISO-8601, validFrom before validTo) bounds when it applies; higher priority wins when several overlap. TO UPDATE, resend the same (store, sku) with the expectedVersion you last read, e.g. { storeId: 'store-1', productId: 'sku-espresso-1kg', priceCents: 1400, expectedVersion: 1 }. Requires the kernel price:override grant (403 without). 409s on a stale expectedVersion.
Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Body
110 <= x <= 90071992547409910 <= x <= 9007199254740991^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$0 <= x <= 9007199254740991Response
The persisted override identity + its bumped version.
The persisted override identity + its bumped version.
Composite store:sku override id.
Store the override applies in.
Sellable-unit id the override is keyed on.
The version the write landed at (bumped on update).
-9007199254740991 <= x <= 9007199254740991The persisted override price in cents.
0 <= x <= 9007199254740991
