Skip to content
UDX
Esc
↑↓navigate↵open⌘Jpreview
On this page

Versioning

Pin dated REST and WebSocket API versions so contract changes are explicit and your integration behaves consistently over time.

UDX publishes dated REST and WebSocket contracts. For REST, send a UDX-Version request header with a YYYY-MM-DD value; every response echoes the applied UDX-Version. For WebSocket, select a udx.json.YYYY-MM-DD subprotocol during the HTTP Upgrade; that version remains fixed for the connection.

Interface Version selector Selection lifetime
REST UDX-Version request header One request
WebSocket Sec-WebSocket-Protocol during the HTTP Upgrade One connection

REST Versioning

Send a version published in the OpenAPI specification:

UDX-Version: <YYYY-MM-DD>

If you omit this header, UDX uses the oldest supported REST version. An integration that omits the header will not adopt a newer contract automatically.

Every response includes the applied UDX-Version. An unsupported value returns 400 and lists the supported versions.

Set UDX-Version explicitly after testing your integration against a contract. Review and test the new OpenAPI contract before changing versions.

WebSocket Versioning

Select a subprotocol published in the AsyncAPI specification when opening the connection:

Sec-WebSocket-Protocol: udx.json.<YYYY-MM-DD>

The selected subprotocol sets the command and message contract for that connection. WebSocket messages do not carry a version header. To change versions, close the connection and reconnect with another supported subprotocol.

Most WebSocket clients accept the subprotocol as a connection option. Use the exact value published in AsyncAPI.