Skip to content
Dashboard

Webhooks

Webhooks allow you to receive real-time HTTP callbacks when events occur in your Featurebase organization. Configure webhook endpoints to subscribe to specific event types.

List webhooks
GET/v2/webhooks
Create a webhook
POST/v2/webhooks
Get webhook by ID
GET/v2/webhooks/{id}
Update a webhook
PATCH/v2/webhooks/{id}
Delete a webhook
DELETE/v2/webhooks/{id}
Refresh webhook signing secret
POST/v2/webhooks/{id}/secret
ModelsExpand Collapse
Webhook object { id, createdAt, description, 11 more }
id: string

Unique identifier

createdAt: string

ISO timestamp when the webhook was created

description: string

Optional description of the webhook purpose

health: object { avgResponseTime, consecutiveFailures, errorsSinceLastSuccess, 2 more }
avgResponseTime: number

Average response time in milliseconds

consecutiveFailures: number

Number of consecutive delivery failures

errorsSinceLastSuccess: number

Number of errors since last successful delivery

lastResponseTime: number

Last response time in milliseconds

lastSuccessAt: string

ISO timestamp of last successful delivery

lastStatus: object { code, message, timestamp }

Last delivery attempt status

code: number

HTTP status code from last delivery attempt

message: string

Status message from last delivery attempt

timestamp: string

ISO timestamp of last status update

name: string

Human-readable webhook name

object: "webhook"

Object type identifier

requestConfig: object { timeoutMs, headers }
timeoutMs: number

Request timeout in milliseconds (1000-30000)

minimum1000
maximum30000
headers: optional map[string]

Custom headers to send with webhook requests

secret: string

Webhook signing secret for verifying payloads

status: "active" or "paused" or "suspended"

Current status of the webhook

One of the following:
"active"
"paused"
"suspended"
topics: array of "post.created" or "post.updated" or "post.deleted" or 24 more

Array of event topics the webhook subscribes to

One of the following:
"post.created"
"post.updated"
"post.deleted"
"post.voted"
"ticket.created"
"ticket.updated"
"ticket.deleted"
"changelog.published"
"comment.created"
"comment.updated"
"comment.deleted"
"conversation.user.created"
"conversation.user.replied"
"conversation.admin.replied"
"conversation.admin.closed"
"conversation.handover_requested"
"conversation.admin.assigned"
"conversation.admin.noted"
"conversation.admin.snoozed"
"conversation.admin.unsnoozed"
"conversation.admin.opened"
"conversation.priority.updated"
"conversation.deleted"
"conversation.contact.attached"
"conversation.contact.detached"
"conversation.read"
"conversation_part.redacted"
updatedAt: string

ISO timestamp when the webhook was last updated

url: string

Webhook endpoint URL

version: string

API version for webhook payloads

WebhookRequestConfigInput object { headers }

Request configuration for webhook delivery

headers: optional map[string]

Custom headers to send with webhook requests (max 10)

WebhookDeleteResponse object { id, deleted, object }
id: string

Unique identifier of the deleted webhook

deleted: true

Indicates the resource was deleted

object: "webhook"

Object type identifier