# List webhooks

`GET https://api.signwithsigil.com/v1/webhooks`

Every webhook endpoint on the account, with how its deliveries have been going.

Secrets are never listed. An endpoint that keeps failing shows a rising `consecutive_failures` and, once disabled, `active: false` with a `date_disabled`. The [webhooks guide](/webhooks) explains what is posted and how to verify it.

## Authorization

Header `Authorization: Bearer sgk_…` (or `X-Api-Key: sgk_…`).

## Response

`200 OK`: A list. There is no paging: an account has 10 endpoints at most.

- `data` (array of objects): The endpoints, without `secret`.
  - `uid` (string): The endpoint's id: 8 letters and digits.
  - `url` (string): Where events are posted: a public HTTPS URL.
  - `description` (string | null): Your note on what it is for (100 characters at most).
  - `events` (array of strings | null): The [event types](/webhooks#events) it receives, or `null` for every pact event. A `ping` is delivered whatever this says.
  - `active` (boolean): Whether events are delivered to it. Switched off by you, by a `410 Gone` answer, or after 10 failed deliveries in a row; switch it on again with [Update a webhook](/api-reference/webhooks/update-webhook).
  - `consecutive_failures` (integer): Deliveries given up on since the last success. Resets to 0 on the next success.
  - `last_status` (integer | null): The HTTP status of the last attempt. `null` before the first attempt, and when the last attempt got no response.
  - `date_last_success` (string (date-time) | null): When a delivery last got a `2xx`.
  - `date_disabled` (string (date-time) | null): When it was switched off, while it is.
  - `date_created` (string (date-time)): When it was added.
  - `date_updated` (string (date-time)): When its settings or secret last changed.
- `total` (integer): How many there are.

## Errors

| Status | When |
|---|---|
| 401 | The API key is missing, wrong or revoked. |
| 403 | The account's plan does not include API access (Pro and Business do). |

Every error body is `{ "error": "message" }`.

## Example request

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

## Example response

```json
{
  "data": [
    {
      "uid": "W8NQ3KTE",
      "url": "https://example.com/sigil/webhook",
      "description": "Production CRM",
      "events": [
        "pact.sealed",
        "pact.declined",
        "pact.voided",
        "pact.lapsed"
      ],
      "active": true,
      "consecutive_failures": 0,
      "last_status": 200,
      "date_last_success": "2026-10-21T09:12:46Z",
      "date_disabled": null,
      "date_created": "2026-10-20T13:58:21Z",
      "date_updated": "2026-10-20T13:58:21Z"
    },
    {
      "uid": "Z4KQ7WTN",
      "url": "https://hooks.example.net/inbound/sigil",
      "description": null,
      "events": null,
      "active": true,
      "consecutive_failures": 0,
      "last_status": 204,
      "date_last_success": "2026-10-21T09:12:46Z",
      "date_created": "2026-10-19T17:02:40Z",
      "date_updated": "2026-10-19T17:02:40Z"
    }
  ],
  "total": 2
}
```
