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
The identifier of the provider whose DID you are rotating.
Body parameters
The new DID that will replace the current one (e.g.
"did:key:z6Mk…").Optional human-readable reason for the rotation (e.g.
"Scheduled key rotation"). Stored in the audit log.The
challenge_id from a "rotate_key" ownership challenge. Required when the node enforces ownership challenges.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 updatedProviderRecord on success.
Protocol schema version. Currently
1.The provider identifier (unchanged by this operation).
The newly registered DID.
Human-readable display name (unchanged by this operation).
Provider lifecycle status. Returns
"active" after a successful rotation.ISO 8601 timestamp of original provider registration (unchanged).
Status codes
| Code | Meaning |
|---|---|
200 OK | Key rotated successfully. Returns the updated ProviderRecord. |
400 Bad Request | Invalid DID format, invalid or expired challenge, or bad signature. |
404 Not Found | No provider with the given provider_id exists. |