Close (lock) a fiscal period
LOCKS a fiscal period, sealing its cash truth so it can no longer be re-opened or re-stated (201). Address the period by an opaque periodKey (e.g. 2026-07, or 2026-07:store-paris for a per-store close); pass store and the inclusive from / to day window (YYYY-MM-DD, from <= to) to record the locked span, or omit store for a network-wide close. The sealing actor and instant are stamped server-side — a body actor is ignored. IRREVERSIBLE: this is the back-office period-end lock, distinct from the live period-close READ aggregate (GET /v1/finance/period-close) and from the NF525 closure chain (/v1/fiscal/closures). Idempotent-by-conflict: re-closing an already-locked key 409s (never a silent overwrite). Failure conditions: 400 on a malformed body or an inverted window; 409 when the periodKey is already locked.
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
11^(?:(?:\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])))$^(?:(?:\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])))$Response
The locked period record: the key, the store/window, and the sealing stamp.
The locked period record: the key, the store/window, and the sealing stamp.

