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

# Revoke an API key JSON Schema

> Revoke an API key JSON Schema contract. Includes route metadata, request parameters, response statuses, examples, and JSON fields for implementation.

Source OpenAPI: 0xArchive API 1.5.0; 140 paths; 119 component schemas.

Revoke a specific API key by its ID. Requires a fresh SIWE challenge signed with `personal_sign` (EIP-191).

## Route Metadata

| Field                | Value                  |
| -------------------- | ---------------------- |
| Method               | `POST`                 |
| Path                 | `/v1/web3/keys/revoke` |
| operationId          | `web3RevokeKey`        |
| Tag                  | Web3 Authentication    |
| Family               | Web3 Auth              |
| Deprecated or legacy | no                     |

## Request Body

### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3RevokeKey request body",
  "type": "object",
  "required": [
    "key_id",
    "message",
    "signature"
  ],
  "properties": {
    "key_id": {
      "description": "UUID of the key to revoke",
      "type": "string",
      "format": "uuid"
    },
    "message": {
      "description": "The SIWE message from the challenge endpoint",
      "type": "string"
    },
    "signature": {
      "description": "Hex-encoded signature from personal_sign (0x-prefixed)",
      "type": "string"
    }
  }
}
```

## Response Contracts

### Status 200

Key revoked successfully

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3RevokeKey response 200",
  "type": "object",
  "properties": {
    "message": {
      "description": "Confirmation message",
      "type": "string",
      "example": "API key revoked successfully"
    },
    "wallet_address": {
      "description": "The wallet address that owned the key",
      "type": "string"
    }
  }
}
```

### Status 401

Authentication required

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3RevokeKey response 401",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 401,
  "error": "Missing or invalid API key. Provide X-API-Key header."
}
```

### Status 404

Resource not found

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3RevokeKey response 404",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 404,
  "error": "Resource not found"
}
```

### Status 429

Rate limit exceeded

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "web3RevokeKey response 429",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 429,
  "error": "Rate limit exceeded"
}
```
