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

# List webhooks

`GET /webhook`

## Request

- Base URL: `https://api.emelia.io`
- URL: `https://api.emelia.io/webhook`
- Auth: API key in header `Authorization`

Returns the activity webhooks registered on the campaigns of the authenticated account: legacy email campaigns (`typeOfCampaign: email`), legacy LinkedIn campaigns (`linkedin`) and advanced campaigns (`advanced`), whatever their status (FINISHED and ARCHIVED included).

There is one entry per registration and per campaign: a URL registered with `ALL_CAMPAIGNS` appears once for each campaign it was copied to, and the part kept for future campaigns is not listed. A URL registered twice on a campaign appears twice. Registrations with an empty event list are skipped. `status` is always `active`.

**Authentication.** API key in `Authorization` (raw or `Bearer <key>`), per key rate limit applies.

**Errors.** 401 `Authentication required` for a missing or unknown key. 401 `You must be logged in` is also returned when reading the webhooks fails for any internal reason. Exceeding the per key rate limit returns 500 `Internal server error`, not 429.

## Response `200`

Webhooks of the account.

- WebhookListResponse
  - `webhooks` WebhookRegistration[], required
    - `id` string: Registration ID (use it with the test endpoints).
    - `typeOfCampaign` 'email' | 'linkedin' | 'advanced': Campaign family. `advanced` = current multichannel campaigns (the default campaigns of the app and of the Campaigns endpoints). `email` = legacy email only campaigns. `linkedin` = legacy LinkedIn only campaigns.
    - `campaignId` string
    - `campaignName` string
    - `url` string
    - `events` string[]
    - `status` 'active': Always `active`: webhooks are never disabled automatically.

## Other responses

- `401`: Missing or unknown key, or internal error while reading webhooks.
- `429`: Session token rate limit reached (session tokens only; API keys never get 429, see 500).
- `500`: Internal error. Also returned when the per API key rate limit (30, 100, 300 or 1000 requests per minute depending on the plan) is exceeded.

---

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