Client API IBANFIRST (1.1)

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

Wallets

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).

Operations

Submit a new wallet

Request

This request allows you to submit a new wallet.
Caution : The holder object in the parameters will only be considered if you suscribed to the Multi account per currency with holder wallet option.

Bodyapplication/jsonrequired

The wallet to create

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"
tagstring

Custom data.

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.

curl -i -X POST \
  https://sandbox.ibanfirst.com/api/wallets/ \
  -H 'Content-Type: application/json' \
  -d '{
    "currency": "USD",
    "tag": "string",
    "holder": {
      "name": "string",
      "type": "Individual",
      "address": {
        "street": "string",
        "postCode": "string",
        "city": "string",
        "province": "st",
        "country": "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"
currencystring(^[A-Z]{3}$)(Currency)^[A-Z]{3}$

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

Example: "USD"
tagstring<= 50 characters

Custom reference associated to this wallet. (For internal use only, not communicated to any beneficiary).

statusstring

The code identifying the status of the account.

Enum"authorized""locked""not authorized"
accountNumberstring<= 40 characters

Iban or 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": "USD", "tag": "string", "status": "authorized", "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 wallet list

Request

With the Retrieve wallet list service, you can list obtain the list of all wallet account hold with IBANFIRST. The object return in the Array is a simplified version of the Wallet providing you the main information on the wallet without any additional request.

Query
pagestring

Index of the page.

Default "1"
per_pagestring

Inumber of items returned.

Default "50"
sortstring

A string representing the rendering order of objects. For wallet objects, the sorting is made by wallet's creation date.

Enum"ASC""DESC"
curl -i -X GET \
  'https://sandbox.ibanfirst.com/api/wallets/?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"
tagstring

The custom wording of the wallet.

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

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

Example: "USD"
bookingAmountobject(Amount)

Representation of an amount.

valueAmountobject(Amount)

Representation of an amount.

dateLastFinancialMovementstring(^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$)(Date)^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$

A String representing a date by its year, month and day in month.

Example: "2016-01-01"
]
Response
application/json
[ { "id": "Na5Dv6E", "tag": "string", "currency": "USD", "bookingAmount": {}, "valueAmount": {}, "dateLastFinancialMovement": "2016-01-01" } ]

Get wallet details

Request

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

Path
idstringrequired

The code identifying the external bank account you want.

curl -i -X GET \
  'https://sandbox.ibanfirst.com/api/wallets/-{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"
currencystring(^[A-Z]{3}$)(Currency)^[A-Z]{3}$

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

Example: "USD"
tagstring<= 50 characters

Custom reference associated to this wallet. (For internal use only, not communicated to any beneficiary).

statusstring

The code identifying the status of the account.

Enum"authorized""locked""not authorized"
accountNumberstring<= 40 characters

Iban or 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": "USD", "tag": "string", "status": "authorized", "accountNumber": "string", "correspondentBank": { "bic": "string", "name": "string", "address": {} }, "holderBank": { "bic": "string", "clearingCodeType": "st", "clearingCode": "string", "name": "string", "address": {} }, "holder": { "name": "string", "type": "Individual", "address": {} } }

Retrieve wallet balance for a given date

Request

This request allows you to see the details of a wallet balance at a given date.

Path
idstringrequired

The code identifying the external bank account you want.

datestringrequired

The date used to retrieve the balance of the wallet.

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

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"
balanceobject(Balance)

Representation of a balance.

Response
application/json
{ "id": "Na5Dv6E", "balance": { "closingDate": "2016-01-01", "bookingAmount": {}, "valueAmount": {} } }

Financial movements

The IBANFIRST Rest API allows you to get all financial movements from your Wallets.

Operations

External bank account

In the IBANFIRST API, what we call external bank account, can be either your own account in another bank or a third party recipient account.

Operations

Payments

Sending funds from your IBANFIRST wallet account to your own bank account or a third-party recipient involves two steps:

  1. 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.

  2. 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.

Operations

Trades

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'.

Operations

Documents

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.

Operations

Logs

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 MethodTime
GET1 hour
POST, PUT1 week
Operations

Auth

This service is intended to authenticate users on the API for certain cases

Operations