A valid request URL is required to generate request examples{
"id": "store-pilot",
"name": "Boutique Pilote",
"city": "Paris 2e",
"region": "Île-de-France",
"active": true
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Provision a store
Adds a store to the network directory. This is an ONBOARDING operation, not an everyday one: the created store immediately becomes addressable for pricing, inventory, transfers and register pairing, so only call it when the task is explicitly about opening a location. The id is caller-supplied — pick a stable, URL-safe slug (e.g. store-pilot), because it is the handle every other operation will use forever; 409s when a store already carries it (creating is never an overwrite — use the update operation instead). active is optional and defaults to true, so a store you provision is trading immediately unless you pass active:false.
A valid request URL is required to generate request examples{
"id": "store-pilot",
"name": "Boutique Pilote",
"city": "Paris 2e",
"region": "Île-de-France",
"active": true
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}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
Response
The provisioned store, exactly as the directory now serves it.

