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

# List webhook endpoints

`GET /v1/webhook-endpoints`

## Request

- Base URL: `https://api-eu.dynamicdocumentapi.com`
- URL: `https://api-eu.dynamicdocumentapi.com/v1/webhook-endpoints`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Endpoints registered for this workspace. Secrets are never returned by a read.

## Response `200`

Every object in the workspace (a single page today).

- WebhookEndpointList: Cursor-pagination envelope. Management lists are single-page today.
  - `data` WebhookEndpoint[], required
    - `created_at` string, date-time, required
    - `description` string, required
    - `disabled_reason` string, nullable, required: Set when Dynamic Document API disabled the endpoint after repeated failures, or because its URL answered `410 Gone`.
    - `enabled` boolean, required
    - `events` string[], required
    - `headers` object, required: Header names; the values are masked.
    - `id` string, required: `whe_…`
    - `is_default` boolean, required
    - `managed_by` 'zapier' | 'make' | 'n8n' | 'bubble' | 'pipedream' | 'activepieces' | 'power_automate' | 'null', nullable, required: The integration (e.g. `zapier`) that created the endpoint for its instant triggers; null for your own endpoints. It is never the default endpoint, the dashboard shows it read-only, and it is deleted when you disconnect the integration or when its URL answers `410 Gone`. * `zapier` - zapier * `make` - make * `n8n` - n8n * `bubble` - bubble * `pipedream` - pipedream * `activepieces` - activepieces * `power_automate` - power_automate
    - `object` string
    - `secret_rotation` WebhookSecretRotation, required
      - `previous_expires_at` string, date-time, nullable, required: When the previous secret stops being accepted.
    - `template_ids` string[], required: Empty list = every template.
    - `updated_at` string, date-time, required
    - `url` string, uri, required
  - `has_more` boolean, required
  - `next_cursor` string, nullable, required
  - `object` string

## Other responses

- `401`: Missing, invalid, expired or revoked credentials.
- `403`: Insufficient scope, IP not allowed, workspace suspended or scheduled for deletion, or email not verified.
- `429`: Rate limited (`Retry-After`).
- `503`: The control plane is unreachable (`Retry-After`).

## Changes

- **2026-10-19** `0f14bc0000f4`: 1 info
  - added the required property `data/items/managed_by` to the response with the `200` status

[Operation history](https://skmtc.dev/dynamicdocumentapi/apis/dynamic-document-api/changes/v1/webhook-endpoints/get.md)

---

[API](https://skmtc.dev/dynamicdocumentapi/apis/dynamic-document-api.md) · [All operations](https://skmtc.dev/dynamicdocumentapi/apis/dynamic-document-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dynamicdocumentapi/apis/dynamic-document-api/revisions/0f14bc0000f4?raw)
