Skip to content
⚠ Pre-1.0 — specs and API are under active development and may change without notice. Follow announcements.

Work locator index — JSON

GET
/reg/work/{key}/aliases.json
curl --request GET \
--url https://textrefs.org/reg/work/example/aliases.json

Maps every locator of one work to the UUID of its CanonicalReference, grouped by citation system key. A client that knows a passage as work, citation system, and locator reads the UUID here, then fetches /id/ref/{uuid}.json. It needs no UUIDv5 implementation of its own. The body is plain JSON, not JSON-LD, and carries no @context.

key
required
string
/^[a-z0-9][a-z0-9._-]*$/

Flat registry key.

Every reference of this work, in every status, keyed by citation system key and then by locator.

Media typeapplication/json

The /reg/work/{key}/aliases.json locator index of one work. Plain JSON, not JSON-LD; it carries no @context. The index states identity alone. Read the CanonicalReference for the status and the resolver targets.

object
work_key
required

Flat registry key: lowercase, starts with [a-z0-9], allows . _ -

string
/^[a-z0-9][a-z0-9._-]*$/
preferred_citation_system_key
required

The system that the bare /cite/{work_key}/{locator} alias uses (ADR-0005). A default for presentation, never an identity claim. The other keys of refs have equal standing.

string
/^[a-z0-9][a-z0-9._-]*$/
refs
required

One entry per citation system key that this work carries references under. An empty object means the work has no references yet. The same locator under two systems denotes a different passage, and a different UUID, each time.

object
key
additional properties

Locator to CanonicalReference UUID.

object
key
additional properties
string
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/
Examplegenerated
{
"work_key": "example",
"preferred_citation_system_key": "example",
"refs": {
"additionalProperty": {
"additionalProperty": "example"
}
}
}

No registry object found at this identifier.

Media typeapplication/json
object
message
required
string
code
string
Examplegenerated
{
"message": "example",
"code": "example"
}