additionalProperties: false prevents accidental disclosure
when Finosu creates a delivery. Receivers using these schemas must allow unknown
properties at every object level, including nested objects and $defs, while still
validating known fields, signatures, company, and environment.
Request and acceptance
Finosu sends an HTTPSPOST with Content-Type: application/json,
X-Finosu-Signature: t=<unix-seconds>,v1=<hmac>, and an Idempotency-Key
that identifies the endpoint delivery. An optional configured bearer token is sent
in Authorization. Verify the raw-body signature,
check company and environment, then durably deduplicate and enqueue before returning
2xx. Return 2xx for an already accepted duplicate. See
delivery and retries for failures, ordering,
pauses, and retry limits. These events never authorize another charge or send.
occurred_at is consumer capture time. Text/email events separately expose
data.sent_at; calls expose data.started_at for their supported source signal. A successful dispatch does
not prove a text/email was delivered, a borrower answered, or content was read.
Publication gaps before the delivery queue are not repaired by HTTP retries;
there is no historical catch-up API.
Test-customer events use the same event names and subscriptions with test: true.
Accept and deduplicate them, but never apply them to live accounts. They do not
verify endpoint setup or bypass activation/pause. The separate webhook.test
event remains the explicit synthetic endpoint-verification signal.