Webhooks
Webhooks allow you to receive real-time notifications whenever specific events occur on your Bonzai account — enabling you to trigger custom actions on your side.
⚙️ Setup
To configure your webhook:
Go to bonzai.pro/business.
Scroll to the Webhook section.
Enter the
Endpointwhere you want to receive webhook events.
Once set, you can use the interface to manually test both available event types (granted and revoked) by clicking the test buttons.
📬 Event Types
Two types of events are currently supported:
product_access_granted: triggered when a user is granted access to a product (via order or manual unlock).product_access_revoked: triggered when a user’s access is removed (e.g. subscription ends or access is manually revoked).
Each event is sent as a POST request with the following structure:
{
"event_type": "product_access_granted",
"object": "product_access",
"id": 1234,
"type": "granted",
"order_id": 12345,
"timestamp": 1754055687,
"order": {
"id": 12345,
"metadata": null
},
"vendor": {
"id": "t_e93ffe9",
"slug": "superstore",
"name": "Super Store"
},
"user": {
"id": 12345,
"name": "John Doe",
"email": "john.doe@gmail.com"
},
"product": {
"id": "dXm3_9999",
"name": "testwh"
}
}🔎 Field Notes
event_typeis eitherproduct_access_grantedorproduct_access_revokedtypeindicates whether the access was"granted"(manual or free) or"purchased"order_idisnullif the access wasn’t tied to a paid ordervendoridentifies the creator account that triggered the eventuserandproductobjects give context about who got access to what
⚠️ Security notice: Webhooks are currently not signed, so make sure to use a non-guessable URL (e.g. with a long random token) to prevent unauthorized access.
♻️ Resend Events
Webhooks are sent only once per event — no retries are performed automatically.
You can manually resend any access event from the "Manage accesses" section of your product.


Last updated