keyRevoke
Deletes a key. It is a 401 key_invalid from the next call, over HTTP and MCP. Every box the key linked is unlinked with it, each with a fresh allowance (boxUnlink).
Cost: Free. Signed by the owner over method
DELETE, path/account/v1/<address lowercased>/key/<id>and no body (the hash of no bytes). TheARCGATE-KEYheader does not authorize it: a call with only a key is a 401signature_required.Inputs:
addressandid(path). No body.Returns:
revokedand theid. The account and its other keys are untouched, and so are the boxes its other keys and its owner linked.Errors:
404
account_not_found: the address has no account.404
key_not_found: the account has no key with that id. It was never made, was already revoked, or is another account's.
Next:
keyCreate: make another key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A key's id, `key_` and 22 base64url characters, as `keyCreate` and `keyList` answer it. It is not the secret. | |
| address | Yes | The account owner's address, any letter case. One account per address, and a signed request must be signed by it. | |
| agentSignature | No | The owner's EIP-712 signature over this request, as the AGENT-SIGNATURE, AGENT-NONCE and AGENT-EXPIRY headers carry it over HTTP. Sign the typed data `AccountRequest` (not `AgentRequest`) with fields `origin` (the API's base URL with no trailing slash: the URL this request is sent to less its path, for example `https://api.arcgate.dev`; over MCP the same, not the /mcp URL), `address` (the owner), `method`, `path`, `bodyHash`, `nonce` and `expiry`, in that order. A signature made for another deployment's origin is a 401 invalid_signature, under the domain {name: "arcgate", version: "1"} with no chainId (a wallet that can only sign with one may add the chainId of the chain this deployment serves). The `path` is the request path with the address lowercased. The `bodyHash` is the keccak256 of the canonical JSON of the body you send (sorted keys, no whitespace), or of no bytes when there is none. Each nonce is accepted once per owner. Omitting it is a 401 signature_required, never a charge. |