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 CategoryEvent TypeDescription
AccountsFLOW_ACCOUNT_REQUESTEDEmitted when an account is created via API or PSP portal but may still be pending compliance checks.
FLOW_ACCOUNT_CREATEDEmitted when an account has passed compliance checks and is operational.
FLOW_ACCOUNT_UPDATEDEmitted when an account details update occurs.
FLOW_ACCOUNT_CLOSEDEmitted when an account is closed.
PayinsFLOW_PAYIN_RECEIVEDEmitted for an incoming payment, subject to compliance checks.
FLOW_PAYIN_UPDATEDEmitted when a payin details update occurs.
FLOW_PAYIN_COMPLETEDEmitted when a payin has cleared all checks and is posted to the ledger.
FLOW_PAYIN_RETURNEDEmitted when a payin is returned.
PayoutsFLOW_PAYOUT_CREATEDEmitted when a payout is initiated.
FLOW_PAYOUT_UPDATEDEmitted when a payout is updated.
FLOW_PAYOUT_PAIDEmitted when a payout is successfully received by the beneficiary bank.
FLOW_PAYOUT_RETURNEDEmitted when a payout is returned (Note: Some may be returned as a Payin).
FLOW_PAYOUT_RECEIVEDEmitted when a payout is received by the beneficiary.
FLOW_PAYOUT_FAILEDEmitted when a payout fails to process.
TransfersFLOW_TRANSFER_CREATEDEmitted when a transfer is initiated.
FLOW_TRANSFER_COMPLETEDEmitted when a transfer is successfully completed and posted to the ledger.
FLOW_TRANSFER_UPDATEDEmitted when a transfer is updated.
FLOW_TRANSFER_FAILEDEmitted 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.