Deactivate a promotion rule
Retires one automatic promotion, addressed by the path id, by ENDING its validity window now: the till stops applying it immediately and the directory reads it as expired. A promotion rule has NO active flag — its [validFrom, validUntil] window IS its lifecycle — so this is the soft-retire (there is no hard delete). The rule is returned with its window pulled shut (a still-scheduled rule has its validFrom clamped too so the window never inverts). It stays in the catalogue as an expired row, so an audit trail survives. There is no reactivate: re-open it with PUT /v1/promotions/{id} carrying a fresh window (you must supply the full mechanics again). Idempotent-ish — re-deactivating an already-expired rule just re-pulls the window. 404s when no rule bears 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 retired rule, its validity window pulled shut so it no longer applies.
- Option 1
- Option 2
- Option 3
The retired rule, its validity window pulled shut so it no longer applies.
1^(?:(?:\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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$^(?:(?:\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|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$bogo ^[0-9a-f]{64}$0 < x <= 9007199254740991^[0-9a-f]{64}$0 < x <= 90071992547409911 <= x <= 10000
