Error
A valid request URL is required to generate request examples{
"price": {
"kitId": "kit-decouverte",
"componentSubtotalCents": 2230,
"effectiveCents": 2230,
"source": "components",
"missingSkuIds": []
},
"explosion": {
"kitId": "kit-decouverte",
"kitQuantity": 1,
"movements": [
{
"skuId": "9e84c6158ec8f6e88e9496bb1c1a115e6c35470f3d5f4f7049b076d926b46b3a",
"quantity": 2
},
{
"skuId": "29438a10df101752d9face3d3846c225846588e57c73472f51b5f8735e5f4541",
"quantity": 1
}
],
"at": "2026-07-28T10:00:00.000Z"
}
}{
"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
}
}Catalog
Resolve a kit's price and explosion (nomenclature)
Previews a kit’s price (from its components via the server’s price authority, or the override) and the explosion of selling ?quantity=<n> of it (default 1): the component stock movements = n × each component quantity. missingSkuIds lists components the server could not price (treated as 0 in the subtotal). 404s for an unknown or deactivated kit.
GET
/
v1
/
kits
/
{id}
/
resolve
Error
A valid request URL is required to generate request examples{
"price": {
"kitId": "kit-decouverte",
"componentSubtotalCents": 2230,
"effectiveCents": 2230,
"source": "components",
"missingSkuIds": []
},
"explosion": {
"kitId": "kit-decouverte",
"kitQuantity": 1,
"movements": [
{
"skuId": "9e84c6158ec8f6e88e9496bb1c1a115e6c35470f3d5f4f7049b076d926b46b3a",
"quantity": 2
},
{
"skuId": "29438a10df101752d9face3d3846c225846588e57c73472f51b5f8735e5f4541",
"quantity": 1
}
],
"at": "2026-07-28T10:00:00.000Z"
}
}{
"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.
Path Parameters
The kit (coffret) id (e.g. kit-decouverte).
Minimum string length:
1Query Parameters
How many kits to explode (positive integer). Defaults to 1.
Required range:
0 < x <= 9007199254740991
