Skip to main content
POST
Regrade Key

Headers

API-Version
string

Pin request, response, and webhook shapes to a specific dated API version (YYYY-MM-DD). Omit to use the version pinned to your API key (set when the key is created; new keys default to the latest version). New integrations should target the latest version.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2026-10-16"

Path Parameters

did
string
required

The agent's DID, URL-encoded.

Example:

"did:web:humanos.tech:agent:2f8b6c41-9d37-4e5a-8b02-6c1d9e7a4f35"

keyId
string
required

The key id (<did>#key-<n>), URL-encoded: its # sent as %23.

Example:

"did:web:humanos.tech:agent:2f8b6c41-9d37-4e5a-8b02-6c1d9e7a4f35#key-1"

Body

application/json
assurance
enum<string>
required

The key's assurance from now on: its current one or lower.

Available options:
pop,
device,
hardware
Example:

"pop"

binding
enum<string>
required

The key's binding from now on: its current one or lower.

Available options:
self,
custodial,
attested
Example:

"self"

reason
string
required

Why the key is downgraded, recorded on the agent's chain.

Example:

"attestation root distrusted"

root
string

The key's current root, if any: a regrade never moves a key to another root.

Response

Returns a confirmation that the key is regraded.

ok
boolean
required

Whether the operation was successful

Example:

true