iBanFirst API (1.1)

Download OpenAPI description
Languages
Servers
https://sandbox.ibanfirst.com/api/

Accounts

Each of your accounts has its own specific currency and IBAN. The API allows you to get details and balances about each account in real time.

Note : accounts are also labelled as wallets in the iBanFirst API.

Operations

Financial movements

The API allows you to retrieve all financial movements from your accounts.

Operations

Beneficiaries

A beneficiary can be either your own account in another bank or a third party recipient account. Beneficiaries can be created or deleted through the API.

Note : beneficiaries are also labelled as externalBankAccounts in the iBanFirst API.

Operations

Submit a new beneficiary

Request

By submitting a new beneficiary, you must supply the relevant details in order to execute a payment.

Note : each of your physical IBAN accounts hold with iBanFirst will be automatically created when subscribing with us.

The Submit a new beneficiary service allows to reference external accounts which can be either your own accounts in another bank or a third party account.

Adding an external bank has some rules :

  • If you have the BIC/SWIFT of the bank, just submit it, and we will recover informations of the bank on our own.
  • If you do not have the BIC/SWIFT of the bank, you have to refer at least its clearing code type, its clearing code and its name.
  • In both cases, if values are not mentionned above, they are not required.

This service include verifications on the format of the account created. The API has been made in order to accept local specification of cross-boarder payments.

The API accepts the following formats of external bank accounts :

  • Austrian Bankleitzahl
  • Australian Bank State Branch
  • German Bankleitzahl
  • Canadian Payments Association Payment Routing Number
  • Spanish Domestic Interbanking Code
  • Fedwire Routing Number
  • HEBIC (Hellenic Bank Identification Code)
  • Bank Code of Hong Kong
  • Irish National Clearing Code (NSC)
  • Indian Financial System Code (IFSC)
  • Italian Domestic Identification Code
  • New Zealand National Clearing Code
  • Polish National Clearing Code (KNR)
  • Portuguese National Clearing Code
  • Russian Central Bank Identification Code
  • UK Domestic Sort Code
  • Swiss Clearing Code
  • South African National Clearing Code
Bodyapplication/jsonrequired

the account to post

accountNumberstring<= 50 charactersrequired

The recipient account number or Iban.

currencystring(^[A-Z]{3}$)(Currency)^[A-Z]{3}$required

A String representing the Three-digit ISO 4217 Currency Code of a currency. This String only contains capitalized letters.

Example: "USD"
holderBankobject(HolderBank)required

Representation of a beneficiary bank.

holderBank.​bicstring<= 11 characters

Eight or eleven-digit ISO 9362 Business Identifier Code specifying the Recipient Bank. This field is optional only when the account number does not have an Iban format.

holderBank.​clearingCodeTypestring<= 2 characters

The two-digit code specifying the local clearing network. If you does not have a bic, this field is required.

holderBank.​clearingCodestring<= 15 characters

The code identifying the branch number on the local clearing network. If you does not have a bic, this field is required.

holderBank.​namestring<= 120 characters

The beneficiary bank name.

holderBank.​addressobject(Address)

Representation of an address

holderobject(Holder)required

What we call a Holder can be either an Individual or an Organisation that own the account. May also be referred to as: Beneficiary/Supplier/Vendor/Payee/Recipient.

In the beneficiary address, only the Country is mandatory, but you can specify all fields to be more precise.

holder.​namestring<= 100 charactersrequired

The name of the account owner.

holder.​typestring<= 10 charactersrequired

The code identifying the type of account owner.

Enum"Individual""Corporate"
holder.​addressobject(Address)

Representation of an address

tagstring<= 50 characters

Custom Data.

correspondentBicstring<= 50 characters

The intermediary bank identifier code.

curl -i -X POST \
  https://sandbox.ibanfirst.com/api/externalBankAccounts/ \
  -H 'Content-Type: application/json' \
  -d '{
    "accountNumber": "string",
    "currency": "USD",
    "holderBank": {
      "bic": "string",
      "clearingCodeType": "st",
      "clearingCode": "string",
      "name": "string",
      "address": {
        "street": "string",
        "postCode": "string",
        "city": "string",
        "province": "st",
        "country": "string"
      }
    },
    "holder": {
      "name": "string",
      "type": "Individual",
      "address": {
        "street": "string",
        "postCode": "string",
        "city": "string",
        "province": "st",
        "country": "string"
      }
    },
    "tag": "string",
    "correspondentBic": "string"
  }'

Responses

OK

Bodyapplication/json
idstring(^[A-Za-z0-9]{*}$)(ID)^[A-Za-z0-9]{*}$

A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.

Example: "Na5Dv6E"
currencyany

The three-digit code specifying the currency of the account.

tagstring<= 50 characters

Custom reference of the account.

accountNumberstring<= 40 characters

The code specifying the account (can be either an Iban or an account number).

correspondentBankobject(CorrespondantBank)

Representation of a correspondant bank.

holderBankobject(HolderBank)

Representation of a beneficiary bank.

holderobject(Holder)

What we call a Holder can be either an Individual or an Organisation that own the account. May also be referred to as: Beneficiary/Supplier/Vendor/Payee/Recipient.

In the beneficiary address, only the Country is mandatory, but you can specify all fields to be more precise.

Response
application/json
{ "id": "Na5Dv6E", "currency": null, "tag": "string", "accountNumber": "string", "correspondentBank": { "bic": "string", "name": "string", "address": {} }, "holderBank": { "bic": "string", "clearingCodeType": "st", "clearingCode": "string", "name": "string", "address": {} }, "holder": { "name": "string", "type": "Individual", "address": {} } }

Get beneficiaries list

Request

Retrieve the list of all beneficiaries referenced with your accounts.

Note : you may use the Retrieve beneficiaries service to get the unique id of your accounts.

Query
sortstring

A code representing the order of rendering external bank accounts with their creation date.

Enum"ASC""DESC"
pagestring

Index of the page.

Default "1"
per_pagestring

Number of items returned.

Default "50"
curl -i -X GET \
  'https://sandbox.ibanfirst.com/api/externalBankAccounts/?page=1&per_page=50&sort=ASC'

Responses

OK

Bodyapplication/jsonArray [
idstring(^[A-Za-z0-9]{*}$)(ID)^[A-Za-z0-9]{*}$

A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.

Example: "Na5Dv6E"
currencyany

The three-digit code specifying the currency of the account.

tagstring<= 50 characters

Custom reference of the account.

accountNumberstring<= 40 characters

The code specifying the account (can be either an Iban or an account number).

correspondentBankobject(CorrespondantBank)

Representation of a correspondant bank.

holderBankobject(HolderBank)

Representation of a beneficiary bank.

holderobject(Holder)

What we call a Holder can be either an Individual or an Organisation that own the account. May also be referred to as: Beneficiary/Supplier/Vendor/Payee/Recipient.

In the beneficiary address, only the Country is mandatory, but you can specify all fields to be more precise.

]
Response
application/json
[ { "id": "Na5Dv6E", "currency": null, "tag": "string", "accountNumber": "string", "correspondentBank": {}, "holderBank": {}, "holder": {} } ]

Get a beneficiary details

Request

This request allows you to see the details related to a specific beneficiary.

Path
idstringrequired

The unique id of the beneficiary.

curl -i -X GET \
  'https://sandbox.ibanfirst.com/api/externalBankAccounts/{id}'

Responses

OK

Bodyapplication/json
idstring(^[A-Za-z0-9]{*}$)(ID)^[A-Za-z0-9]{*}$

A String representing the id of an object. This string contains alpha-numeric characters, including the capital ones.

Example: "Na5Dv6E"
currencyany

The three-digit code specifying the currency of the account.

tagstring<= 50 characters

Custom reference of the account.

accountNumberstring<= 40 characters

The code specifying the account (can be either an Iban or an account number).

correspondentBankobject(CorrespondantBank)

Representation of a correspondant bank.

holderBankobject(HolderBank)

Representation of a beneficiary bank.

holderobject(Holder)

What we call a Holder can be either an Individual or an Organisation that own the account. May also be referred to as: Beneficiary/Supplier/Vendor/Payee/Recipient.

In the beneficiary address, only the Country is mandatory, but you can specify all fields to be more precise.

Response
application/json
{ "id": "Na5Dv6E", "currency": null, "tag": "string", "accountNumber": "string", "correspondentBank": { "bic": "string", "name": "string", "address": {} }, "holderBank": { "bic": "string", "clearingCodeType": "st", "clearingCode": "string", "name": "string", "address": {} }, "holder": { "name": "string", "type": "Individual", "address": {} } }

Delete a beneficiary

Request

Path
idstringrequired

The unique id of the beneficiary to be deleted.

curl -i -X DELETE \
  'https://sandbox.ibanfirst.com/api/externalBankAccounts/{id}'

Responses

OK

Bodyapplication/json
resultboolean

The result of the operation. true if the operation is successful, else false

Response
application/json
{ "result": true }

Payments

Sending funds from one of your iBanFirst accounts to your own bank account or a third-party recipient involves two steps:

  1. Generate the payment object with the 'Submit Payment' method.
    A unique id is assigned to each payment.

  2. Use the 'Confirm Payment' method to send the payment for processing. When you confirm a payment, make sure you have sufficient funds in your account balance.

Caution:
Payments are automatically rolled to the next closest working days if not confirmed in the scheduled date of operation. If the balance of your account is not sufficient to cover the payment amount, funds may be locked-in by iBanFirst.

Operations

Trades

The API provides a deliverable FX facility and deliverable FX liquidity. 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.

FX trades are always made between two accounts of a unique counterparty. iBanFirst will automatically debit the source account and credit the delivery 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 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'.

Operations

Documents

The API allows you to access your documents stored on the iBanFirst platform through a one-time access link.

Documents must be generated on the platform before being available through the API.

Operations

Logs

Operations