Documentation
Webhooks
Event delivery, signatures and retries.
Signatures
Every payload is signed with HMAC-SHA256 over "timestamp.body". The timestamp is inside the signed material, which is what makes a captured request non-replayable — signing the body alone would not. Deliveries outside a five-minute window should be rejected.
Verify against the raw request body. Re-serializing parsed JSON changes the bytes and the signature will not match.
AssetForge refuses to send an unsigned payload. If no signing secret is configured, delivery is disabled rather than downgraded.
Delivery and retries
Deliveries are not retried inline. A failed attempt is recorded with a next-retry time and picked up by a background worker, so an unreachable subscriber cannot slow down the request that produced the event. Delivery history and failure reasons are visible per endpoint under Monitoring.