Reference
Webhooks API
12 operations. Generated from the OpenAPI document, so this page always matches the API.
OpenAPI documentErrors and rate limitsSDK and CLI recipes
On this page
webhooks.catalog
List the webhook event types and which ones this key can subscribe to
POST/api/v1/manage/webhooks/catalog
- Read
- Permission webhooks.catalog
const result = await shuffl.webhooks.catalog();Request fields (none)
This operation takes no input.
Response object[]
- description string required
- events object[] required
- description string required
- fields string[] required
- type string required
- group string required
- label string required
- locked null | string required
- scope string required
webhooks.get
Read one webhook endpoint
POST/api/v1/manage/webhooks/get
- Read
- Permission webhooks.get
const result = await shuffl.webhooks.get({
"endpointId": "<endpointId>"
});Request fields (1)
- endpointId string required
Response object
- createdAt string required
- description null | string required
- events string[] required
- failingSince null | string required
- id string required
- lastFailureAt null | string required
- lastSuccessAt null | string required
- previousSecretExpiresAt null | string required
- status "disabled" | "enabled" | "paused" required
- statusReason null | "creator_lost_access" | "failing" | "gone" | "manual" required
- successRate24h null | number required
- updatedAt string required
- url string required
webhooks.list
List webhook endpoints, their status and delivery success over 24 hours
POST/api/v1/manage/webhooks/list
- Read
- Permission webhooks.list
const result = await shuffl.webhooks.list();Request fields (none)
This operation takes no input.
Response object
- catalog object[] required
- description string required
- events object[] required
- description string required
- fields string[] required
- type string required
- group string required
- label string required
- locked null | string required
- scope string required
- endpoints object[] required
- createdAt string required
- description null | string required
- events string[] required
- failingSince null | string required
- id string required
- lastFailureAt null | string required
- lastSuccessAt null | string required
- previousSecretExpiresAt null | string required
- status "disabled" | "enabled" | "paused" required
- statusReason null | "creator_lost_access" | "failing" | "gone" | "manual" required
- successRate24h null | number required
- updatedAt string required
- url string required
- limit number required
webhooks.create
Add a webhook endpoint that receives the chosen events, and get its signing secret
POST/api/v1/manage/webhooks/create
- Write
- Permission webhooks.create
- Needs a requestKey
- Needs confirm set to webhooks.create
const result = await shuffl.webhooks.create({
"events": [
"<events>"
],
"url": "<url>",
"confirm": "webhooks.create",
"requestKey": "a-new-unique-key"
});Request fields (5)
- description null | string optional
- events string[] required
- url string required
- confirm "webhooks.create" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- endpoint object required
- createdAt string required
- description null | string required
- events string[] required
- failingSince null | string required
- id string required
- lastFailureAt null | string required
- lastSuccessAt null | string required
- previousSecretExpiresAt null | string required
- status "disabled" | "enabled" | "paused" required
- statusReason null | "creator_lost_access" | "failing" | "gone" | "manual" required
- successRate24h null | number required
- updatedAt string required
- url string required
- groups number required
- secret string required
- testDeliveryId string required
- endpoint object required
webhooks.delete
Delete a webhook endpoint and its delivery log
POST/api/v1/manage/webhooks/delete
- Write
- Permission webhooks.delete
- Needs a requestKey
- Needs confirm set to webhooks.delete
const result = await shuffl.webhooks.delete({
"endpointId": "<endpointId>",
"confirm": "webhooks.delete",
"requestKey": "a-new-unique-key"
});Request fields (3)
- endpointId string required
- confirm "webhooks.delete" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- deleted boolean required
webhooks.rotateSecret
Roll a webhook endpoint’s signing secret, keeping the old one valid for a while
POST/api/v1/manage/webhooks/rotateSecret
- Write
- Permission webhooks.rotateSecret
- Needs a requestKey
- Needs confirm set to webhooks.rotateSecret
const result = await shuffl.webhooks.rotateSecret({
"endpointId": "<endpointId>",
"confirm": "webhooks.rotateSecret",
"requestKey": "a-new-unique-key"
});Request fields (4)
- endpointId string required
- keepOldFor "1h" | "24h" | "7d" | "now" optional
- confirm "webhooks.rotateSecret" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- previousSecretExpiresAt null | string required
- secret string required
webhooks.sendTest
Send a webhook.test event to an endpoint now
POST/api/v1/manage/webhooks/sendTest
- Write
- Permission webhooks.sendTest
- Needs a requestKey
- Needs confirm set to webhooks.sendTest
const result = await shuffl.webhooks.sendTest({
"endpointId": "<endpointId>",
"confirm": "webhooks.sendTest",
"requestKey": "a-new-unique-key"
});Request fields (3)
- endpointId string required
- confirm "webhooks.sendTest" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- deliveryId string required
- error null | string required
- latencyMs number required
- state "failed" | "pending" | "succeeded" required
- status null | number required
webhooks.update
Change a webhook endpoint’s URL, description or events, or turn it on or off
POST/api/v1/manage/webhooks/update
- Write
- Permission webhooks.update
- Needs a requestKey
- Needs confirm set to webhooks.update
const result = await shuffl.webhooks.update({
"endpointId": "<endpointId>",
"confirm": "webhooks.update",
"requestKey": "a-new-unique-key"
});Request fields (7)
- description null | string optional
- enabled false | true optional
- endpointId string required
- events string[] optional
- url string optional
- confirm "webhooks.update" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- endpoint object required
- createdAt string required
- description null | string required
- events string[] required
- failingSince null | string required
- id string required
- lastFailureAt null | string required
- lastSuccessAt null | string required
- previousSecretExpiresAt null | string required
- status "disabled" | "enabled" | "paused" required
- statusReason null | "creator_lost_access" | "failing" | "gone" | "manual" required
- successRate24h null | number required
- updatedAt string required
- url string required
- urlChanged boolean required
- endpoint object required
webhooks.deliveries.get
Read one webhook delivery: the request body and every attempt’s answer
POST/api/v1/manage/webhooks/deliveries/get
- Read
- Permission webhooks.deliveries.get
const result = await shuffl.webhooks.deliveries.get({
"deliveryId": "<deliveryId>"
});Request fields (1)
- deliveryId string required
Response object
- attemptLog object[] required
- at string required
- attempt number required
- error null | string required
- latencyMs number required
- requestHeaders object required
- content-type string required
- user-agent string required
- webhook-id string required
- webhook-signature string required
- webhook-timestamp string required
- responseBody null | string required
- responseHeaders object required
- status null | number required
- attempts number required
- completedAt null | string required
- createdAt string required
- endpointId string required
- eventCreatedAt string required
- eventId string required
- id string required
- lastError null | string required
- lastStatus null | number required
- nextAttemptAt null | string required
- replayOf null | string required
- requestBody string required
- state "attempting" | "canceled" | "failed" | "pending" | "succeeded" required
- type string required
webhooks.deliveries.list
List an endpoint’s webhook deliveries, newest first
POST/api/v1/manage/webhooks/deliveries/list
- Read
- Permission webhooks.deliveries.list
const result = await shuffl.webhooks.deliveries.list({
"endpointId": "<endpointId>"
});Request fields (5)
- before string optional
- endpointId string required
- limit number optional
- state "attempting" | "canceled" | "failed" | "pending" | "succeeded" optional
- type string optional
Response object
- deliveries object[] required
- attempts number required
- completedAt null | string required
- createdAt string required
- endpointId string required
- eventCreatedAt string required
- eventId string required
- id string required
- lastError null | string required
- lastStatus null | number required
- nextAttemptAt null | string required
- replayOf null | string required
- state "attempting" | "canceled" | "failed" | "pending" | "succeeded" required
- type string required
- next null | string required
webhooks.deliveries.replay
Resend one webhook delivery with the same event id
POST/api/v1/manage/webhooks/deliveries/replay
- Write
- Permission webhooks.deliveries.replay
- Needs a requestKey
- Needs confirm set to webhooks.deliveries.replay
const result = await shuffl.webhooks.deliveries.replay({
"deliveryId": "<deliveryId>",
"confirm": "webhooks.deliveries.replay",
"requestKey": "a-new-unique-key"
});Request fields (3)
- deliveryId string required
- confirm "webhooks.deliveries.replay" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- deliveryId string required
- error null | string required
- latencyMs number required
- state "failed" | "pending" | "succeeded" required
- status null | number required
webhooks.deliveries.replayFailed
Resend every failed webhook delivery of an endpoint since a time
POST/api/v1/manage/webhooks/deliveries/replayFailed
- Write
- Permission webhooks.deliveries.replayFailed
- Needs a requestKey
- Needs confirm set to webhooks.deliveries.replayFailed
const result = await shuffl.webhooks.deliveries.replayFailed({
"endpointId": "<endpointId>",
"since": "<since>",
"confirm": "webhooks.deliveries.replayFailed",
"requestKey": "a-new-unique-key"
});Request fields (4)
- endpointId string required
- since string required
- confirm "webhooks.deliveries.replayFailed" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- queued number required