# GET /v1/webhook-endpoints (/docs/api/reference/webhooks/list-endpoints)



<Endpoint method="GET" path="/v1/webhook-endpoints" auth="X-Api-Key" phase="1" />

Returns the webhook endpoints registered under the calling org. By default both org-scoped and project-scoped endpoints are included; use `projectId` to narrow.

<Parameters
  title="Query"
  rows="[
  { name: 'projectId', type: 'string (UUID)', description: 'Filter to endpoints scoped to this project. Org-scoped endpoints are excluded when set.' },
  { name: 'status', type: 'string', description: &#x22;One of `active`, `paused`, `auto_paused`.&#x22; },
  { name: 'cursor', type: 'string', description: 'Opaque pagination cursor from a previous response.' },
  { name: 'limit', type: 'integer', description: 'Max items to return. Default 25, max 100.' },
]"
/>

## Example request [#example-request]

<Tabs items="['curl', 'TypeScript', 'Python']">
  <Tab value="curl">
    ```bash
    curl "https://api.layers.com/v1/webhook-endpoints?status=active&limit=10" \
      -H "X-Api-Key: $LAYERS_API_KEY"
    ```
  </Tab>

  <Tab value="TypeScript">
    ```ts
    const res = await fetch(
      "https://api.layers.com/v1/webhook-endpoints?status=active&limit=10",
      { headers: { "X-Api-Key": process.env.LAYERS_API_KEY! } },
    );
    const { items, nextCursor } = await res.json();
    ```
  </Tab>

  <Tab value="Python">
    ```python
    import os, requests

    res = requests.get(
        "https://api.layers.com/v1/webhook-endpoints",
        params={"status": "active", "limit": 10},
        headers={"X-Api-Key": os.environ["LAYERS_API_KEY"]},
    )
    page = res.json()
    ```
  </Tab>
</Tabs>

## Response [#response]

<Response status="200" description="OK">
  ```json
  {
    "items": [
      {
        "id": "d4c71b62-7f08-4dc9-9d2c-8f7e2b9c4411",
        "organizationId": "2481fa5c-a404-44ed-a561-565392499abc",
        "projectId": null,
        "url": "https://your-app.example.com/layers/webhooks",
        "description": "Production — forwards to our job-state reconciler",
        "status": "active",
        "events": ["job.completed", "job.failed", "content.approved"],
        "apiVersion": "v1",
        "createdAt": "2026-04-20T14:22:10.000Z",
        "updatedAt": "2026-04-20T14:22:10.000Z",
        "lastSuccessAt": "2026-04-20T18:14:02.000Z",
        "lastFailureAt": null,
        "consecutiveFailureCount": 0
      }
    ],
    "nextCursor": null
  }
  ```
</Response>

## See also [#see-also]

* [Create endpoint](/docs/api/reference/webhooks/create-endpoint)
* [Webhooks overview](/docs/api/operational/webhooks)
