Skip to main content

Manage Webhooks

The API Control Plane offers two integration patterns: the Management API (pull-based) and webhooks (push-based). Webhooks send HTTP notifications to your endpoints when events occur — such as new subscriptions, approval requests, API deployments, or configuration changes. This lets external systems react to Control Plane events in real time without polling.

Use webhooks when the Control Plane is the initiator (e.g., notifying a Slack channel about new subscriptions). Use the Management API when your system is the initiator (e.g., deploying APIs from a CI/CD pipeline). Both patterns can be combined for complete bidirectional integration.

List webhooks

curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks?page=1&size=10" \
-H "Authorization: Bearer <your-token>"

Create a webhook

curl -X POST "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"displayName": "Deployment Notifier",
"url": "https://hooks.example.com/api-events",
"active": true,
"eventTypes": ["API_DEPLOYED", "API_UNDEPLOYED"]
}'

Required fields

FieldTypeDescription
displayNamestringHuman-readable name
urlstringEndpoint URL to receive webhook payloads
activebooleanWhether the webhook is active
eventTypesstring[]Event types that trigger this webhook

Get a webhook

curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks/<webhook-id>" \
-H "Authorization: Bearer <your-token>"

Update a webhook

curl -X PUT "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks/<webhook-id>" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"name": "deployment-notifier",
"displayName": "Deployment Notifier",
"url": "https://hooks.example.com/api-events-v2",
"events": ["API_DEPLOYED", "API_UNDEPLOYED", "SUBSCRIPTION_CREATED"]
}'

Delete a webhook

curl -X DELETE "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks/<webhook-id>" \
-H "Authorization: Bearer <your-token>"

View webhook delivery history

List past webhook delivery attempts:

curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks/<webhook-id>/requests?page=1&size=10" \
-H "Authorization: Bearer <your-token>"

Each delivery record includes the request payload, response status, and any error details.

Get a specific delivery

curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks/<webhook-id>/requests/<request-id>" \
-H "Authorization: Bearer <your-token>"

Test a webhook

Trigger a test delivery to verify your webhook endpoint:

curl -X POST "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks/<webhook-id>/test" \
-H "Authorization: Bearer <your-token>"

Retry a failed delivery

curl -X POST "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks/requests/<request-id>/retry" \
-H "Authorization: Bearer <your-token>"

Cancel a pending delivery

curl -X POST "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks/requests/<request-id>/cancel" \
-H "Authorization: Bearer <your-token>"

Delivery statuses

StatusDescription
CREATEDDelivery queued
SUCCESSSuccessfully delivered
RETRYINGDelivery failed, retrying
GIVE_UPAll retry attempts exhausted
CANCELLEDDelivery cancelled

List all webhook requests

List delivery history across all webhooks:

curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks/requests?page=1&size=10" \
-H "Authorization: Bearer <your-token>"

Filter by status:

curl -X GET "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/webhooks/requests?status=RETRYING" \
-H "Authorization: Bearer <your-token>"