---
title: "Retrieve a webhook endpoint"
method: GET
path: "/v1/webhooks/{id}"
tags: ["Webhooks"]
---

# Retrieve a webhook endpoint

`GET /v1/webhooks/{id}`

## Request

- Base URL: `https://api.mails.ai`
- URL: `https://api.mails.ai/v1/webhooks/{id}`
- Auth: HTTP bearer

**Requires scope:** `read`.

## Path parameters

- `id` string, required

## Response `200`

The endpoint. The signing secret is never returned here.

- Webhook
  - `id` string, required: Webhook endpoint id (`whe_…`).
  - `url` string, uri, required: The URL events are POSTed to.
  - `event_types` string[], required: The event types this endpoint receives. `*` is every type except `thread.created`, `thread.updated`, `thread.deleted` and `message.delayed`, which reach an endpoint only when it lists them by name.
  - `description` string, nullable: Your note about the endpoint, or null when it has none.
  - `active` boolean, required: `false` while the endpoint is paused: nothing is delivered to it until `PATCH /v1/webhooks/{id}` sets it back to `true`.
  - `secret_rotated_at` string, date-time, nullable: When the signing secret was last rotated.
  - `previous_secret_expires_at` string, date-time, nullable: While set, deliveries are signed with both the new and the previous secret; null once the previous one stops signing.
  - `created_at` string, required: When the endpoint was created (ISO 8601, UTC).

## Other responses

- `401`: Missing or invalid API key.
- `403`: The API key lacks the required scope (`insufficient_scope`), or the token belongs to an app connected by sign-in and this operation is closed to connected apps (`connected_app_not_allowed`).
- `404`: Resource not found in this workspace, or the agent a send names is archived (`agent_archived`).
- `500`: Internal server error.

---

[API](https://skmtc.dev/mails/apis/mails-ai-api.md) · [All operations](https://skmtc.dev/mails/apis/mails-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mails/apis/mails-ai-api/revisions/4d4930a8c33b?raw)
