Skip to content
Get started

List webhooks

client.webhooks.list(WebhookListParams { cursor, enabled, limit, tenant_id } query?, RequestOptionsoptions?): WebhookListResponse { data, limit, next_cursor, 2 more }
GET/v1/webhooks

Lists webhook endpoints with optional filters and pagination

ParametersExpand Collapse
query: WebhookListParams { cursor, enabled, limit, tenant_id }
cursor?: string

Omit for the first page. For the next page, use the exact value from the previous response's next_cursor. Opaque (base64-encoded); keyset pagination.

enabled?: boolean

Filter by enabled status

limit?: number

Number of results to return (max 1000)

formatint64
minimum1
maximum1000
tenant_id?: string

Filter by tenant ID. NULL bytes not allowed.

maxLength255
ReturnsExpand Collapse
WebhookListResponse { data, limit, next_cursor, 2 more }
data: Array<Data>

List of webhooks (signing_key omitted for security)

id: string

Webhook ID (UUID)

formatuuid
created_at: string

When the webhook was created

formatdate-time
enabled: boolean

Whether the webhook is active

updated_at: string

When the webhook was last updated

formatdate-time
url: string

URL that receives webhook POSTs

disabled_at?: string | null

Read-only. When the webhook was disabled. Omitted when null.

formatdate-time
disabled_reason?: string | null

Read-only. Set by the system when the webhook was disabled. Omitted when null.

event_types?: Array<"feedback_record.created" | "feedback_record.updated" | "feedback_record.deleted" | 3 more>

Event types this webhook subscribes to (empty = all)

Accepts one of the following:
"feedback_record.created"
"feedback_record.updated"
"feedback_record.deleted"
"webhook.created"
"webhook.updated"
"webhook.deleted"
tenant_id?: string

Tenant/organization identifier

limit: number

Limit used in query

formatint64
next_cursor?: string

Opaque cursor for the next page (keyset paging). Present only when there may be more results. Use as the cursor query param for the next page.

offset?: number

Offset used in query (present when offset-based; omitted when using cursor)

total?: number

Total count matching filters (present when offset-based; omitted when using cursor)

formatint64

List webhooks

import FormbricksHub from '@formbricks/hub';

const client = new FormbricksHub({
  apiKey: process.env['HUB_API_KEY'], // This is the default and can be omitted
});

const webhooks = await client.webhooks.list();

console.log(webhooks.data);
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "created_at": "2019-12-27T18:11:19.117Z",
      "enabled": true,
      "updated_at": "2019-12-27T18:11:19.117Z",
      "url": "url",
      "disabled_at": "2019-12-27T18:11:19.117Z",
      "disabled_reason": "disabled_reason",
      "event_types": [
        "feedback_record.created"
      ],
      "tenant_id": "tenant_id"
    }
  ],
  "limit": 0,
  "next_cursor": "next_cursor",
  "offset": 0,
  "total": 0
}
Returns Examples
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "created_at": "2019-12-27T18:11:19.117Z",
      "enabled": true,
      "updated_at": "2019-12-27T18:11:19.117Z",
      "url": "url",
      "disabled_at": "2019-12-27T18:11:19.117Z",
      "disabled_reason": "disabled_reason",
      "event_types": [
        "feedback_record.created"
      ],
      "tenant_id": "tenant_id"
    }
  ],
  "limit": 0,
  "next_cursor": "next_cursor",
  "offset": 0,
  "total": 0
}