Error
A valid request URL is required to generate request examples{
"id": "kit-decouverte",
"name": "Coffret Découverte",
"components": [
{
"skuId": "9e84c6158ec8f6e88e9496bb1c1a115e6c35470f3d5f4f7049b076d926b46b3a",
"quantity": 2
},
{
"skuId": "29438a10df101752d9face3d3846c225846588e57c73472f51b5f8735e5f4541",
"quantity": 1
}
],
"active": true,
"version": 1
}{
"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
Create a kit (coffret / nomenclature / BOM)
Defines one kit / coffret under a SERVER-MINTED id (the response carries it), landing at version 1 and active. The bill of materials must be non-empty and its component SKUs DISTINCT (a duplicate line 400s). An optional priceCents overrides the components sum. This is authoring only — selling a kit at the till is a separate surface.
POST
/
v1
/
kits
Error
A valid request URL is required to generate request examples{
"id": "kit-decouverte",
"name": "Coffret Découverte",
"components": [
{
"skuId": "9e84c6158ec8f6e88e9496bb1c1a115e6c35470f3d5f4f7049b076d926b46b3a",
"quantity": 2
},
{
"skuId": "29438a10df101752d9face3d3846c225846588e57c73472f51b5f8735e5f4541",
"quantity": 1
}
],
"active": true,
"version": 1
}{
"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
application/json
Response
The created kit at version 1.
The created kit at version 1.
Minimum string length:
1Minimum string length:
1Minimum array length:
1Show child attributes
Show child attributes
Required range:
0 < x <= 9007199254740991Required range:
0 <= x <= 9007199254740991
