Skip to content
Linq Copy agent prompt

List webhook endpoints

GET/v1/webhook_endpoints

Lists this brand’s webhook endpoints, oldest first, each with its delivery health.

ReturnsExpand Collapse
EndpointList object { data }

The endpoints registered for this key’s brand.

data: array of Endpoint { id, created_at, disabled_at, 8 more }
id: string

The endpoint’s id.

created_at: string
formatdate-time
disabled_at: string

When this endpoint was last disabled. null while it is enabled.

formatdate-time
event_kinds: array of string

The event kinds delivered here, or null for every kind (including kinds added later).

health: EndpointHealth { consecutive_failures, last_failure_at, last_failure_reason, 2 more }

How a destination has been behaving, taken from the deliveries actually attempted against it. Worth reading before assuming an integration is healthy: a destination that has been refusing events shows up here well before anyone notices they are missing.

consecutive_failures: number

Failed attempts since the last success. Reset to 0 by any success.

formatint32
last_failure_at: string

When a delivery to this endpoint last failed. null if none ever has.

formatdate-time
last_failure_reason: string

A short reason for the last failure, written for a human reading it. The wording is not stable; do not branch on it.

last_failure_status: number

The HTTP status of that last failure. null when the attempt never reached a response at all — a name that did not resolve, a refused connection, a timeout, or an address we will not dial.

formatint32
last_success_at: string

When a delivery to this endpoint last succeeded. null if none ever has.

formatdate-time
status: string

enabled or disabled. A disabled endpoint receives nothing, and events are not queued for it — see the update operation. Values grow additively.

updated_at: string
formatdate-time
url: string

Where events are POSTed. https only.

maxLength2000
backlog_dropped: optional number

How many undelivered events were dropped by THIS request, present only on the response to a request that disabled or deleted the endpoint. Disabling is a cutoff: everything still queued for this endpoint is dropped then and there rather than waiting to be replayed later.

formatint32
backlog_resume_cursor: optional string

Where to pick the dropped events back up: pass it as the cursor query parameter to GET /v1/streams/events and the first event you receive is the first one dropped. Present alongside backlog_dropped and only then.

Keep it if you rely on webhooks alone. A webhook carries the event’s identity but not its position in the stream, so this response is the only place a push-only integration is handed the position of the gap it just created. Reconnecting without a cursor starts at the present moment and skips the gap entirely.

It stays valid while the events behind it are retained; past that the stream answers 410 cursor_expired rather than pretending.

description: optional string

Your own label for this endpoint.

maxLength200

List webhook endpoints

curl https://whatsapp.messages.api.linqapp.com/v1/webhook_endpoints \
    -H "Authorization: Bearer $LINQ_WHATSAPP_API_KEY"
{
  "data": [
    {
      "id": "id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "disabled_at": "2019-12-27T18:11:19.117Z",
      "event_kinds": [
        "string"
      ],
      "health": {
        "consecutive_failures": 0,
        "last_failure_at": "2019-12-27T18:11:19.117Z",
        "last_failure_reason": "last_failure_reason",
        "last_failure_status": 0,
        "last_success_at": "2019-12-27T18:11:19.117Z"
      },
      "status": "status",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "url": "url",
      "backlog_dropped": 0,
      "backlog_resume_cursor": "backlog_resume_cursor",
      "description": "description"
    }
  ]
}
Returns Examples
{
  "data": [
    {
      "id": "id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "disabled_at": "2019-12-27T18:11:19.117Z",
      "event_kinds": [
        "string"
      ],
      "health": {
        "consecutive_failures": 0,
        "last_failure_at": "2019-12-27T18:11:19.117Z",
        "last_failure_reason": "last_failure_reason",
        "last_failure_status": 0,
        "last_success_at": "2019-12-27T18:11:19.117Z"
      },
      "status": "status",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "url": "url",
      "backlog_dropped": 0,
      "backlog_resume_cursor": "backlog_resume_cursor",
      "description": "description"
    }
  ]
}