Webhook Management

1. Subscribe to a Webhook
Endpoint: POST https://app.quizify.io/api/webhooks/subscribe

Allows authenticated users to subscribe to webhook events for a specific funnel using its shortcode. This endpoint is useful when you want to receive real-time updates (such as funnel submissions) from Quizify to external services like Zapier or your own backend system.

To use this endpoint, you must include a valid Bearer token in the Authorization header. The request must be sent as a POST request with the Content-Type and Accept headers set to application/json.

The request body should contain:

  • url (required): The destination HTTPS URL where Quizify will send webhook POST requests.

  • event (required): A custom label to identify the purpose of the webhook subscription.

  • secret (required): The shortcode that uniquely identifies the funnel to which the webhook is linked.

  • headers (optional): Any custom headers you want Quizify to include in each webhook request.

A successful response returns the subscription details including ID, user ID, and funnel ID.

Headers:

Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
Content-Type: application/json

Request Body:

{
  "url": "https://hooks.example.com/webhook/endpoint/",
  "event": "Zapier Webhook Subscription",
  "secret": "FUNNEL_SHORTCODE",
  "headers": {
    "X-Custom-Header": "CustomValue"
  }
}

Success Response:

{
  "message": "Webhook subscription created successfully",
  "subscription": {
    "id": 10,
    "user_id": 1,
    "funnel_id": 5,
    "url": "https://hooks.example.com/webhook/endpoint/",
    "event": "Zapier Webhook Subscription",
    "secret": "xSecret123Code",
    "created_at": "2025-07-09T09:15:23Z"
  }
}
2. Unsubscribe from a Webhook
Endpoint: POST https://app.quizify.io/api/webhooks/unsubscribe

Allows an authenticated user to unsubscribe from an existing webhook that they previously registered. This is useful when a user no longer wishes to receive webhook notifications for a particular funnel or event. It helps manage and clean up unused or outdated webhook endpoints.

Authentication:

This endpoint requires authentication via a Bearer token. Include the following header in your request:

Authorization: Bearer YOUR_ACCESS_TOKEN

The authenticated user must also have webhook access enabled under their current subscription plan. If webhook access is not available for their plan, the API will return an error.

Request Details:

  • Method: POST

  • Content-Type: application/json

  • Accept: application/json

Required Header Parameters:

Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
Content-Type: application/json

Success Response (200 OK):

{
  "message": "Webhook subscription deleted successfully"
}