API Reference / Endpoints / Platform
List webhook destinations
/v1/webhooksList webhook destinations for the authenticated workspace.
GET
/v1/webhooksAuth: API keyBilling: FreeBehavior: SyncScopes: webhooks:manage
GETSyncNo bodywebhooks:manage
When to use it
Use this to drive a settings UI, inspect failure counts, or reconcile which receivers are currently active.
Behavior on success
Returns a completed payload on the normal success path.
Integration shape
Authorization model
webhooks:manage
Request format
No request body
Polling pattern
No polling required on the normal success path.
Example request
GET /v1/webhooks
const response = await fetch('https://prod-backup-backend.wubble.ai/v1/webhooks', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.WUBBLE_API_KEY}`,
},
});
const payload = await response.json();
console.log(payload);Example response
Response shapejson
{
"success": true,
"data": [
{
"webhook_id": "wh_123",
"url": "https://example.com/api/wubble/webhooks",
"events": [
"music.instrumental.completed"
],
"description": "Primary production receiver",
"secret": "whsec_currently_returned_by_the_api",
"is_active": true,
"failure_count": 0,
"disabled_at": null,
"created_at": "2026-05-12T12:00:00.000Z",
"updated_at": "2026-05-12T12:00:00.000Z"
}
]
}Implementation notes
The current API response includes the stored secret. That is the real behavior today, even though many platforms would mask it.
Production guidance
Pair this route with idempotency on POST requests and either request polling or webhooks whenever the response is asynchronous.
Was this page helpful?