Transfers
Transfer within User's Accounts
POST /transfer/acc2acc/
Transfers funds between two accounts belonging to the same user. The accounts are identified in the request body. It does not matter if the accounts are in different back offices, currencies, banks, or time zones.
The transaction does not necessarily happen right away. Instead it goes into a queue for asynchronous execution.
If configured to delay, the queue allows cancelling unexecuted transactions by calling the undo
method.
Request body example:
{
"sourceAFiAccountId": "qwertyuiop", //Id of source account
"destinationAFiAccountId": "abcdefghij", //Id of destination account
"amount": 10,
"currency": "USD",
"narrativeDebit": "Transfer to my savings account", //optional explanation
"narrativeCredit": "Transfer from my checking account" //optional explanation
}
Response body example:
{
"success": true, //true if the transaction was successfully queued
"undo": { // information needed for possible undo
"id": "1234", //undo handle
"isActionable": true //if this transaction can be undone
"dtsQueued": "Wed Oct 27 2021 16:52:52 GMT-0400", //time when this transaction was queued for execution
"dtsExpiry": "Wed Oct 27 2021 16:55:00 GMT-0400", //latest time this transaction can be undone
}
}
Transfer to a Beneficiary
Transfers funds from a user's account to the user's pre-registered beneficiary. The beneficiary is identified by a path parameter.
This transfer is not queued. It is executed right away and cannot be undone.
POST /transfer/acc2ben/:AFiBeneficiaryId
Request body example:
{
"sourceAFiAccountId": "source account AFiAccountId",
"amount": 10,
"currency": "USD",
"narrativeDebit": "Transfer to my savings account", //optional explanation
"narrativeCredit": "Transfer from my checking account" //optional explanation
}
Response body example: