Get notified the moment something changes — no polling required. Catalogian sends a POST to your endpoint with the delta summary whenever a change is detected.
Dashboard → Source → Webhooks tab → Add endpoint URL + optional signing secret.
curl -X POST https://api.catalogian.com/v1/sources/:id/webhooks \
-H "Authorization: Bearer $CATALOGIAN_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-app.com/webhooks/catalogian",
"secret": "whsec_optional_signing_secret"
}'Webhooks fire whenever a delta event has at least one change — new, changed, or deleted rows. No-change events (where isNoChange: true) do not trigger webhooks.
{
"event": "delta",
"webhookId": "wh_...",
"sourceId": "cmmfyryl30005ygld7m5596gm",
"sourceName": "My Product Feed",
"deltaEventId": "evt_01j...",
"detectedAt": "2026-03-08T20:00:00.000Z",
"summary": {
"newCount": 14,
"changedCount": 3,
"deletedCount": 0,
"unchangedCount": 49983,
"totalCount": 50000
},
"newKeys": ["sku-9001", "sku-9002"],
"changedKeys": ["sku-1234"],
"deletedKeys": []
}Keys are capped at 100 per category. See the full payload reference for every field.
List, enable/disable, and delete webhooks via the API:
# List webhooks for a source
GET /v1/sources/:id/webhooks
# Enable or disable
PATCH /v1/sources/:id/webhooks/:webhookId
{ "enabled": false }
# Delete
DELETE /v1/sources/:id/webhooks/:webhookIdPlan requirement: Webhooks require Brand plan or higher.
Full payload schema with all fields. Payload Reference →
Secure your endpoint with HMAC signatures. Verifying Signatures →
Understand retry behavior and failure handling. Retry Logic →