---
title: "Webhooks API Reference"
description: "Endpoints for managing webhooks in Linkbreakers. These endpoints allow you to create, list, and delete webhooks for event notifications."
canonical: "https://linkbreakers.com/help/api/webhooks"
---

# Webhooks

Endpoints for managing webhooks in Linkbreakers. These endpoints allow you to create, list, and delete webhooks for event notifications.

## Webhooks

## [#](#webhooks-object)The Webhook object

Describes a webhook endpoint that receives event notifications when specified conditions are met, providing real-time integration capabilities for external systems.

createdAt

string (date-time)

The timestamp when the webhook was created

createdBy

string

The member who created the webhook (UUID)

endpointUrl

string

The URL endpoint that will receive webhook POST requests

failureCount

integer (int64)

Count of failed webhook deliveries

id

string

The unique identifier of the webhook (UUID)

lastDeliveredAt

string (date-time)

The timestamp when the webhook was last successfully delivered to the endpoint. This field is only updated when the webhook endpoint responds with a 2xx status code. Use this to track actual successful event notifications to external systems.

lastSentAt

string (date-time)

The timestamp when the webhook was last triggered (attempted), regardless of success or failure. This field is updated on every webhook transmission attempt, including failed deliveries. Use this to track webhook activity and debugging transmission issues.

linkId

string

Filter webhook notifications by a specific link ID. Only events from this link will trigger webhook notifications. If empty, all links in the workspace will trigger notifications.

name

string

The name of the webhook

source

string (enum)

The source of a webhook - indicates whether the webhook was created manually through the Linkbreakers dashboard or automatically via an integration platform such as Make.com or Zapier

##### Allowed values

`WEBHOOK_SOURCE_UNSPECIFIED`

Webhook source not specified (defaults to LINKBREAKERS)

`WEBHOOK_SOURCE_LINKBREAKERS`

Webhook created manually through the Linkbreakers dashboard/platform

`WEBHOOK_SOURCE_MAKE`

Webhook created automatically via Make.com integration

`WEBHOOK_SOURCE_ZAPIER`

Webhook created automatically via Zapier integration

status

string (enum)

The status of a webhook

##### Allowed values

`WEBHOOK_STATUS_UNSPECIFIED`

Webhook status not specified

`WEBHOOK_STATUS_ACTIVE`

Webhook is active and receiving events

`WEBHOOK_STATUS_DISABLED`

Webhook is disabled due to repeated failures

`WEBHOOK_STATUS_PAUSED`

Webhook is paused by user action

successCount

integer (int64)

Count of successful webhook deliveries

triggers

array<string (enum)>

Filter webhook notifications by workflow step kinds. Only workflow steps matching these kinds will trigger webhook notifications. If empty, all workflow step kinds will trigger notifications.

updatedAt

string (date-time)

The timestamp when the webhook was last updated

workspaceId

string

The workspace ID the webhook belongs to (UUID)

[Learn moreLearn more about webhooks in Linkbreakers](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers)

Example object

```json
{
  "createdAt": "2026-10-25T20:16:07.321Z",
  "createdBy": "123e4567-e89b-12d3-a456-426614174000",
  "endpointUrl": "https://api.example.com/webhooks/linkbreakers",
  "failureCount": 0,
  "id": "d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11",
  "lastDeliveredAt": "2026-10-25T20:16:07.321Z",
  "lastSentAt": "2026-10-25T20:16:07.321Z",
  "linkId": "d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11",
  "name": "Production Event Notifications",
  "source": "WEBHOOK_SOURCE_LINKBREAKERS",
  "status": "WEBHOOK_STATUS_ACTIVE",
  "successCount": 0,
  "triggers": [
    "KIND_ENTRY",
    "KIND_EXIT"
  ],
  "updatedAt": "2026-10-25T20:16:07.321Z",
  "workspaceId": "c0d3cafe-5b1e-4d42-a6fd-0c5f5c3962d0"
}
```

GET

`/v1/webhooks`

Requires auth

## [#](#list-webhooks)List webhooks

Enumerate all webhooks for the workspace to manage event integrations. Requires the \`webhooks:read\` scope.

### [#](#list-webhooks-parameters)Parameters

#### query parameters

status

string

query

Filter by webhook status (optional)

##### Allowed values

`WEBHOOK_STATUS_UNSPECIFIED`

Webhook status not specified

`WEBHOOK_STATUS_ACTIVE`

Webhook is active and receiving events

`WEBHOOK_STATUS_DISABLED`

Webhook is disabled due to repeated failures

`WEBHOOK_STATUS_PAUSED`

Webhook is paused by user action

pageSize

integer (int64)

query

Maximum number of webhooks to return. Defaults to 100, capped at 1000.

pageToken

string

query

Cursor from a previous response's next\_page\_token. Empty starts at the first page. Pages are ordered by (created\_at, id), which never change, so a record cannot move between pages while a client is walking them.

cursor

string

query

Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins.

### [#](#list-webhooks-response)Response

200

Everything worked as expected.

nextPageToken

string

Cursor to continue listing webhooks. Empty on the last page.

totalCount

integer (int64)

How many records exist in total, so a client can tell a complete answer from a page of one. A local-first client reads absence from this list as deletion, and may only do so when the count it was given matches what it received: without that, one page would look like the whole model and everything beyond it would be removed locally.

webhooks

array<object>

Webhooks scoped to the calling workspace

### [#](#list-webhooks-error)Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

object

Required

Wrapped error response.

Example request (cURL)

```bash
curl -X GET "https://api.linkbreakers.com/v1/webhooks?status={status}&pageSize={pageSize}&pageToken={pageToken}&cursor={cursor}" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

Typical response

```json
{
  "nextPageToken": "string",
  "totalCount": 0,
  "webhooks": [
    {
      "createdAt": "2026-10-25T20:16:07.318Z",
      "createdBy": "123e4567-e89b-12d3-a456-426614174000",
      "endpointUrl": "https://api.example.com/webhooks/linkbreakers",
      "failureCount": 0,
      "id": "d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11",
      "lastDeliveredAt": "2026-10-25T20:16:07.318Z",
      "lastSentAt": "2026-10-25T20:16:07.318Z",
      "linkId": "d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11",
      "name": "Production Event Notifications",
      "source": "WEBHOOK_SOURCE_LINKBREAKERS",
      "status": "WEBHOOK_STATUS_ACTIVE",
      "successCount": 0,
      "triggers": [
        "KIND_ENTRY",
        "KIND_EXIT"
      ],
      "updatedAt": "2026-10-25T20:16:07.318Z",
      "workspaceId": "c0d3cafe-5b1e-4d42-a6fd-0c5f5c3962d0"
    }
  ]
}
```

Base URL: `https://api.linkbreakers.com`

GET

`/v1/webhooks/{id}`

Requires auth

## [#](#get-a-webhook)Get a webhook

Retrieve details for a specific webhook endpoint. Requires the \`webhooks:read\` scope.

### [#](#get-a-webhook-parameters)Parameters

#### path parameters

id

string

Required

path

Identifier of the desired webhook (UUID)

### [#](#get-a-webhook-response)Response

200

Everything worked as expected.

webhook

object

Describes a webhook endpoint that receives event notifications when specified conditions are met, providing real-time integration capabilities for external systems.

### [#](#get-a-webhook-error)Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

object

Required

Wrapped error response.

Example request (cURL)

```bash
curl -X GET "https://api.linkbreakers.com/v1/webhooks/{id}" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

Typical response

```json
{
  "webhook": {
    "createdAt": "2026-10-25T20:16:07.318Z",
    "createdBy": "123e4567-e89b-12d3-a456-426614174000",
    "endpointUrl": "https://api.example.com/webhooks/linkbreakers",
    "failureCount": 0,
    "id": "d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11",
    "lastDeliveredAt": "2026-10-25T20:16:07.318Z",
    "lastSentAt": "2026-10-25T20:16:07.318Z",
    "linkId": "d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11",
    "name": "Production Event Notifications",
    "source": "WEBHOOK_SOURCE_LINKBREAKERS",
    "status": "WEBHOOK_STATUS_ACTIVE",
    "successCount": 0,
    "triggers": [
      "KIND_ENTRY",
      "KIND_EXIT"
    ],
    "updatedAt": "2026-10-25T20:16:07.319Z",
    "workspaceId": "c0d3cafe-5b1e-4d42-a6fd-0c5f5c3962d0"
  }
}
```

Base URL: `https://api.linkbreakers.com`

POST

`/v1/webhooks`

Requires auth

## [#](#create-a-webhook)Create a webhook

Create a new webhook endpoint to receive event notifications when workflow steps complete. Requires the \`webhooks:write\` scope.

### [#](#create-a-webhook-parameters)Parameters

#### header parameters

Idempotency-Key

string

header

Makes retrying this request safe. See components.parameters.IdempotencyKey.

### [#](#create-a-webhook-request)Request body

endpointUrl

string

Required

The URL endpoint that will receive webhook POST requests

linkId

string

Filter webhook notifications by a specific link ID. Only events from this link will trigger webhook notifications. If empty, all links in the workspace will trigger notifications.

name

string

Required

The name of the webhook

source

string (enum)

The source of a webhook - indicates whether the webhook was created manually through the Linkbreakers dashboard or automatically via an integration platform such as Make.com or Zapier

##### Allowed values

`WEBHOOK_SOURCE_UNSPECIFIED`

Webhook source not specified (defaults to LINKBREAKERS)

`WEBHOOK_SOURCE_LINKBREAKERS`

Webhook created manually through the Linkbreakers dashboard/platform

`WEBHOOK_SOURCE_MAKE`

Webhook created automatically via Make.com integration

`WEBHOOK_SOURCE_ZAPIER`

Webhook created automatically via Zapier integration

triggers

array<string (enum)>

Filter webhook notifications by workflow step kinds. Only workflow steps matching these kinds will trigger webhook notifications. If empty, all workflow step kinds will trigger notifications.

### [#](#create-a-webhook-response)Response

200

Everything worked as expected.

webhook

object

Describes a webhook endpoint that receives event notifications when specified conditions are met, providing real-time integration capabilities for external systems.

### [#](#create-a-webhook-error)Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

object

Required

Wrapped error response.

Example request (cURL)

```bash
curl -X POST "https://api.linkbreakers.com/v1/webhooks" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Idempotency-Key: string" \
  -H "Content-Type: application/json" \
  --data '{"endpointUrl":"https://example.com","linkId":"string","name":"string","source":"WEBHOOK_SOURCE_UNSPECIFIED","triggers":["KIND_UNSPECIFIED"]}'
```

Sample payload (application/json)

```json
{
  "endpointUrl": "https://example.com",
  "linkId": "string",
  "name": "string",
  "source": "WEBHOOK_SOURCE_UNSPECIFIED",
  "triggers": [
    "KIND_UNSPECIFIED"
  ]
}
```

Typical response

```json
{
  "webhook": {
    "createdAt": "2026-10-25T20:16:07.318Z",
    "createdBy": "123e4567-e89b-12d3-a456-426614174000",
    "endpointUrl": "https://api.example.com/webhooks/linkbreakers",
    "failureCount": 0,
    "id": "d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11",
    "lastDeliveredAt": "2026-10-25T20:16:07.318Z",
    "lastSentAt": "2026-10-25T20:16:07.318Z",
    "linkId": "d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11",
    "name": "Production Event Notifications",
    "source": "WEBHOOK_SOURCE_LINKBREAKERS",
    "status": "WEBHOOK_STATUS_ACTIVE",
    "successCount": 0,
    "triggers": [
      "KIND_ENTRY",
      "KIND_EXIT"
    ],
    "updatedAt": "2026-10-25T20:16:07.318Z",
    "workspaceId": "c0d3cafe-5b1e-4d42-a6fd-0c5f5c3962d0"
  }
}
```

Base URL: `https://api.linkbreakers.com`

PATCH

`/v1/webhooks/{id}`

Requires auth

## [#](#update-a-webhook)Update a webhook

Modify an existing webhook endpoint configuration. Requires the \`webhooks:write\` scope.

### [#](#update-a-webhook-parameters)Parameters

#### path parameters

id

string

Required

path

Identifier of the webhook to update (UUID)

#### header parameters

Idempotency-Key

string

header

Makes retrying this request safe. See components.parameters.IdempotencyKey.

### [#](#update-a-webhook-request)Request body

endpointUrl

string

The URL endpoint that will receive webhook POST requests

linkId

string

Filter webhook notifications by a specific link ID. Only events from this link will trigger webhook notifications. If empty, all links in the workspace will trigger notifications.

name

string

The name of the webhook

source

string (enum)

The source of a webhook - indicates whether the webhook was created manually through the Linkbreakers dashboard or automatically via an integration platform such as Make.com or Zapier

##### Allowed values

`WEBHOOK_SOURCE_UNSPECIFIED`

Webhook source not specified (defaults to LINKBREAKERS)

`WEBHOOK_SOURCE_LINKBREAKERS`

Webhook created manually through the Linkbreakers dashboard/platform

`WEBHOOK_SOURCE_MAKE`

Webhook created automatically via Make.com integration

`WEBHOOK_SOURCE_ZAPIER`

Webhook created automatically via Zapier integration

status

string (enum)

The status of a webhook

##### Allowed values

`WEBHOOK_STATUS_UNSPECIFIED`

Webhook status not specified

`WEBHOOK_STATUS_ACTIVE`

Webhook is active and receiving events

`WEBHOOK_STATUS_DISABLED`

Webhook is disabled due to repeated failures

`WEBHOOK_STATUS_PAUSED`

Webhook is paused by user action

triggers

array<string (enum)>

Filter webhook notifications by workflow step kinds. Only workflow steps matching these kinds will trigger webhook notifications. If empty, all workflow step kinds will trigger notifications.

### [#](#update-a-webhook-response)Response

200

Everything worked as expected.

webhook

object

Describes a webhook endpoint that receives event notifications when specified conditions are met, providing real-time integration capabilities for external systems.

### [#](#update-a-webhook-error)Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

object

Required

Wrapped error response.

Example request (cURL)

```bash
curl -X PATCH "https://api.linkbreakers.com/v1/webhooks/{id}" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Idempotency-Key: string" \
  -H "Content-Type: application/json" \
  --data '{"endpointUrl":"https://example.com","linkId":"string","name":"string","source":"WEBHOOK_SOURCE_UNSPECIFIED","status":"WEBHOOK_STATUS_UNSPECIFIED","triggers":["KIND_UNSPECIFIED"]}'
```

Sample payload (application/json)

```json
{
  "endpointUrl": "https://example.com",
  "linkId": "string",
  "name": "string",
  "source": "WEBHOOK_SOURCE_UNSPECIFIED",
  "status": "WEBHOOK_STATUS_UNSPECIFIED",
  "triggers": [
    "KIND_UNSPECIFIED"
  ]
}
```

Typical response

```json
{
  "webhook": {
    "createdAt": "2026-10-25T20:16:07.319Z",
    "createdBy": "123e4567-e89b-12d3-a456-426614174000",
    "endpointUrl": "https://api.example.com/webhooks/linkbreakers",
    "failureCount": 0,
    "id": "d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11",
    "lastDeliveredAt": "2026-10-25T20:16:07.319Z",
    "lastSentAt": "2026-10-25T20:16:07.319Z",
    "linkId": "d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11",
    "name": "Production Event Notifications",
    "source": "WEBHOOK_SOURCE_LINKBREAKERS",
    "status": "WEBHOOK_STATUS_ACTIVE",
    "successCount": 0,
    "triggers": [
      "KIND_ENTRY",
      "KIND_EXIT"
    ],
    "updatedAt": "2026-10-25T20:16:07.319Z",
    "workspaceId": "c0d3cafe-5b1e-4d42-a6fd-0c5f5c3962d0"
  }
}
```

Base URL: `https://api.linkbreakers.com`

DELETE

`/v1/webhooks/{id}`

Requires auth

## [#](#delete-a-webhook)Delete a webhook

Remove a webhook endpoint so it no longer receives event notifications. Requires the \`webhooks:write\` scope.

### [#](#delete-a-webhook-parameters)Parameters

#### path parameters

id

string

Required

path

Identifier of the webhook to delete (UUID)

### [#](#delete-a-webhook-response)Response

200

Everything worked as expected.

No structured schema available for this section.

### [#](#delete-a-webhook-error)Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

object

Required

Wrapped error response.

Example request (cURL)

```bash
curl -X DELETE "https://api.linkbreakers.com/v1/webhooks/{id}" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

Typical response

```json
{}
```

Base URL: `https://api.linkbreakers.com`

Cookies

We use cookies to measure our ads with Meta and Google and to record visits with PostHog. Our own analytics are cookie-free and run either way. [Privacy statement](https://linkbreakers.com/privacy#cookies)

---

Source: https://linkbreakers.com/help/api/webhooks
