Skip to content
shuffl

Searches the public product guides only. Nothing from a workspace is read, and questions are not saved.

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

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

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

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

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

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

webhooks.deliveries.get

Read one webhook delivery: the request body and every attempt’s answer

POST/api/v1/manage/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

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

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

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