Skip to main content
Replaces the DID associated with an existing provider without changing its provider_id. Use this when you need to rotate cryptographic keys while preserving registry continuity. When the node requires ownership challenges, first create a challenge with operation: "rotate_key" and provider_id set to the target provider, sign the returned challenge string, then include both fields in this request.

Request

Path parameters

string
required
The identifier of the provider whose DID you are rotating.

Body parameters

string
required
The new DID that will replace the current one (e.g. "did:key:z6Mk…").
string
Optional human-readable reason for the rotation (e.g. "Scheduled key rotation"). Stored in the audit log.
string (UUID)
The challenge_id from a "rotate_key" ownership challenge. Required when the node enforces ownership challenges.
string
Base64-encoded Ed25519 signature of the challenge string, signed with the private key corresponding to new_provider_did. Required when ownership_challenge_id is provided.

Response

Returns the updated ProviderRecord on success.
integer
Protocol schema version. Currently 1.
string
The provider identifier (unchanged by this operation).
string
The newly registered DID.
string
Human-readable display name (unchanged by this operation).
string
Provider lifecycle status. Returns "active" after a successful rotation.
string
ISO 8601 timestamp of original provider registration (unchanged).

Status codes

Example response