The SDMX REST API supports retrievals of specific, latest or all artefact versions according to the SDMX semantic versioning & dependency management rules by means of the SDMX REST API wildcard operators.
Let's use the version form X.Y.Z-EXT
, where
X
is a non-negative number representing the MAJOR version partY
is a non-negative number representing the MINOR version partZ
is a non-negative number representing the PATCH version part-EXT
is a constrained character string representing the version EXTENSION part
Capital letters X
, Y
, Z
and EXT
are used for the queried version parts and the exactly corresponding response version parts. In case the response version parts could be different from the version parts used in the query, we will use the small characters x
, y
, z
and ext
instead. Last version parts are omitted as required.
X
This matches versionX
. Note that this version format is deprecated.X.Y
This matches versionX.Y
.X.Y.Z
This matches versionX.Y.Z
.X.Y.Z-EXT
This matches versionX.Y.Z-EXT
.
+
This matches the latest available stable semantic version of an artefact in form ofx.y.z
wherex
> 0. It is equivalent to querying for:+.0.0
or1+.0.0
X.+.0
WithX
> 0. This matches the latest available stable semantic version of an artefact in form ofX.y.z
. It is equivalent to querying for:X.0+.0
X.Y.+
WithX
> 0. This matches the latest available stable semantic version of an artefact in form ofX.Y.z
. It is equivalent to querying for:X.Y.0+
X+.Y.Z
WithX
> 0. This matches the latest available stable semantic version of an artefact in form ofx.y.z
wherex.y.z
>=X.Y.Z
.X.Y+.Z
WithX
> 0. This matches the latest available stable semantic version of an artefact in form ofX.y.z
wherey.z
>=Y.Z
.X.Y.Z+
WithX
> 0. This matches the latest available stable semantic version of an artefact in form ofX.Y.z
wherez
>=Z
.
~
This matches the latest available version of an artefact in form ofx
,x.y
,x.y.z
orx.y.z-ext
.~.0
This matches the latest available version of an artefact in form ofx.y
. It is equivalent to querying for:0~.0
~.0.0
This matches the latest available version of an artefact in form ofx.y.z
orx.y.z-ext
. It is equivalent to querying for:0~.0.0
X.~
This matches the latest available version of an artefact in form ofX.y
. It is equivalent to querying for:X.0~
X.~.0
This matches the latest available version of an artefact in form ofX.y.z
orX.y.z-ext
. It is equivalent to querying for:X.0~.0
X.Y.~
This matches the latest available version of an artefact in form ofX.Y.z
orX.Y.z-ext
. It is equivalent to querying for:X.Y.0~
X~.Y
This matches the latest available version of an artefact in form ofx.y
wherex.y
>=X.Y
.X~.Y.Z
This matches the latest available version of an artefact in form ofx.y.z
orx.y.z-ext
wherex.y.z
>=X.Y.Z
.X.Y~
This matches the latest available version of an artefact in form ofX.y
wherey
>=Y
.X.Y~.Z
This matches the latest available version of an artefact in form ofX.y.z
orX.y.z-ext
wherey.z
>=Y.Z
.X.Y.Z~
This matches the latest available version of an artefact in form ofX.Y.z
orX.Y.z-ext
wherez
>=Z
.
*
This matches all versions of an artefact in form ofx
,x.y
,x.y.z
orx.y.z-ext
*.0
This matches all versions of an artefact in form ofx.y
. It is equivalent to querying for:0*.0
*.0.0
This matches all versions of an artefact in form ofx.y.z
orx.y.z-ext
. It is equivalent to querying for:0*.0.0
X.*
This matches all versions of an artefact in form ofX.y
. It is equivalent to querying for:X.0*
X.*.0
This matches all versions of an artefact in form ofX.y.z
orX.y.z-ext
. It is equivalent to querying for:X.0*.0
X.Y.*
This matches all versions of an artefact in form ofX.Y.z
orX.Y.z-ext
. It is equivalent to querying for:X.Y.0*
X*.Y
This matches all versions of an artefact in form ofx.y
wherex.y
>=X.Y
.X*.Y.Z
This matches all versions of an artefact in form ofx.y.z
orx.y.z-ext
wherex.y.z
>=X.Y.Z
.X.Y*
This matches all versions of an artefact in form ofX.y
wherey
>=Y
.X.Y*.Z
This matches all versions of an artefact in form ofX.y.z
orX.y.z-ext
wherey.z
>=Y.Z
.X.Y.Z*
This matches all versions of an artefact in form ofX.Y.z
orX.Y.z-ext
wherez
>=Z
.
Any of the version query strings above can be combined with the OR operator (,
). For example:
1~.2.0,1.2.0+
+,1.2.1*
The following version query syntax cannot be correctly interpreted and is not supported.
Using a positive number in version parts after a part that is fully wildcarded with +
, ~
or *
:
+.2.3
Use+.0.0
instead.1.+.3
Use1.+.0
instead.~.2
Use~.0
instead.~.2.3
Use~.0.0
instead.1.~.3
Use1.~.0
instead.*.2
Use*.0
instead.*.2.3
Use*.0.0
instead.1.*.3
Use1.*.0
instead.
Using +
(querying for stable versions always having 3 parts) with only 2 version parts:
+.0
Use+
or+.0.0
instead.2.3+
Use2.3+.0
instead.
Using two or more of the +
, ~
or *
wildcard operators within the same version:
~.0.*
Use~
or~.0.0
instead.3.2*.1+
Use3.2*.1
,3.2.1+
or3.2*.1,3.2.1+
instead.3.2+.1+
Use3.2+.1
instead.