Skip to main content
Create or replace the one delivery policy for a DID scope. The complete replacement uses an authorized policy-controller signature and current policy nonce. The Directory validates recognized conditions and actions, service references, graph shape, bounds, priorities, and rule IDs before it submits the policy. The chain independently enforces authorization and security-critical bounds.

Request

string
required
The URL-encoded DID. It must equal policy.scope.id.
object
required
A complete delivery policy. Rule IDs must be unique.
string
required
Deterministic 32-byte policy identifier encoded as 0x plus 64 hexadecimal characters.
string
required
Current policy nonce for the DID scope.
string
required
Unix time in milliseconds at which the authorization expires.

Response

202 Response
202 Accepted means accepted for processing. Resolve the policy from finalized state to confirm the active revision.

Straight to the point

  • Operation: complete create or replacement
  • Action: set_did_policy_v2
  • Revision: 1 on creation, otherwise finalized revision plus one
  • Authorization: DID policy controller
  • Invalid graph, unknown action, incompatible service, or non-public route endpoint: 400 invalid_delivery_policy
  • Accepted submission: 202