Skip to main content
PUT
Error

Authorizations

Authorization
string
header
required

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

axisId
string
required

The classification axis id (e.g. ax-colour).

Minimum string length: 1

Body

application/json
id
string
required

Axis id (ignored — the PATH axisId is authoritative).

Minimum string length: 1
name
string
required

Display name of the axis.

Minimum string length: 1
scope
enum<string>
required

What the axis classifies: product, variant, or movement.

Available options:
product,
variant,
movement
source
enum<string>
required

Origin of the axis values.

Available options:
managed,
local
expectedVersion
integer
required

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.

Required range: 0 < x <= 9007199254740991
roots
any[]

The replacement node tree (unbounded depth).

active
boolean

Active flag; PRESERVED when omitted (a plain tree save never resurrects an archived axis).

valueType
enum<string>

How the axis is typed / rendered: text (default) / color / size / etc.

Available options:
text,
color,
size,
number,
measure
unit
string

Unit shared by measure nodes (cm, ml, …).

Minimum string length: 1
multiValued
boolean

Whether a product may hold several values on this axis.

Response

The replaced axis, at its bumped version.

The replaced axis, at its bumped version.

id
string
required
Minimum string length: 1
name
string
required
Minimum string length: 1
scope
enum<string>
required
Available options:
product,
variant,
movement
source
enum<string>
required
Available options:
managed,
local
roots
any[]
required
version
integer
required
Required range: 0 < x <= 9007199254740991
valueType
enum<string>
Available options:
text,
color,
size,
number,
measure
unit
string
Minimum string length: 1
multiValued
boolean
active
boolean