Registry API — operated by TUNO Labs
The public, read-only API at https://api.aria.bar. The table is generated from the API's route files by scripts/gen-api-routes.mjs; it is the same component /developers renders. There is no write endpoint on this host. This is the operator's implementation, not the protocol: the protocol is at /spec.
Discovery document: issuer DID, cryptosuite, status list, MCP endpoint.
The four levels as the registry issues them.
/health● liveLiveness.
/health/ready● liveReadiness.
Public MCP server, Streamable HTTP. Eight read-only tools.
Fetch the current AID (W3C VC) for a did:aria. This is the URL the DNS pointer names for registry-form identifiers. It returns the credential, not a DID Resolution result; the DID Document is derived client-side (§3.2) until the resolver endpoint ships.
Hash-chained lifecycle record for one identifier. No personal data.
/v1/badge/{did}● liveSVG badge for one identifier.
Fetch one credential instance by its id, including superseded ones.
/v1/orgs/{domain}● livePublic organization record by domain: principal DID, level, active agents.
The scope registry: namespaces, resources, actions and versions.
/v1/stats● liveEcosystem counters.
W3C Bitstring Status List credential. Refreshed within the COM-05 bound.
Server-side verification: signature, status, expiry, trust level. Prefer the SDK for offline checks.
Legacy policy discovery. ATP/1 §2.0: the receiver policy lives only in DNS (_aria-policy TXT).
Receiver challenge for the holder proof (ATP/1 step 2). Returns 503 until enabled.
Generated from aria-api/src on 2026-09-07 · scripts/gen-api-routes.mjs
Start with discovery
$ curl -s https://api.aria.bar/.well-known/aria
{
"protocol": "ARIA",
"didMethod": "did:aria",
"cryptoSuites": ["mldsa65-ed25519-2026"],
"issuer": "did:aria:registry.aria.bar",
"statusList": "https://api.aria.bar/v1/status/1",
"api": "https://api.aria.bar/v1",
"mcp": "https://api.aria.bar/mcp",
"spec": "https://aria.bar/spec"
}