Efficient management of multi-currency payments
IO's platform, particularly through the io.flow framework, generates a real-time stream of events. These events encapsulate significant actions and statuses across various modules like accounts, payins, payouts, and transfers. The Events API provides a unified stream to access these events, allowing developers to subscribe and react to changes within the platform without the need to poll multiple API endpoints.
Events Overview
Events are time-stamped records that offer a snapshot of the state changes and actions within the platform's processes. They are designed to aid in the monitoring, auditing, and compliance of financial transactions and account activities.
Event Types and Descriptions
Below is a table of the event types that the io.flow emits, along with their descriptions:
Event Category | Event Type | Description |
---|---|---|
Accounts | FLOW_ACCOUNT_REQUESTED | Emitted when an account is created via API or PSP portal but may still be pending compliance checks. |
FLOW_ACCOUNT_CREATED | Emitted when an account has passed compliance checks and is operational. | |
FLOW_ACCOUNT_UPDATED | Emitted when an account details update occurs. | |
FLOW_ACCOUNT_CLOSED | Emitted when an account is closed. | |
Payins | FLOW_PAYIN_RECEIVED | Emitted for an incoming payment, subject to compliance checks. |
FLOW_PAYIN_UPDATED | Emitted when a payin details update occurs. | |
FLOW_PAYIN_COMPLETED | Emitted when a payin has cleared all checks and is posted to the ledger. | |
FLOW_PAYIN_RETURNED | Emitted when a payin is returned. | |
Payouts | FLOW_PAYOUT_CREATED | Emitted when a payout is initiated. |
FLOW_PAYOUT_UPDATED | Emitted when a payout is updated. | |
FLOW_PAYOUT_PAID | Emitted when a payout is successfully received by the beneficiary bank. | |
FLOW_PAYOUT_RETURNED | Emitted when a payout is returned (Note: Some may be returned as a Payin). | |
FLOW_PAYOUT_RECEIVED | Emitted when a payout is received by the beneficiary. | |
FLOW_PAYOUT_FAILED | Emitted when a payout fails to process. | |
Transfers | FLOW_TRANSFER_CREATED | Emitted when a transfer is initiated. |
FLOW_TRANSFER_COMPLETED | Emitted when a transfer is successfully completed and posted to the ledger. | |
FLOW_TRANSFER_UPDATED | Emitted when a transfer is updated. | |
FLOW_TRANSFER_FAILED | Emitted when a transfer fails to process. |
API Features
- Centralized Event Tracking: Access all FLOW-related events through a singular endpoint.
- 90-Day Event Retention: Events are stored for 90 days, providing a significant historical range for data retrieval.
- Pagination: Navigate through a large set of events with ease using paginated responses.
- Time-Based Filtering: Retrieve events for specific periods using customizable time-based filters.