Skip to main content
Remove a webhook from a store. This is a hard delete — the row is removed from store.store_webhooks immediately, with no soft-delete flag. Historical webhook_deliveries records are retained for audit (the storeWebhookId foreign key is set to null).
POST /v1/actions/store/remove-webhook
Authentication: API Key (owner or admin role required)

Request Body

FieldTypeRequiredDescription
idstringYesWebhook UUID

Example Request

import { WaffoPancake } from "@waffo/pancake-ts";

const client = new WaffoPancake({
  merchantId: process.env.WAFFO_MERCHANT_ID!,
  privateKey: process.env.WAFFO_PRIVATE_KEY!,
});

const { webhook } = await client.webhooks.remove({
  id: "11111111-2222-3333-4444-555555555555",
});
// webhook contains a snapshot of the row before deletion

Success Response (200)

Returns the webhook entity as it existed immediately before deletion (so the caller can confirm what was removed). Same shape as add-webhook.

Response Fields

FieldTypeDescription
idstringWebhook UUID
storeIdstringOwning store UUID
channelstringWebhook channel
urlstringTarget webhook URL
eventsstring[]Subscribed event types
testModebooleantrue for test transactions, false for production
secretstring | nullChannel-specific credential, null if unset
createdAtstringCreation timestamp (ISO 8601)
updatedAtstringLast update timestamp (ISO 8601)

Errors

Retry policy: Never retry 4xx — fix the request and resubmit. Retry 5xx with exponential backoff (start 5s, max 3 attempts).
Statuserrors[0].messageWhat it meansRecommended handling
400Missing required field: idid was not providedFix the request body, resubmit
400id must be a valid UUIDid is not a valid UUIDFix the id, resubmit
403Not authorized to manage webhooks for this storeThe caller’s merchant role on the owning store is not owner or adminSwitch to an API Key whose merchant has the required role
404Webhook not foundNo webhook matches the supplied id (or already removed)The webhook is already gone — treat as success and reconcile local state
500Internal server errorUnexpected server-side failureRetry with exponential backoff (start 5s, max 3 attempts)