Get a promotion by id
Resolves ONE automatic promotion by its rule id and returns the directory projection: id, name, type, status, validFrom, validUntil. That is the whole payload. It does NOT carry the rule’s reward mechanics — no skuId, minQuantity, reward, components, bundlePriceCents or buySkuId — and no other endpoint exposes them either, so this cannot be used to read a rule before rewriting it. Use it to check one promotion’s lifecycle status or validity window; if you need the mechanics, you must already hold them from whatever authored the rule. 404s when no rule carries the id.
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.
Path Parameters
1Response
The promotion directory row (six fields; no reward mechanics).
The promotion directory row (six fields; no reward mechanics).
11bogo, threshold, bundle active, scheduled, expired ^(?:(?:\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))$
