Layers
Partner APIAPI referenceWebhooks

GET /v1/webhook-endpoints

List webhook endpoints for the organization, optionally filtered by project or status.

View as Markdown
GET/v1/webhook-endpoints
Phase 1stable
Auth
X-Api-Key

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

Query
  • projectId
    string (UUID)optional
    Filter to endpoints scoped to this project. Org-scoped endpoints are excluded when set.
  • status
    stringoptional
    One of `active`, `paused`, `auto_paused`.
  • cursor
    stringoptional
    Opaque pagination cursor from a previous response.
  • limit
    integeroptional
    Max items to return. Default 25, max 100.

Example request

curl "https://api.layers.com/v1/webhook-endpoints?status=active&limit=10" \
  -H "X-Api-Key: $LAYERS_API_KEY"
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();
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()

Response

200OK
{
  "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
}

See also

On this page