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