Error
A valid request URL is required to generate request examples{
"id": "plan-restock-aigle-32",
"family": "restock",
"reference": "RSA-26-0142",
"name": "Réassort Aigle — semaine 32",
"notes": null,
"status": "CANCELLED",
"ruleGroupId": null,
"deadline": "2026-08-14T16:00:00.000Z",
"supplierId": "sup-aigle",
"storeId": null,
"version": 4
}{
"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
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Procurement
Cancel a draft plan
Cancels a plan created by mistake. Its OWN act rather than a status transition, because CANCELLED is a soft delete and not a step of any lifecycle. Only a DRAFT can be cancelled: cancelling a plan that has been sent is not a cancellation, it is a return. expectedVersion is required.
POST
/
v1
/
plans
/
{planId}
/
cancel
Error
A valid request URL is required to generate request examples{
"id": "plan-restock-aigle-32",
"family": "restock",
"reference": "RSA-26-0142",
"name": "Réassort Aigle — semaine 32",
"notes": null,
"status": "CANCELLED",
"ruleGroupId": null,
"deadline": "2026-08-14T16:00:00.000Z",
"supplierId": "sup-aigle",
"storeId": null,
"version": 4
}{
"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
}
}{
"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 plan id, e.g. plan-restock-aigle-32.
Minimum string length:
1Body
application/json
Required range:
0 < x <= 9007199254740991Response
The plan, now CANCELLED.
- Option 1
- Option 2
- Option 3
The plan, now CANCELLED.
Minimum string length:
1Required string length:
1 - 64Required string length:
1 - 255Maximum string length:
10000Available options:
DRAFT, VALIDATED, SENT, RECEIVED, PROPOSED, AGREED, IN_TRANSIT, SETTLED, CREDITED, CLOSED, CANCELLED Minimum string length:
1Pattern:
^(?:(?:\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])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Show child attributes
Show child attributes
Required range:
0 < x <= 9007199254740991Available options:
restock, pre_season_order, supplier_return, supplier_exchange Minimum string length:
1Minimum string length:
1
