API

Content

URI schema

Example URI

https://uriid.org/ prefix wikidata-identifier type / Q64 id

The basic syntax for the URIID URIs are the central part of the API. All URIs follow the schema as given in the example URI. They consist of three essential parts: prefix, type, and identifier.

Prefix

The prefix has the fixed value of "https://uriid.org/".

Type

The type provides the type of the identifier. It is a UUID or an alias. It matches the regex /^([0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}|[a-z]+|[a-zA-Z])$/.

If the type is an alias it needs to be translated into a UUID via the list of aliases. If it is a single letter it also needs to be case normalised according to the rules of the type.

Defined aliases

Please see also the machine-readable list at /v0/types.json .

Alias Real type Format Normalisation
uuid 8be115d2-dc2f-4a98-91e1-a6e3075cbc31 /^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/ Convert to lower case
oid d08dc905-bbf6-4183-b219-67723c3c8374 /^[1-3](?:\.[1-9][0-9]*)+$/ None
uri a8d1637d-af19-49e9-9ef8-6bc1fbcf6439 /^[a-zA-Z][a-zA-Z0-9\+\.\-]+:/ As per RFC 3986
wikidata-identifier ce7aae1e-a210-4214-926a-0ebca56d77e3 /^[QPL][1-9][0-9]*$/ Convert to upper case
gtin 82d529be-0f00-4b4f-a43f-4a22de5f5312 /^[0-9]*$/ Strip leading zeros. Strip leading/tailing spaces.
sid f87a38cb-fd13-4e15-866c-e49901adbec5 /^[0-9]*$/ Strip leading zeros. Strip leading/tailing spaces.

Identifier

The identifier is the type specific part. The identifier forms a pair with its type which makes it meaningful. Care must be taken that this is an opaque string. It may contain all reserved characters (including "/") and all unicode characters. Therefore, this part must always be correctly escaped.

Query

Optionally a URL may be followed by any number of query parameters. Applications may use query parameters in order to include additional information such as rendering hints. It is strongly recommended to keep the amount of query parameters to a minimum. Query parameter names must be valid UUIDs (case-insensitive, lowercase recommended) or from the list of well known parameters.

A query parameter name may be prefixed by a single "-" to mark them as required. Required parameters indicate that the parameter needs to be understood in order to correctly handle the information. It is strongly recommended to avoid the need for required query parameters. Parameters not marked as required cannot be stripped from the URI while any other may be stripped.

Well known parameters

Name Use
language-tags Sets the language to be used for displaying information on the subject. Uses the same format as HTTP's Accept-Language:-header.

API endpoints

All endpoints are mounted below https://api.uriid.org. Unless otherwise indicated they accept the GET-method.

/v0/types.json

This endpoint lists all known type aliases. For aliases the type is referenced in the alias_for property.

This may also include additional information on types.

Example output

{
  "types": {
    "uuid": {
      "alias_for": "8be115d2-dc2f-4a98-91e1-a6e3075cbc31"
    },
    ...
  }
}

Try it!

GET https://api.uriid.org/v0/types.json