webhook_url configured for your program. Events fire asynchronously as platform actions occur — onboarding, account issuance, and money movement.
The Ingo Banking Platform joined the Ingo Payments family through the acquisition of Deposits Inc. in 2024, expanding Ingo’s money mobility capabilities with bank-grade account creation and ledgering. As part of Ingo Payments’ broader platform integration effort, Banking webhooks are delivered through a purpose-built architecture optimized for account lifecycle events — reflected in the envelope structure documented on this page. We are actively working toward a unified developer experience across all Ingo Payments products.
Delivery
- Every event is delivered as an HTTP
POSTto your registeredwebhook_url Content-Type: application/json- Return any
2xxstatus within a few seconds to acknowledge receipt - Non-
2xxresponses are retried with exponential backoff - Receivers must be idempotent — the same event may be delivered more than once under transient failure
Common Envelope
Every event uses the same outer structure. Theevent field and data.event_type always carry the same value.
Field Conventions
Receiver Best Practices
Deduplicate ondata.event_id. The same event may be redelivered under transient failure. Store processed event IDs and skip duplicates.
Acknowledge fast, process async. Return 2xx quickly; defer heavy work to a background job. Slow responses will cause retries.
Parse defensively. New optional fields may be added to the data block in future platform versions. Do not reject events with unknown fields.
Use event_description to identify account issuance type. account.issue.created and account.issue.failed are emitted for both VBAN and RBA issuance. The event_description field distinguishes them — common values are "Virtual Bank Account" and "Routable Bank Account".
Disambiguate bulk vs. single assignment events. account.assignment.success and account.assignment.failed are emitted in two distinct payload shapes. Branch on the presence of process_id:
- Single-record — includes
entity_id,entity_type, and anaccountblock describing the assigned account - Bulk — includes
process_id,data.event_typeset to the constant"account.assignment.bulk", and abatchblock with run statistics
Platform Notes
Transfer reversal and block events (
account.transfer.reversed, account.transfer.blocked) use a slimmer payload than created/completed/failed events — they omit account_id, account_type, currency, amount, and memo.Event Categories
Select an event from the sidebar to view its full payload schema and example.