API Reference - Webhooks

Link: https://support.brilliantdirectories.com/support/solutions/articles/12000108132

← Back to API Reference | Getting Started

Webhooks

Webhooks allow your directory site to send automated HTTP notifications to external services (EG Zapier, Pabbly, or a custom endpoint) when specific events occur. Each webhook record defines a trigger type, the destination URL, and metadata about the event. Built-in webhooks handle standard events like new member signups, lead captures, and review submissions; custom webhooks can be tied to specific forms.

Model name in URL: bd_webhooks — DB table: bd_webhooks

The Webhook Object

FieldTypeDescription
webhook_idintegerUnique webhook ID (primary key, read-only)
webhook_typestringSystem name identifying which event triggers this webhook (EG free_members, leads_actions, reviews); max 50 characters required on create
webhook_statusintegerWhether this webhook is active; 1 = enabled, 0 = disabled required on create
webhook_linkstringThe destination URL that receives the webhook POST request (EG a Zapier or Pabbly hook URL); max 500 characters required on create
is_customintegerWhether this is a custom webhook (1) or a built-in platform webhook (0)
webhook_categorystringCategory grouping for this webhook (EG members, leads); max 75 characters
webhook_titlestringHuman-readable display title for this webhook; max 255 characters
webhook_descriptiontextDetailed description of what this webhook does and what data it sends
webhook_formstringSystem name of the form attached to this webhook (for form-triggered custom webhooks); max 75 characters
updated_byintegerForeign key referencing the administrator who last created or updated this webhook required on create
created_atdatetimeDatetime when this webhook record was created
updated_atdatetimeDatetime when this webhook record was last updated

List Webhooks

GET /api/v2/bd_webhooks/get

Example Request

Copy
curl -X GET "https://www.yourdomain.com/api/v2/bd_webhooks/get?limit=25" \
  -H "X-Api-Key: your-api-key-here"

Example Response

Copy
{
  "status": "success",
  "message": [
    {
      "webhook_id": "1",
      "webhook_type": "free_members",
      "webhook_status": "1",
      "webhook_link": "https://hooks.zapier.com/hooks/catch/12345/abcdef/",
      "is_custom": "0",
      "webhook_category": "members",
      "webhook_title": "New Free Member",
      "webhook_description": "Fires when a new free member registers",
      "webhook_form": "",
      "updated_by": "27",
      "created_at": "2022-07-05 05:53:48",
      "updated_at": "2025-08-24 17:05:53"
    }
  ],
  "total": "11",
  "current_page": 1,
  "total_pages": 1
}

Retrieve a Webhook

GET /api/v2/bd_webhooks/get/{webhook_id}

Example Request

Copy
curl -X GET "https://www.yourdomain.com/api/v2/bd_webhooks/get/1" \
  -H "X-Api-Key: your-api-key-here"

Example Response

Copy
{
  "status": "success",
  "message": [
    {
      "webhook_id": "1",
      "webhook_type": "free_members",
      "webhook_status": "1",
      "webhook_link": "https://hooks.zapier.com/hooks/catch/12345/abcdef/",
      "is_custom": "0",
      "webhook_category": "members",
      "webhook_title": "New Free Member",
      "webhook_description": "Fires when a new free member registers",
      "webhook_form": "",
      "updated_by": "27",
      "created_at": "2022-07-05 05:53:48",
      "updated_at": "2025-08-24 17:05:53"
    }
  ],
  "total": "1",
  "current_page": 1,
  "total_pages": 1
}

Create a Webhook

POST /api/v2/bd_webhooks/create

Example Request

Copy
curl -X POST "https://www.yourdomain.com/api/v2/bd_webhooks/create" \
  -H "X-Api-Key: your-api-key-here" \
  -d "webhook_type=new_review" \
  -d "webhook_status=1" \
  -d "webhook_link=https://hooks.zapier.com/hooks/catch/12345/abcdef/" \
  -d "is_custom=1" \
  -d "webhook_category=reviews" \
  -d "webhook_title=New+Review+Notification" \
  -d "webhook_description=Fires+when+a+member+receives+a+new+review" \
  -d "updated_by=27"

Example Response

Copy
{
  "status": "success",
  "message": {
    "webhook_id": "15",
    "webhook_type": "new_review",
    "webhook_status": "1",
    "webhook_link": "https://hooks.zapier.com/hooks/catch/12345/abcdef/",
    "is_custom": "1",
    "webhook_category": "reviews",
    "webhook_title": "New Review Notification",
    "webhook_description": "Fires when a member receives a new review",
    "webhook_form": null,
    "updated_by": "27",
    "created_at": null,
    "updated_at": null
  }
}

Update a Webhook

PUT /api/v2/bd_webhooks/update

Example Request

Copy
curl -X PUT "https://www.yourdomain.com/api/v2/bd_webhooks/update" \
  -H "X-Api-Key: your-api-key-here" \
  -d "webhook_id=15" \
  -d "webhook_status=0" \
  -d "webhook_link=https://hooks.zapier.com/hooks/catch/99999/xyz/"

Example Response

Copy
{
  "status": "success",
  "message": {
    "webhook_id": "15",
    "webhook_type": "new_review",
    "webhook_status": "0",
    "webhook_link": "https://hooks.zapier.com/hooks/catch/99999/xyz/",
    "is_custom": "1",
    "webhook_category": "reviews",
    "webhook_title": "New Review Notification",
    "webhook_description": "Fires when a member receives a new review",
    "webhook_form": "",
    "updated_by": "27",
    "created_at": "0000-00-00 00:00:00",
    "updated_at": "0000-00-00 00:00:00"
  }
}

Delete a Webhook

DELETE /api/v2/bd_webhooks/delete

Example Request

Copy
curl -X DELETE "https://www.yourdomain.com/api/v2/bd_webhooks/delete" \
  -H "X-Api-Key: your-api-key-here" \
  -d "webhook_id=15"

Example Response

Copy
{
  "status": "success",
  "message": "bd_webhooks record was deleted"
}