curl --request GET \
--url "https://directory.example.com/personas/example.com"
Personas
Get a Persona
Read a registered DNS-backed Persona and its effective delivery constraints
curl --request GET \
--url "https://directory.example.com/personas/example.com"
Read a Persona from finalized chain state. An active Persona can qualify its policy for delivery targets that contain
@persona.
Request
string
required
The Persona DNS name. URL-encode internationalized input; the response uses canonical ASCII IDNA form.
curl --request GET \
--url "https://directory.example.com/personas/example.com"
Response
200 Response
{
"persona": {
"persona": "example.com",
"operator_did": "did:openpayload:1111111111111111111111",
"controller_keys": [
"did:openpayload:1111111111111111111111#keys-1"
],
"controller_threshold": 1,
"delivery_constraints": {
"requested_cache_seconds": 86400,
"effective_ttl_seconds": 86400,
"max_http_envelope_bytes": 26214400,
"max_unchunked_message_bytes": 16777216,
"max_chunk_bytes": 2097152,
"max_message_bytes": 4294967295,
"max_chunks": 65535,
"max_replicas": 2
},
"dns_proof_hash": "0x<64-hex-dns-proof-hash>",
"verified_at": 1789660800000,
"verification_expires_at": 1792252800000,
"revision": 1,
"active": true
}
}
delivery_constraints is null when the Persona has not published Persona-specific constraints. Resolution then uses the applicable DID constraints or network defaults. max_message_bytes and max_chunks are deprecated compatibility fields; their sentinel values do not impose aggregate limits. An expired or revoked Persona remains distinguishable from an unknown name but cannot win policy resolution.
Straight to the point
GET /personas/{persona}
- Authentication: none
- State: finalized chain state
- Unknown Persona:
404

