Skip to content
Liorith/Registry

Docs · API

Domain lookup

One request, one domain, one unambiguous state — plus a sentence you can quote and the limits of that sentence.

Endpoint

GET/check?domain=example.com
domainrequiredstringThe domain to look up. A scheme and a trailing slash are stripped, and the value is lower-cased, so https://Example.com/ works.

Missing or empty domain answers 400. That is a malformed request, not a registry outcome.

Response

statusstringregistered, not_registered or blocked. Branch on this.
registeredbooleanIs the domain on file?
blockedbooleanIs the domain on the blocklist?
proof_checkedfalseAlways false here. This endpoint verifies no signature — it is a lookup.
summarystringOne sentence stating the result and its limits, safe to quote verbatim.
does_not_implystring[]What explicitly does not follow from this answer. Written for readers who would otherwise over-read the result.
domainstringThe normalised domain that was looked up.
check_urlstringHuman-readable page showing the same result.
checked_atnumberUnix milliseconds at which the answer was produced.
siteobject | undefinedPresent only when status is registered. See below.
last_verified_atnumber | nullWhen this site last completed a proof verification. Null if never, or if not registered.
last_statusstring | nullResult of that last proof verification.
resultstringDeprecated. The old vocabulary (verified_registry, unknown, blacklisted), kept so existing clients keep working. Do not branch on it in new code.

The site object

idstringStable site identifier, also used when signing proofs.
namestringDisplay name recorded for this entry. It names the entry, not a verified legal or operating identity.
canonical_domainstringThe domain this site wants to be known by.
match_type'exact' | 'subdomain'Whether the queried domain is the entry itself or a subdomain of it.
statusstringEntry state — active, deprecated, inactive, suspended or former.
categorystringWhat the site is for.
legalbooleanWhether the Liorith Legal Center is responsible for this domain.

States

registeredacceptedThe domain is on file. Read site.status before treating the entry as current — a suspended site is registered too.
not_registeredneutralNo entry. This says nothing about the domain itself; the registry only lists Liorith properties and network members.
blockedrejectedOn the blocklist. Checked before any entry, so it wins over a registration. Liorith does not stand behind this domain.

Example

Not registeredjson
{
  "status": "not_registered",
  "result": "unknown",
  "domain": "example.com",
  "check_url": "https://registry.liorith.net/check/example.com",
  "checked_at": 1756800000000,
  "registered": false,
  "blocked": false,
  "proof_checked": false,
  "summary": "example.com ist in der Liorith Registry nicht eingetragen. ...",
  "does_not_imply": [
    "Es bedeutet nicht, dass die Domain nicht existiert oder nicht erreichbar ist.",
    "..."
  ],
  "last_verified_at": null,
  "last_status": null
}
Branch on status or on the booleans, never on the text. summary and does_not_imply are written for people and for language models to quote — their wording is allowed to change.