Skip to content

Resolve a URN

Canon module

GET/canon/urns/resolvecanonUrns.resolve

Resolves a `urn:xpms` URN to its canon row through `xpms.urn_resolve`. An unknown URN returns a 422 `NO_ANSWER` refusal. A rule that refuses the request returns 422 with `refusal` and `reason`.

  • Requires the capability canon.taxonomy.read.
  • OAuth scopes: canon.
  • Error statuses: 400, 401, 422, 429. Errors are RFC 9457 problem details.

Path and query parameters

canonUrns.resolve: Path and query parameters
FieldTypeRequiredDescription
urnstringYesURN to resolve.Constraints: pattern ^urn:xpms:[a-z_]+:.+$

Response 200: UrnResolution

canonUrns.resolve: UrnResolution
FieldTypeRequiredDescription
urnUrnYesURN in the `urn:xpms` namespace.Constraints: pattern ^urn:xpms:[a-z_]+:.+$
kindstringYesURN kind.Constraints: pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$
keystringYesNatural key of the row.Constraints: pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$
labelstringYesDisplay label of the row.Constraints: length 1 to 200
resolved_keystringYesKey of the live row after following supersessions.Constraints: pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$
is_supersededbooleanYesWhether the asked key was superseded.
{
  "urn": "urn:xpms:category:4000.01.01",
  "kind": "category",
  "key": "4000.01.01",
  "label": "Production Leadership",
  "resolved_key": "SCP",
  "is_superseded": false
}

Code samples

curl -X GET "$XOS_BASE_URL/canon/urns/resolve" \
  -H "Authorization: Bearer $XOS_API_KEY"
const { data } = await xos.canonUrns.resolve();
response = xos.canon_urns.resolve()
xos canon-urns resolve