> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openpayload.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Revoke a Persona

> Deactivate a Persona so it cannot participate in delivery-policy resolution

Revoke a Persona with one active Persona-controller signature. Revocation disables the Persona and prevents its policy from winning resolution. It does not delete DIDs, delivered messages, or cached replicas.

## Request

<ParamField path="persona" type="string" required>
  The registered Persona to revoke.
</ParamField>

The body contains action `revoke_persona`, the current operator `operator_nonce`, expiration, canonical payload, and one authorized signature.

<RequestExample>
  ```bash Request theme={null}
  curl --request DELETE \
    --url "https://directory.example.com/personas/example.com" \
    --header "Content-Type: application/json" \
    --data '{
      "persona": "example.com",
      "action": "revoke_persona",
      "nonce": "<operator-nonce>",
      "valid_until": "<epoch-milliseconds>",
      "signer_key_id": "did:openpayload:1111111111111111111111#keys-1",
      "canonical_payload": "<encoded-scale-payload>",
      "signature": "<base64-ed25519-signature>"
    }'
  ```
</RequestExample>

## Response

```json 202 Response theme={null}
{
  "status": "accepted",
  "persona": "example.com",
  "extrinsic": "revoke_persona",
  "tx_hash": "<transaction-hash>"
}
```

## Straight to the point

```http theme={null}
DELETE /personas/{persona}
```

* Action: `revoke_persona`
* Authorization: one active Persona controller
* Effect after finalization: Persona becomes inactive
* Accepted submission: `202`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.