---
title: "List webhooks"
method: GET
path: "/webhooks"
tags: ["Webhooks"]
---

# List webhooks

`GET /webhooks`

## Request

- Base URL: `https://shipmail.to/api/v1`
- URL: `https://shipmail.to/api/v1/webhooks`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://shipmail.to/api/auth/oauth2/authorize`, token URL `https://shipmail.to/api/auth/oauth2/token`)

## Query parameters

- `cursor` string
- `limit` integer

## Headers

- `X-Shipmail-Organization` string

## Response `200`

Paginated list of webhooks.

- object
  - `data` Webhook[], required
    - `object` 'webhook', required
    - `id` string, required
    - `url` string, uri, required
    - `events` WebhookEventType[], required
    - `active` boolean, required
    - `description` string, nullable, required
    - `mailbox_ids` string[], nullable, required: Mailboxes this webhook is limited to, or null. See Scoping in the webhooks guide.
    - `domain_ids` string[], nullable, required: Domains this webhook is limited to, or null. When both lists are null the webhook receives events for every mailbox.
    - `has_authorization` boolean, required: True when deliveries carry an `Authorization` header set through `authorization`. The value itself is never returned.
    - `has_standard_webhooks_secret` boolean, required: True when deliveries carry Standard Webhooks signatures (`webhook-id`, `webhook-timestamp`, `webhook-signature`) from a secret set through `standard_webhooks_secret`. The secret itself is never returned.
    - `include_reply_text` boolean, required: True when `message.received` deliveries carry `reply_text`.
    - `authenticated_senders_only` boolean, required: True when `message.received` is delivered only for messages whose sender is authenticated (`sender_authenticated: true`): the sender passed DMARC, or Shipmail's own record shows a Shipmail mailbox sent the message.
    - `allowed_senders` string[], nullable, required: Addresses and domains `message.received` is limited to, lowercased. Null when every sender is delivered.
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `pagination` Pagination, required
    - `next_cursor` string, nullable, required: Cursor for the next page. Null if no more results.
    - `has_more` boolean, required: Whether more results exist beyond this page.
    - `limit` integer, required: Number of items per page.

## Other responses

- `422`: Validation failed.
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/shipmail/apis/shipmail-api.md) · [All operations](https://skmtc.dev/shipmail/apis/shipmail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shipmail/apis/shipmail-api/revisions/2c23e59d7e30?raw)
