Webhooks
Subscribe to the events you care about and Modiva POSTs them to your endpoint. Inbound events from every platform are normalized into one envelope — an Instagram comment and a TikTok DM arrive in the same shape.
{
"id": "evt_5c1f9a2b",
"type": "comment.created",
"platform": "instagram",
"profile_id": "acme",
"connection_id": "conn_18a2",
"payload": { "text": "…", "author": "@mara_k" },
"received_at": "2026-06-22T09:31:04Z"
}Delivery flow
Retries & backoff
A delivery counts as successful only when your endpoint returns a 2xx within 5 seconds. Anything else retries on an exponential schedule — up to 8 attempts capped at 24h apart.
After the 8th failure the event moves to a dead-letter queue — replay it any time from Dashboard → Webhook logs. Endpoints are never auto-disabled; you pause or remove them yourself.
Retries reuse the same event id. Dedupe on it — treat each delivery as a notification, not a source of truth.
Every POST carries an X-Modiva-Signature HMAC-SHA256 header. Verify it against your signing secret.
const sig = req.headers["x-modiva-signature"]; const expected = hmacSHA256(rawBody, process.env.MODIVA_WH_SECRET); if (sig !== expected) return res.status(401).end();