Developer documentation
Webhooks
Receive real-time events when prices change, alerts fire, or reports are ready. Add endpoints in Dashboard → Integrations → Webhooks.
Overview
Add webhook endpoints in Dashboard → Integrations → Webhooks. We send a signed HTTPS POST to your URL when an event occurs. A signing secret is generated automatically for each endpoint so you can verify payloads with X-Webhook-Signature (HMAC-SHA256). Webhook URLs must be public HTTPS endpoints. Webhooks are available on plans that include API access and during your trial period, and are not delivered when your trial or plan has expired.
Events
- price.changed– Fired when a product's current or optimized price is updated.
- alert.fired – Fired when a price alert threshold is met (e.g. competitor dropped below your target).
- report.ready – Fired when a requested report has finished generating (e.g. after calling the trigger report API).
Request format
Every webhook request has the same structure. Headers include X-Webhook-Event and X-Webhook-Signature: sha256=<hmac>.
POST your-url
Content-Type: application/json
User-Agent: PriceBoostAi-Webhook/1.0
X-Webhook-Event: price.changed
X-Webhook-Signature: sha256=<HMAC-SHA256 of body using your secret>
{
"event": "price.changed",
"timestamp": "2025-03-10T14:30:00.000000Z",
"data": { ... }
}Payload by event
price.changed
"data": {
"product_id": 123,
"store_id": 1,
"name": "Product name",
"previous_price": 27.99,
"new_price": 29.99,
"optimized_price": 29.99
}alert.fired
"data": {
"alert_id": 5,
"alert_type": "below",
"product_id": 123,
"product_name": "Product name",
"threshold_price": 25.00,
"triggered_at": "2025-03-10T14:30:00.000000Z",
"trigger_data": { "competitor_name": "...", "current_price": 24.50, ... }
}report.ready
"data": {
"report_id": 42,
"report_type": "pricing",
"date_from": "2025-03-01T00:00:00.000000Z",
"date_to": "2025-03-10T23:59:59.000000Z"
}Verifying the signature
Every endpoint includes X-Webhook-Signature: sha256=<signature>. Compute HMAC-SHA256(raw_request_body, your_secret) and compare with the header value (after the sha256= prefix) to confirm the payload is from PriceBoostAi and unchanged. Copy the signing secret when you create or rotate an endpoint — it is only shown once.
Manage webhook endpoints and API tokens in your dashboard.