Zid Docs
Apps
ThemesPayments
Apps
ThemesPayments
Help Center
Slack
  1. Webhooks
  • πŸ—‚οΈ Overview
  • πŸš€ Start Here
  • Create your First App
  • Responses
  • Rate Limiting
  • Authorization
  • Embedded Apps
  • StoreFront Events
  • Zid MUI
  • Zid SDKs
  • Our custom MCP server
  • Merchant APIs
    • Account
      • Me
        • Me
        • Profile
      • Store
        • Store
        • Branding
        • Localization
        • Social
        • Operations
        • Business
        • Upload Logo Image
        • Delete Logo Image
        • Upload Icon Image
        • Delete Icon Image
        • Upload Cover Image
        • Delete Cover Image
    • Orders
      • Validate Order Request
      • Create Order
      • Change Order Status
      • Add Order Comment
      • View Order
      • List Orders
      • List Custom Order Statuses
      • List Order Credit Notes
    • Reverse Orders
      • Create Reverse Orders
      • Create Reverse Orders Waybill
      • Add Reverse Order Reasons
      • List Reverse Reasons
      • Calculate Reverse Totals
      • Create refund for reverse order
      • Upload bank transfer receipt
      • Update return products
      • Order Details – View for Return
    • Abandoned Carts
      • List Carts
      • View Cart
    • Products
      • Managing Products
        • Create Product Types
        • Create Product
        • List Products
        • View Product
        • List Product Settings
        • Update Product
        • Bulk Update Products
        • Delete Product
      • Digital Vouchers
        • List Vouchers
        • Order Vouchers
        • Create Voucher
        • Import Vouchers
        • Export Vouchers
        • Update Voucher
        • Remove Voucher
      • Product Categories
        • List Categories
        • View Category
        • Create Category
        • Create Subcategory
        • Update Category
        • Assign Product to Category
        • Bulk Assign Products to Category
        • Publish Category
        • Detach Category from All Products
        • Remove Product from Category
      • Product Badge
        • List Badges
      • Product Attributes
        • List Attributes
        • View Attribute
        • Create Attribute
        • Update Attribute
        • Delete Attribute
      • Product Attribute Presets
        • List Presets
        • Create Preset
        • Update Preset
        • Delete Preset
      • Product Variants
        • Create Variants
        • Create Custom Option
        • Update Custom Option
        • Delete Custom Option Field
        • Create Custom Input Field
        • Update Custom Input Field
        • Delete Custom Input Field
      • Product Sorting
        • Set Manual Product Order
        • Reset Manual Product Order
      • Product Images
        • List Images
        • Upload Image
        • Update Image Order
        • Delete Image
      • Product Availability Notifications
        • Notification Stats
        • Noticiation Settings
        • List Notifications
        • Create Notification
        • Update Settings
        • Send Notification Email
        • Export Notifications
      • Product Export
        • Email All Products to Store Owner
        • Import Products via CSV or xlsx File
      • Product Stock
        • Retrieve Product Stock
        • List Product Stock Records
        • Create Product Stock
        • Update Product Stock
        • Bulk Update Product Stock Records
      • Product Questions & Answers
        • Retrieve Product Question
        • Retrieve Product Answer
        • List Product Questions
        • List Answers for Question
        • Create Product Question
        • Create Product Answer
        • Update Product Question
        • Update Product Answer
        • Delete Product Question
        • Delete Product Answer
      • Product Reviews
        • List Reviews
        • Count Reviews
      • Digital Products
        • Create Downloadable Product
        • Generate Upload URL
        • Upload File to S3
        • Create Product Downloadable
        • Get Product Downloadables
        • Delete Product Downloadable
        • List Store Downloadables
        • Create Store Downloadable
        • Delete Store Downloadable
    • Inventories
      • Create Location
      • Update Location
      • Update Product Stock for Location
      • List Locations
      • View Location
    • Shipping
      • List Store Shipping Methods
    • Marketing
      • Coupons
        • List Coupons
        • View Coupon
        • Create Coupon
        • Generate Bulk Coupons
        • Duplicate Coupon
        • Duplicate Bulk Coupons
        • Update Coupon Note
        • Update Coupon
        • Update Bulk Coupons
        • Update Coupon Status
        • Update Bulk Coupons Status
        • Delete Coupon
        • Delete Bulk Coupons
      • Bundle Offers
        • List Bundle Offers
        • View Bundle Offer
      • Loyalty Program
        • Loyalty Program Status
        • Loyalty Program Details
        • Loyalty Program Info
        • Customer Loyalty Summary
        • Customer Points History
        • Activate Loyalty Program
        • Set Points Expiration Rules
        • Update Cashback Rule
        • Create Points Redemption Method
        • Update Points Redemption Method
        • Delete Points Redemption Method
        • Adjust Customer Points
      • Discount Rules
        • List Discount Rules
        • View Discount Rule
        • Create Discount Rule
        • Update Discount Rule
    • Customers
      • Customer Tags
        • List Customer Tags
        • Add Customer Tag
        • Ω’Update Customer Tag
        • Delete Customer Tag
      • List Customers
      • View Customer
      • Primary Customer List
      • FInd Customer By Phone Number
      • Customer Profile
      • Add Customer
      • Update Customer
      • Delete Customer
      • Add Bulk Customers
      • Import Customers
    • Store Settings
      • πŸ“„ User Roles and Permissions
      • Retrieve Store Manager Profile
      • Retrieve VAT Settings
      • List Payment Methods
      • List Store Operating Countries
    • Countries and Cities
      • List Countries
      • List Cities for Country
    • Blogs
      • Settings
        • Create
        • List
      • Categories
        • Create
        • List
        • Bulk Activate
        • Bulk Deactivate
        • Bulk Delete
        • Retrieve
        • Destroy
        • Partial Update
        • Bulk Add To Posts
        • Bulk Remove From Posts
      • Posts
        • Media
          • List
          • Create
          • Destroy
        • Create
        • List
        • Retrieve
        • Partial Update
        • Destroy
        • Archive
        • Publish
        • Bulk Archive
        • Bulk Publish
        • Bulk Delete
        • Export Posts
        • Import Template
        • Import Posts
      • Tags
        • Create
        • List
        • Retrieve
        • Partial Update
        • Destroy
        • Bulk Delete Tags
        • Bulk Add To Posts
        • Bulk Remove From Posts
      • Storefront
        • Posts
          • List
          • Retrieve
        • Categories
          • List
          • Retrieve
        • Tags
          • List
  • Webhooks
    • Overview
    • Webhook Health Tracking
    • Events
      • Order
      • Product
      • Abandoned Cart
      • Customer
      • Product Category
    • APIs
      • Health Summary
      • Broken Webhooks
      • Recover Broken Webhooks
      • List Webhooks
      • Create Webhook
      • Delete Webhook
      • Delete Webhook By subscriber
  • App Management
    • Events
    • APIs
      • Subscription Details
      • Update Usage-Based Charges
  1. Webhooks

Webhook Health Tracking

Zid automatically monitors the health of your webhook endpoints using a circuit breaker pattern. When an endpoint starts failing consistently, its status transitions through health states that reduce noise and protect your systems from unnecessary traffic β€” and notify you before things get worse.

Health States#

Each webhook has a health_status field that reflects its current state:
StatusMeaningEffect on Delivery
healthyThe endpoint is responding normallyEvents are delivered as usual
degradedThe endpoint has failed 10 or more times in the past hourEvents are still attempted; you should investigate
brokenThe endpoint has failed 30 or more times in the past hourEvent delivery is suspended until you recover the webhook
πŸ“Œ
Note: HTTP 429 Too Many Requests responses are not counted as failures. They are treated as a signal that your endpoint is alive but rate-limited.

How Failures Are Counted#

Failures are tracked using a sliding one-hour window per webhook. Each failed delivery attempt (non-2xx response, connection timeout, or similar error) is recorded.
At the end of each attempt:
If your endpoint has accumulated 10+ failures in the past 60 minutes, its status moves to degraded.
If it reaches 30+ failures in the past 60 minutes, it transitions to broken.
A successful delivery at any point resets the failure count and restores the webhook to healthy.

What Happens When a Webhook Is Broken#

When a webhook reaches the broken state:
1.
No new events are dispatched to that endpoint. Pending undelivered events for the webhook are also discarded to prevent backlogs.
2.
You will receive an email notification (see below) with details of all your broken webhooks.
3.
The webhook remains broken until you explicitly recover it via the API.
The broken_at timestamp records when the webhook entered this state.

Broken Webhook Notifications#

Zid sends a batch email notification once per hour for any broken webhooks that have not yet been reviewed. The email:
Has subject line: "Action Required: Your webhook endpoints are failing"
Includes a CSV attachment (broken_webhooks.csv) listing each broken webhook with the following fields:
ColumnDescription
IDWebhook UUID
Store IDThe store the webhook belongs to
Store NameDisplay name of the store
Store URLStorefront URL
EventThe event type subscribed to
Target URLThe failing endpoint URL
Consecutive FailuresTotal failure count
Last Failed AtTimestamp of most recent failure
Broken AtTimestamp when status became broken
Last Success AtTimestamp of last successful delivery
Created AtTimestamp when the webhook was registered
Each broken webhook is notified once per outage cycle. If you recover a webhook and it later breaks again, a new notification will be sent.

Recovering a Broken Webhook#

To recover a broken webhook you must provide a new target URL. Zid will:
1.
Soft-delete the broken webhook (preserving its audit history).
2.
Create a new webhook with the same event subscription and a fresh healthy status.
3.
Clear the failure counter, giving the new endpoint a clean slate.
Recover Broken Webhooks
POST /manager/v1/webhooks/recover
Request Body:
    {
      "webhooks": [
        {
          "id": "{{webhook_uuid}}",
          "target_url": "https://your-new-endpoint.example.com/hook"
        }
      ]
    }
The response indicates per-webhook success or failure. Partial failures are supported β€” if one webhook in the batch fails to recover, the others still proceed.
πŸ’‘
You cannot recover a webhook by re-using the same target_url. Zid requires a new URL to confirm that the underlying issue has been addressed.

Retry Mechanism#

When a webhook delivery fails, Zid automatically retries the request before recording it as a failure. Each webhook event is attempted up to 3 times with exponential backoff between attempts:
AttemptDelay Before Retry
1st retry1 minute
2nd retry5 minutes
3rd retry15 minutes
πŸ“Œ
If all three retries are exhausted without a successful response, the attempt is counted as a failure toward the health tracking thresholds. Only after all retries fail does the failure get recorded in the sliding window.

API Reference#

The following endpoints are available for monitoring and managing webhook health. All requests must include Authorization (your partner token) and X-Manager-Token (the store's OAuth access token) headers.

GET Health Summary#

GET /v1/managers/webhooks/health-summary
Returns a count of your webhooks grouped by health state for a given store. Use this as a quick dashboard signal to detect whether any of your endpoints are degrading.
Required scope: third_webhook_read
Response:
  {
    "data": {
      "healthy": 54,
      "degraded": 0,
      "broken": 0
    }
  } 

GET Broken Webhooks#

GET /v1/managers/webhooks/broken
Returns the full list of webhooks currently in the broken state for a given store. Each item includes the webhook ID, event type, target URL, and store details β€” everything you need to decide which endpoints to recover.
Required scope: third_webhook_read

POST Recover Broken Webhooks#

POST /v1/managers/webhooks/broken/recover
Recovers one or more broken webhooks by replacing their target URLs. Submit a list of broken webhook IDs alongside their new endpoint URLs. Partial failures are supported β€” successfully recovered webhooks are returned in the response even if others in the batch fail.
Required scope: third_webhook_write
Request body:
{
  "webhooks": [
    {
      "broken_webhook_id": "{{webhook_uuid}}",
      "target_url": "https://your-new-endpoint.example.com/hook"
    }
  ]
}
Modified atΒ 2026-06-10 14:17:39
Previous
Overview
Next
Order
Built with