Webhooks API

Configure and manage webhooks for real-time event notifications.

Endpoints

MethodEndpointDescription
GET/webhooksList webhook endpoints
POST/webhooksCreate a webhook
GET/webhooks/:idGet webhook details
PATCH/webhooks/:idUpdate a webhook
DELETE/webhooks/:idDelete a webhook
GET/webhooks/:id/deliveriesList delivery attempts
POST/webhooks/:id/testSend test event

Webhook Object

Loading code block...

Available Events

Project Events

EventDescription
project.createdNew project created
project.updatedProject settings updated
project.deletedProject deleted

Agent Events

EventDescription
agent.invokedAgent was invoked
agent.completedAgent completed task
agent.failedAgent invocation failed

Skill Events

EventDescription
skill.appliedSkill pattern applied
skill.failedSkill application failed

Usage Events

EventDescription
usage.threshold_reachedUsage threshold reached
usage.limit_exceededUsage limit exceeded

Subscription Events

EventDescription
subscription.createdSubscription started
subscription.updatedSubscription changed
subscription.canceledSubscription canceled
invoice.paidInvoice payment succeeded
invoice.payment_failedInvoice payment failed

List Webhooks

Loading code block...

Example Request

Loading code block...

Response

Loading code block...

Create Webhook

Loading code block...

Request Body

FieldTypeRequiredDescription
urlstringYesHTTPS endpoint URL
eventsarrayYesEvents to subscribe to
metadataobjectNoCustom metadata

Example Request

Loading code block...

Response

Loading code block...

Important: The secret is only shown once. Store it securely for signature verification.

Update Webhook

Loading code block...

Request Body

FieldTypeDescription
urlstringEndpoint URL
eventsarrayEvents to subscribe to
statusstringactive or disabled
metadataobjectCustom metadata

Example Request

Loading code block...

Delete Webhook

Loading code block...

Example Request

Loading code block...

List Deliveries

Loading code block...

Query Parameters

ParameterTypeDescription
statusstringFilter: success, failed, pending
limitintegerNumber of deliveries (default: 20)

Response

Loading code block...

Send Test Event

Loading code block...

Request Body

FieldTypeRequiredDescription
eventstringYesEvent type to simulate

Example Request

Loading code block...

Webhook Payload Format

Headers

Loading code block...

Body

Loading code block...

Signature Verification

Verify webhook signatures to ensure requests are from Bootspring.

Node.js

Loading code block...

Python

Loading code block...

Retry Policy

Failed deliveries are retried with exponential backoff:

AttemptDelay
1Immediate
21 minute
35 minutes
430 minutes
52 hours
612 hours
724 hours

After 7 failed attempts, the delivery is marked as failed.

Best Practices

1. Respond Quickly

Return a 2xx response within 30 seconds:

Loading code block...

2. Handle Duplicates

Webhooks may be delivered multiple times. Use the event id for idempotency:

Loading code block...

3. Verify Signatures

Always verify signatures in production.

4. Use HTTPS

Webhook endpoints must use HTTPS.

Webhook Limits

PlanWebhooksEvents/Hour
Free1100
Pro51,000
Team2010,000
EnterpriseUnlimitedUnlimited

Errors

CodeDescription
webhook_not_foundWebhook doesn't exist
webhook_limit_exceededMaximum webhooks reached
invalid_urlURL is not valid HTTPS
invalid_eventUnknown event type