Events
quote.createdquote.expiredorder.createdorder.approval_requiredorder.approvedorder.rejectedpayment.pendingpayment.succeededpayment.failedcontent.acceptedcontent.rejectedpublication.queuedpublication.publishedpublication.failedorder.partially_completedorder.completedorder.cancelledrefund.createdrefund.completed
Verify the signature
MediaKit-Signature: t=1731400000,v1=5d41402abc4b2a76b9719d911017c592…
expected = hex(HMAC_SHA256(secret, t + "." + raw_body))
accept if hmac_equal(expected, v1) and |now - t| < 300 Payload
{"id":"evt_…","type":"publication.published","created_at":"2026-11-11T21:00:00+00:00",
"data":{"order_id":"MK-…","state":"PARTIALLY_PUBLISHED","publication":{"publisher":"…","status":"PUBLISHED","live_url":"https://…"}}} Delivery
Duplicate protection: each event has a unique id (header MediaKit-Event-Id). Attempts back off 1 min → 24 h (8 attempts); see GET /webhooks/{id}/deliveries; rotate the secret any time. You can also poll GET /events?after=evt_….
