Try it out in Postman: View Postman Collection
Try it out in Postman: View Postman Collection
In the IBANFIRST API, what we call a "wallet" account can be either a physical iban account, or a virtual iban account with IBANFIRST. A virtual account is an administrative "subaccount" of one physical iban account (the "masteraccount"). Cash can be earmarked as belonging to a virtual account so that you can easily allocate funds per business unit, per client, or incoming/outgoing transactions).
Sending funds from your IBANFIRST wallet account to your own bank account or a third-party recipient involves two steps:
Generate the payment object with the Submit Payment method. When you submit a payment to be scheduled, you assign a unique id to that payment.
Caution: The payment created will be automatically rolled to the next closest working days if not confirmed in the scheduled date of operation.
Confirm the payment to the API for processing, using the Confirm Payment method. When you confirm a payment for processing, make sure you have sufficient funds in your wallet account balance.
Caution: If the balance of your wallet account is not sufficient to cover the payment amount, funds may be locked-in by IBANFIRST.
You can use this request in order to schedule a new payment.
You may want to use the GET /payments/options/-{walletId}/-{externalBankAccountId}/
before calling this service to get proper values for feePaymentOption
and priorityPaymentOption
concerning your payment.
You can also use this request to get the cost of a payment.
The payment to post
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
Representation of an amount.
A String representing a date by its year, month and day in month.
A String representing the Three-digit ISO 4217 Currency Code of a currency. This String only contains capitalized letters.
A code representing the charges option to be applied to this payment.
A code representing whether this payment as a standard priority, or a priority treatment in IBANFIRST an correspondent bank systems.
A custom reference that you want to be related to this payment in the system. This tag is not communicated to the beneficiary.
curl -i -X POST \
https://sandbox.ibanfirst.com/api/payments/ \
-H 'Content-Type: application/json' \
-d '{
"sourceWalletId": "Na5Dv6E",
"externalBankAccountId": "Na5Dv6E",
"amount": {
"value": "2.257",
"currency": "USD"
},
"desiredExecutionDate": "2016-01-01",
"feeCurrency": "USD",
"feePaymentOption": "BEN",
"priorityPaymentOption": "48H",
"tag": "string",
"communication": "string"
}'
OK
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code identifying the payment status.
A String representing a date by its year, month, day in month, hour, minute and second.
A String representing a date by its year, month and day in month.
A String representing a date by its year, month and day in month.
The custom reference related to the payment. (For internal use only, not communicated to the beneficiary).
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code representing whether this payment as a normal priority or if it as to be treated with a priority status by all the routing banks.
The code identifying the charges option for this payment.
{ "id": "Na5Dv6E", "status": "planified", "createdDate": "2016-01-01 00:00:00", "desiredExecutionDate": "2016-01-01", "executionDate": "2016-01-01", "amount": { "value": "2.257", "currency": "USD" }, "counterValue": { "value": "2.257", "currency": "USD" }, "rate": { "currencyPair": "EURUSD", "midMarket": "2.257", "date": "2016-01-01 00:00:00", "coreAsk": "2.257", "coreBid": "2.257", "appliedAsk": "2.257", "appliedBid": "2.257" }, "tag": "string", "externalBankAccountId": "Na5Dv6E", "sourceWalletId": "Na5Dv6E", "communication": "string", "priorityPaymentOption": "48H", "feePaymentOption": "BEN", "feePaymentAmount": { "value": "2.257", "currency": "USD" } }
Before doing any payments, you may use this request to get payments options for the payment you want to do. This will give you the priorityPaymentOption
and feePaymentOption
available for the given wallet and external bank account. You will also get fee cost for each priorityPaymentOption
and feePaymentOption
combinations, and minimal source and target amount to use this combination.
curl -i -X GET \
'https://sandbox.ibanfirst.com/api/payments/options/-{walletId}/-{externalBankAccountId}/'
{ "paymentOption": { "externalBankAccountId": "Na5Dv6E", "sourceWalletId": "Na5Dv6E", "options": [ … ] } }
curl -i -X GET \
'https://sandbox.ibanfirst.com/api/payments/_{status}/?fromDate=string&page=1&per_page=50&sort=ASC&toDate=string'
OK
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code identifying the payment status.
A String representing a date by its year, month, day in month, hour, minute and second.
A String representing a date by its year, month and day in month.
A String representing a date by its year, month and day in month.
The custom reference related to the payment. (For internal use only, not communicated to the beneficiary).
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code representing whether this payment as a normal priority or if it as to be treated with a priority status by all the routing banks.
The code identifying the charges option for this payment.
[ { "id": "Na5Dv6E", "status": "planified", "createdDate": "2016-01-01 00:00:00", "desiredExecutionDate": "2016-01-01", "executionDate": "2016-01-01", "amount": { … }, "counterValue": { … }, "rate": { … }, "tag": "string", "externalBankAccountId": "Na5Dv6E", "sourceWalletId": "Na5Dv6E", "communication": "string", "priorityPaymentOption": "48H", "feePaymentOption": "BEN", "feePaymentAmount": { … } } ]
curl -i -X GET \
'https://sandbox.ibanfirst.com/api/payments/-{id}'
OK
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code identifying the payment status.
A String representing a date by its year, month, day in month, hour, minute and second.
A String representing a date by its year, month and day in month.
A String representing a date by its year, month and day in month.
The custom reference related to the payment. (For internal use only, not communicated to the beneficiary).
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code representing whether this payment as a normal priority or if it as to be treated with a priority status by all the routing banks.
The code identifying the charges option for this payment.
{ "id": "Na5Dv6E", "status": "planified", "createdDate": "2016-01-01 00:00:00", "desiredExecutionDate": "2016-01-01", "executionDate": "2016-01-01", "amount": { "value": "2.257", "currency": "USD" }, "counterValue": { "value": "2.257", "currency": "USD" }, "rate": { "currencyPair": "EURUSD", "midMarket": "2.257", "date": "2016-01-01 00:00:00", "coreAsk": "2.257", "coreBid": "2.257", "appliedAsk": "2.257", "appliedBid": "2.257" }, "tag": "string", "externalBankAccountId": "Na5Dv6E", "sourceWalletId": "Na5Dv6E", "communication": "string", "priorityPaymentOption": "48H", "feePaymentOption": "BEN", "feePaymentAmount": { "value": "2.257", "currency": "USD" } }
curl -i -X DELETE \
'https://sandbox.ibanfirst.com/api/payments/-{id}'
OK
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code identifying the payment status.
A String representing a date by its year, month, day in month, hour, minute and second.
A String representing a date by its year, month and day in month.
A String representing a date by its year, month and day in month.
The custom reference related to the payment. (For internal use only, not communicated to the beneficiary).
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code representing whether this payment as a normal priority or if it as to be treated with a priority status by all the routing banks.
The code identifying the charges option for this payment.
{ "id": "Na5Dv6E", "status": "planified", "createdDate": "2016-01-01 00:00:00", "desiredExecutionDate": "2016-01-01", "executionDate": "2016-01-01", "amount": { "value": "2.257", "currency": "USD" }, "counterValue": { "value": "2.257", "currency": "USD" }, "rate": { "currencyPair": "EURUSD", "midMarket": "2.257", "date": "2016-01-01 00:00:00", "coreAsk": "2.257", "coreBid": "2.257", "appliedAsk": "2.257", "appliedBid": "2.257" }, "tag": "string", "externalBankAccountId": "Na5Dv6E", "sourceWalletId": "Na5Dv6E", "communication": "string", "priorityPaymentOption": "48H", "feePaymentOption": "BEN", "feePaymentAmount": { "value": "2.257", "currency": "USD" } }
curl -i -X PUT \
'https://sandbox.ibanfirst.com/api/payments/-{id}/confirm'
OK
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code identifying the payment status.
A String representing a date by its year, month, day in month, hour, minute and second.
A String representing a date by its year, month and day in month.
A String representing a date by its year, month and day in month.
The custom reference related to the payment. (For internal use only, not communicated to the beneficiary).
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code representing whether this payment as a normal priority or if it as to be treated with a priority status by all the routing banks.
The code identifying the charges option for this payment.
{ "id": "Na5Dv6E", "status": "planified", "createdDate": "2016-01-01 00:00:00", "desiredExecutionDate": "2016-01-01", "executionDate": "2016-01-01", "amount": { "value": "2.257", "currency": "USD" }, "counterValue": { "value": "2.257", "currency": "USD" }, "rate": { "currencyPair": "EURUSD", "midMarket": "2.257", "date": "2016-01-01 00:00:00", "coreAsk": "2.257", "coreBid": "2.257", "appliedAsk": "2.257", "appliedBid": "2.257" }, "tag": "string", "externalBankAccountId": "Na5Dv6E", "sourceWalletId": "Na5Dv6E", "communication": "string", "priorityPaymentOption": "48H", "feePaymentOption": "BEN", "feePaymentAmount": { "value": "2.257", "currency": "USD" } }
We may ask you to provide a proof of transaction under specific terms. You can anticipate our request and send us your invoice or the ID of the beneficiary to avoid any request from us and fully automate your payment process. To send a file with this request, you have to extract the content of the file with a binary format, and encode it with a base64 algorithm to put in in the “file” field.
The proof of transaction to upload
curl -i -X PUT \
'https://sandbox.ibanfirst.com/api/payments/-{id}/proofOfTransaction/' \
-H 'Content-Type: application/json' \
-d '{
"documentType": "invoice",
"tag": "string",
"file": "string"
}'
OK
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code identifying the payment status.
A String representing a date by its year, month, day in month, hour, minute and second.
A String representing a date by its year, month and day in month.
A String representing a date by its year, month and day in month.
The custom reference related to the payment. (For internal use only, not communicated to the beneficiary).
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.
The code representing whether this payment as a normal priority or if it as to be treated with a priority status by all the routing banks.
The code identifying the charges option for this payment.
{ "id": "Na5Dv6E", "status": "planified", "createdDate": "2016-01-01 00:00:00", "desiredExecutionDate": "2016-01-01", "executionDate": "2016-01-01", "amount": { "value": "2.257", "currency": "USD" }, "counterValue": { "value": "2.257", "currency": "USD" }, "rate": { "currencyPair": "EURUSD", "midMarket": "2.257", "date": "2016-01-01 00:00:00", "coreAsk": "2.257", "coreBid": "2.257", "appliedAsk": "2.257", "appliedBid": "2.257" }, "tag": "string", "externalBankAccountId": "Na5Dv6E", "sourceWalletId": "Na5Dv6E", "communication": "string", "priorityPaymentOption": "48H", "feePaymentOption": "BEN", "feePaymentAmount": { "value": "2.257", "currency": "USD" } }
IBANFIRST provides a deliverable FX facility and deliverable FX liquidity via the IBANFIRST-REST API. You will become counterparty to IBANFIRST and can market and sell deliverable FX services to corporate and private clients as well as using such services on their behalf.
The IBANFIRST-rest API supports online trading for the following contracts: TOD (Same-day), TOM (next-day), SPOT (T+2) and forward contracts up to one year.
FX trades are always made between two wallet accounts of a unique counterparty. IBANFIRST will automatically debit the source wallet account and credit the delivery wallet account at the date specified in the FX trade instructions. If the delivery date has been scheduled, the delivery is automatically processed in the morning before 00:30 am Paris time. If the delivery date is today (TOD), the funds is available on your wallet account by the next 20mn.
A FX trades also involves an amount, which includes both the numeric amount and the currency in order to define if this amount is the nominal to be bought or sold, for example: '100000.00+GBP'.
The IBANFIRST API let you acces your online documents stored on the IBANFIRST platform.
Note that the API do not send the document content, but a one-time link to access it.
This one-time link is only available once. So if you need another access to the document, you have to request another link by listing documents or getting document result.
As a developper, you might want to go further than sending request and recieve responses.
The IBANFIRST API allows you to access the logs of its own services, to provide you some details about what you send, and what it's done on the platform.
You can retrieve informations during a certain time.
This time passed, your log entry will be lost.
HTTP Method | Time |
---|---|
GET | 1 hour |
POST, PUT | 1 week |