Webhooks

Configure webhooks to receive real-time notifications when visitors are identified or when billing events occur. Webhooks use HMAC-SHA256 signatures for verification.

Get Webhook Configuration

Retrieve the current webhook configuration for identification and billing.

Request:

GET /partner/webhooks

Response:

{
  "identification": {
    "url": "https://example.com/webhooks/identify",
    "enabled": true,
    "hasSecret": true
  },
  "billing": {
    "url": "https://example.com/webhooks/billing",
    "enabled": true,
    "hasSecret": true
  }
}

Example:


Update Identification Webhook

Configure the webhook for visitor identification events.

Request:

Body:

Field
Type
Required
Description

url

string

No

Webhook endpoint URL

secret

string

No

Secret for HMAC signature verification

enabled

boolean

No

Enable or disable the webhook

Response:


Update Billing Webhook

Configure the webhook for billing events.

Request:

Body:

Response:


Send Test Webhook

Send a test webhook to verify your endpoint is configured correctly.

Request:

Body:

Valid types: identification, billing

Response:

Example:


Get Webhook Logs

Retrieve webhook delivery logs for debugging and monitoring.

Request:

Query Parameters:

Parameter
Type
Description

page

integer

Page number

pageSize

integer

Items per page

type

string

Filter by identification or billing

status

string

Filter by delivery status

organizationId

string

Filter by organization

Response:


Identification Webhook Payload

When a visitor is identified, your webhook receives a POST request with the following payload:


Signature Verification

Webhook requests include an X-Bullseye-Signature header containing an HMAC-SHA256 signature of the raw request body.

To verify the signature:

  1. Compute HMAC-SHA256 of the raw request body using your webhook secret.

  2. Compare the result (hex-encoded) with the value in X-Bullseye-Signature.

Example (Node.js):

Example (Python):

Always use the raw request body (before JSON parsing) for signature verification. Respond with 200 OK to acknowledge receipt; non-2xx responses may trigger retries.

Last updated