document.failed
Fires when a document is rejected, hits an unrecoverable extraction error, or is resolved as a duplicate of one already on the deal. reason carries the short code or message.
Fires when a document is rejected, hits an unrecoverable extraction error, or is resolved as a duplicate of one already on the deal. reason carries the short code or message.
Signature over the exact request body: t=<seconds since the Unix epoch>,v1=<lowercase hex HMAC-SHA256 of "{t}.{body}" keyed with your endpoint's signing secret>. Verify it before trusting the body, and reject a t more than five minutes from your own clock. During a secret rotation both the new and the previous secret verify for 24 hours; each delivery is signed with exactly one.
The event id, identical to the body’s id. Stable across retries and replays, and shared by every endpoint one event fans out to. Delivery is at-least-once, so dedupe on it.
Event id: evt_ plus 24 lowercase hex characters. Also sent as the SpreadSpace-Event-Id header. Stable across retries and replays, so dedupe on it.
Seconds since the Unix epoch at which the event was created server-side. Seconds, not milliseconds. Deliveries are not ordered; reconcile on this.
true for live activity, false for test mode (an ss_test_ key or the sandbox simulator). Branch on it to route test deliveries to a staging handler.
The data object on a document.failed delivery, sent when a
document is rejected or hits an unrecoverable extraction error.
reason is a short failure code or a human-readable message. Match it
for equality against the codes you know and treat anything else as opaque;
a richer machine-readable reason can be added later without changing the
wire schema.