# Delete a webhook

`POST https://api.rarebl.com/open/hooks/delete`

Deletes a subscription permanently.

**Rate class:** hooks (10 per minute, at most 100 active subscriptions per IP, per IP). **Available since:** Open API v2.

## Request

Send a JSON body (`Content-Type: application/json`). No API key is needed: `X-API-KEY` is reserved and ignored.

Example: `curl -X POST "https://api.rarebl.com/open/hooks/delete" -H "Content-Type: application/json" -H "X-Hook-Token: YOUR_MANAGE_TOKEN" -d '{"id":"hk_3f9a2c71e0b84d56"}'`

## Headers

| Header | Required | Description |
| --- | --- | --- |
| `X-Hook-Token` | Yes | The `manageToken` returned once by [hooks/create](https://docs.rarebl.com/api/hooks/create). Sent in a header, never in the URL. Example: `YOUR_MANAGE_TOKEN`. |

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | Yes | The webhook subscription id returned by hooks/create. |

## Responses

### API200 (HTTP 200): OK

Deleted.

```json
{
  "status": 1,
  "code": "API200",
  "message": "success",
  "data": {
    "id": "hk_3f9a2c71e0b84d56",
    "deleted": true
  },
  "go": null,
  "meta": {
    "requestid": "0123456789abcdef",
    "notices": []
  }
}
```

### API404 (HTTP 404): Not Found

The webhook does not exist.

```json
{
  "status": 0,
  "code": "API404",
  "message": "Webhook not found.",
  "data": null,
  "go": null,
  "meta": {
    "requestid": "0123456789abcdef",
    "notices": []
  }
}
```

### API429 (HTTP 429): Too Many Requests

Rate limited (hooks class: 10 per minute, at most 100 active subscriptions per IP, per IP). A `Retry-After` header says how long to wait, in seconds.

```json
{
  "status": 0,
  "code": "API429",
  "message": "Too many requests. Please retry shortly.",
  "data": null,
  "go": null,
  "meta": {
    "requestid": "0123456789abcdef",
    "notices": []
  }
}
```

## Notes

- Needs `X-Hook-Token`. This cannot be undone.
