Skip to main content
Resolve a delivery target
Use this endpoint before encrypting for a full recipient DID, optionally followed by @persona. It selects the delivery policy and reads recipient keys from the same finalized chain snapshot. An alias is not accepted here; resolve it to a DID first.

Request

string
required
URL-encoded complete did:openpayload:... target, optionally followed by @persona.
string
Optional public message tag used by policy conditions. It must match the tag on the envelope you later send.

Response

The 200 response contains target, did_document, recipient_key_id, recipient_public_key_multibase, block_hash, and the resolved policy. A direct result sets encryption_profile to direct. When the selected Persona plan requires RequireProfile, encryption_profile is openpayload:persona-release:v1. The response also includes processor_did, processor_key_id, processor_public_key_multibase, processor_signing_key_id, and processor_signing_public_key_multibase. Use these public keys to build the Persona release envelope. The Relay later checks the public profile shape and policy binding; your client remains responsible for encryption and unlock verification. The Directory returns an error when the recipient is inactive, a required key is missing, or finalized policy state cannot be read. Do not treat those errors as permission to send without the selected profile.

Straight to the point