Update a region
Replaces a region’s directory fields WHOLESALE — this is not a patch. ALWAYS read the region first, apply your change to the object you got back, and send the whole thing. An omitted field does not keep its stored value: id, name and code are required (omitting one is a 400), storeCount defaults to 0 (so omitting it ZEROES the stored counter) and active is OPTIONAL WITH A DEFAULT OF true — so omitting active when updating a deactivated region silently REACTIVATES it. The body’s id is required by validation but IGNORED: the path regionId is merged in afterwards and wins, so send the same value in both and never expect a body id to move a region. 404s for an unknown region — updating never implicitly creates one. PERMISSION TRAP (see solya-pos#950): the route guard accepts pos.settings.manage, but the use-case additionally asserts the kernel config:manage permission and NO pos.settings.* scope maps to it, so a principal authenticated by scopes alone clears the guard and then 403s inside the use-case.
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
1Body
Response
The region as it now stands in the directory.

