# Your webhooks

`GET /v1/webhooks`

Lists every webhook on your account, active or disabled, newest first, **free**.

- **Auth:** API key ([Authentication](https://installgraph.com/docs/authentication.md))
- **Scope:** `events:read`
- **Cost:** Free.

Use it to check which subscriptions are running and whether any was disabled after repeated failed deliveries (`disabledReason`).

Every webhook on your account, active or disabled, newest first. Free. Scope `events:read`.

## Request

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

## Response

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

```json
{
  "data": [
    {
      "id": "6731b2e4c9a1f20d8e4b7c15",
      "app": {
        "slug": "klaviyo",
        "name": "Klaviyo",
        "category": "email-sms"
      },
      "types": [
        "removed"
      ],
      "filters": {
        "country": "US"
      },
      "url": "https://example.com/hooks/installgraph",
      "description": null,
      "status": "active",
      "disabledReason": null,
      "creditsPerDelivery": 10,
      "createdAt": "2026-11-10T12:00:00.000Z",
      "lastDeliveredAt": "2026-11-12T04:21:07.000Z"
    }
  ],
  "meta": {
    "requestId": "6f1c2a9e-4b7d-4e2a-9c51-0d3b8e7f2a14",
    "creditsUsed": 0,
    "creditsCharged": 0,
    "creditsRemaining": 2480,
    "freeRepulls": 0
  }
}
```

### Fields

| Field | Type | Description |
| --- | --- | --- |
| `data[].id` | string |  |
| `data[].app` | AppSummary |  |
| `data[].app.slug` | string | Example: `klaviyo`. |
| `data[].app.name` | string | The catalogue's name: our own for apps we curate, else the App Store listing title as written. Example: `Klaviyo`. |
| `data[].app.displayName` | string | What a merchant calls the app, read from its keyword-padded App Store title ("Preorder, Back In Stock ‑ STOQ" is `STOQ`). A developer's listings that share a brand keep the words that tell them apart (`Swym Wishlist Plus`). Equal to `name` until derived. Example: `Klaviyo`. |
| `data[].app.category` | Category | One of 28 values (see [Data model](https://installgraph.com/docs/data-model.md)). |
| `data[].app.kind` | string | `shopify-app`: an app installed from Shopify. `web`: a website technology installed outside Shopify, by pasting its tag into the theme or through a tag manager (Google Tag Manager, Meta Pixel, Hotjar). A vendor with both has one entry of each (`meta-pixel` and `meta-facebook-instagram-app`). One of `shopify-app`, `web`. |
| `data[].types` | string[] | One of `installed`, `removed`. |
| `data[].filters` | object | The company filters it was created with. |
| `data[].filters.country` | string |  |
| `data[].filters.region` | string |  |
| `data[].filters.industry` | string |  |
| `data[].filters.aov` | string |  |
| `data[].url` | string |  |
| `data[].description` | string \| null |  |
| `data[].status` | string | `disabled` after 3 deliveries in a row failed every retry; create a new one. One of `active`, `disabled`. |
| `data[].disabledReason` | string \| null |  |
| `data[].creditsPerDelivery` | integer | Example: `10`. |
| `data[].createdAt` | string (date-time) |  |
| `data[].lastDeliveredAt` | string (date-time) \| null |  |

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 |
| --- | --- | --- | --- |
| 401 | `missing_api_key` | No key was sent. | Send `Authorization: Bearer sfs_…` or `X-API-Key: sfs_…`. |
| 401 | `invalid_api_key` | The key is not one we issued. | Check for truncation or whitespace; keys are `sfs_` plus 32 letters and digits. |
| 401 | `api_key_revoked` | The key was revoked. | Make a new key at installgraph.com/account. |
| 403 | `insufficient_scope` | The key lacks this endpoint's scope. | Use a key with the scope the endpoint lists (`GET /v1/usage` shows yours). |
| 403 | `api_key_suspended` | The key is suspended. | Talk to us, quoting `requestId`. |

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