A valid request URL is required to generate request examples{
"id": "ax-colour",
"name": "Couleur",
"scope": "variant",
"source": "managed",
"roots": [
{
"id": "n-blue",
"label": "Bleu",
"children": []
}
],
"active": true,
"version": 3
}{
"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
}
}Update a taxonomy axis (axe de classification)
Replaces a whole axis (name / scope / source / tree / active) by id — the persistence anchor the back-office tree editor saves every edit through. The PATH axisId is authoritative — an id in the body is ignored. The active flag is preserved when the body omits it (a plain tree save never resurrects an archived axis). 404s for an unknown axis. expectedVersion is REQUIRED: send the version of the axis you READ before computing this tree. Because the whole tree travels in one body, the server cannot tell a legitimate replacement from one built on a read another client has already superseded — without the token, two concurrent editors both get 200 and one node silently disappears (#1493). A stale token answers 409: re-read the axis, replay your edit against the fresh tree, and send it again with the new version.
A valid request URL is required to generate request examples{
"id": "ax-colour",
"name": "Couleur",
"scope": "variant",
"source": "managed",
"roots": [
{
"id": "n-blue",
"label": "Bleu",
"children": []
}
],
"active": true,
"version": 3
}{
"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 classification axis id (e.g. ax-colour).
1Body
Axis id (ignored — the PATH axisId is authoritative).
1Display name of the axis.
1What the axis classifies: product, variant, or movement.
product, variant, movement Origin of the axis values.
managed, local REQUIRED optimistic-concurrency token: the version of the axis you READ before computing this tree. A divergence answers 409 — re-read the axis and replay the edit.
0 < x <= 9007199254740991The replacement node tree (unbounded depth).
Active flag; PRESERVED when omitted (a plain tree save never resurrects an archived axis).
How the axis is typed / rendered: text (default) / color / size / etc.
text, color, size, number, measure Unit shared by measure nodes (cm, ml, …).
1Whether a product may hold several values on this axis.
Response
The replaced axis, at its bumped version.
The replaced axis, at its bumped version.
11product, variant, movement managed, local 0 < x <= 9007199254740991text, color, size, number, measure 1
