Create, manage, and test webhooks programmatically via the REST API. Requires an API key with the webhooks scope.
Pro plan — The Webhooks API requires a Pro plan to create and manage webhooks. Upgrade from Billing & Plans.
https://projectfeed.app/api/v1/webhooks/api/v1/webhooksList all webhooks for the authenticated workspace.
/api/v1/webhooksCreate a new webhook. Returns the webhook object including the signing secret (shown only once).
/api/v1/webhooks/:idRetrieve a specific webhook by ID.
/api/v1/webhooks/:idUpdate a webhook's name, URL, events, or enabled status.
/api/v1/webhooks/:idDelete a webhook. All pending deliveries are cancelled.
/api/v1/webhooks/:id/testSend a test event to the webhook endpoint. Returns the delivery result.
/api/v1/webhooks/:id/regenerate-secretRegenerate the signing secret. The old secret is immediately invalidated.
/api/v1/webhooks/:id/deliveriesList recent deliveries for a webhook, including status codes and response times.
/api/v1/webhooks/:id/deliveries/:deliveryId/retryRetry a failed delivery. The payload is resent as-is.
{
"id": "wh_abc123",
"name": "My Webhook",
"url": "https://your-server.com/webhook",
"events": ["post.created", "post.updated"],
"enabled": true,
"failureCount": 0,
"secret": "whsec_...",
"createdAt": "2025-01-15T10:30:00Z",
"updatedAt": "2025-01-15T10:30:00Z"
}idUnique webhook identifier. Prefixed with wh_.nameHuman-readable name for the webhook. Max 100 characters.urlHTTPS endpoint that receives webhook deliveries.eventsArray of event types this webhook is subscribed to.enabledWhether the webhook is active. Disabled after 10 consecutive failures.failureCountNumber of consecutive failed deliveries. Resets to 0 on success.secretSigning secret for HMAC-SHA256 verification. Only returned on creation and secret regeneration.{
"id": "del_xyz789",
"eventType": "post.created",
"success": true,
"responseStatus": 200,
"duration": 142,
"error": null,
"createdAt": "2025-01-15T10:31:00Z"
}All webhook API endpoints require an API key with the webhooks scope. Pass the key in the Authorization header.
Webhook access also follows the key owner's current workspace role and webhook ownership. Members can only create and manage webhooks they created themselves, while workspace admins and owners can manage all workspace webhooks. Viewers cannot use webhook endpoints.
Requests that authenticate but fail those ownership or role checks return 403.
Authorization: Bearer pf_live_your_api_keySee the webhooks guide for event types, security, and reliability details.