# Delete a webhook

`DELETE /v1/webhooks/{id}`

Stops a webhook at once, **free**, cancelling queued changes and refunding any already charged.

- **Auth:** API key ([Authentication](https://installgraph.com/docs/authentication.md))
- **Scope:** `events:read`
- **Cost:** Free; changes still queued are cancelled and any already paid for are refunded.

Use it to stop a subscription, or to change one: delete it and create a new one with the new app, filters or URL.

Stops it at once. Changes still queued are cancelled, and any already paid for are refunded. Free.

## Request

```bash
curl -X DELETE "https://api.installgraph.com/v1/webhooks/6731b2e4c9a1f20d8e4b7c15" \
  -H "Authorization: Bearer $INSTALLGRAPH_API_KEY"
```

### Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | Yes |  |

## Response

`200`. The example's stores are fictional.

```json
{
  "data": {
    "id": "6731b2e4c9a1f20d8e4b7c15",
    "deleted": true,
    "cancelledDeliveries": 0
  },
  "meta": {
    "requestId": "6f1c2a9e-4b7d-4e2a-9c51-0d3b8e7f2a14",
    "creditsUsed": 0,
    "creditsCharged": 0,
    "creditsRemaining": 2480,
    "freeRepulls": 0
  }
}
```

### Fields

| Field | Type | Description |
| --- | --- | --- |
| `data.id` | string |  |
| `data.deleted` | boolean |  |
| `data.cancelledDeliveries` | integer |  |

Every keyed response also carries `meta` (`requestId`, `creditsUsed`, `creditsRemaining`, `freeRepulls`) and the `X-Credits-*` and `X-RateLimit-*` headers. See [Credits](https://installgraph.com/docs/credits.md) and [Rate limits](https://installgraph.com/docs/rate-limits.md).

## Errors

| Status | Code | Meaning | What to do |
| --- | --- | --- | --- |
| 404 | `not_found` | No such endpoint, app, or store (or not scanned yet). | Check the slug or domain. Store 404s are free within the lookup-miss allowance. |

All codes: [Errors](https://installgraph.com/docs/errors.md).
