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

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

Ask for a quote

Request

Read-only service to ask for a real-time quote.

The quote is only valid for a short window of time.

Bodyapplication/jsonrequired
currencyPairstring(^[A-Z]{6}$)(CurrencyPair)^[A-Z]{6}$required

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

Example: "EURUSD"
sidestringrequired

The side representing the quote. S to sell and B to buy.

Enum"B""S"
amountobject(Amount)required

Representation of an amount.

amount.​valuestring(^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$)(QuotedDecimal)^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$required

A String representing a formatted floating number.

Example: "2.257"
amount.​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"
deliveryDatestring(^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$)(Date)^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$required

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

Example: "2016-01-01"
curl -i -X POST \
  https://sandbox.ibanfirst.com/api/quotes/ \
  -H 'Content-Type: application/json' \
  -d '{
    "currencyPair": "EURUSD",
    "side": "B",
    "amount": {
      "value": "2.257",
      "currency": "USD"
    },
    "deliveryDate": "2016-01-01"
  }'

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"
appliedRatestring(^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$)(QuotedDecimal)^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$

A String representing a formatted floating number.

Example: "2.257"
currencyPairstring(^[A-Z]{6}$)(CurrencyPair)^[A-Z]{6}$

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

Example: "EURUSD"
sourceAmountobject(Amount)

Representation of an amount.

deliveredAmountobject(Amount)

Representation of an amount.

createdDatestring(^((19[0,99]|2[0-9]{3})\-(0[1-9]|1[012])\-([012][0-9]|3[01])\ ([01][0-9]|2[0-3])\:([0-5][0-9])\:([0-5][0-9]))$)(Datetime)^((19[0,99]|2[0-9]{3})\-(0[1-9]|1[012])\-([01...

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

Example: "2016-01-01 00:00:00"
deliveryDatestring(^[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", "appliedRate": "2.257", "currencyPair": "EURUSD", "sourceAmount": { "value": "2.257", "currency": "USD" }, "deliveredAmount": { "value": "2.257", "currency": "USD" }, "createdDate": "2016-01-01 00:00:00", "deliveryDate": "2016-01-01" }

Submit a trade

Request

This service allows you to execute trades on the real-time Forex market. The delivery date must be within the next two business days.

Bodyapplication/jsonrequired
currencyPairstring(^[A-Z]{6}$)(CurrencyPair)^[A-Z]{6}$required

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

Example: "EURUSD"
sidestringrequired

The side repressenting the trade. S to sell and B to buy.

Enum"B""S"
amountobject(Amount)required

Representation of an amount.

amount.​valuestring(^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$)(QuotedDecimal)^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$required

A String representing a formatted floating number.

Example: "2.257"
amount.​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"
deliveryDatestring(^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$)(Date)^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$required

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

Example: "2016-01-01"
sourceWalletIdstring(^[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"
deliveryWalletIdstring(^[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<= 76 characters

A custom wording for the trade.

curl -i -X POST \
  https://sandbox.ibanfirst.com/api/trades/ \
  -H 'Content-Type: application/json' \
  -d '{
    "currencyPair": "EURUSD",
    "side": "B",
    "amount": {
      "value": "2.257",
      "currency": "USD"
    },
    "deliveryDate": "2016-01-01",
    "sourceWalletId": "Na5Dv6E",
    "deliveryWalletId": "Na5Dv6E",
    "tag": "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"
appliedRatestring(^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$)(QuotedDecimal)^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$

A String representing a formatted floating number.

Example: "2.257"
currencyPairstring(^[A-Z]{6}$)(CurrencyPair)^[A-Z]{6}$

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

Example: "EURUSD"
sourceAmountobject(Amount)

Representation of an amount.

deliveredAmountobject(Amount)

Representation of an amount.

createdDatestring(^((19[0,99]|2[0-9]{3})\-(0[1-9]|1[012])\-([012][0-9]|3[01])\ ([01][0-9]|2[0-3])\:([0-5][0-9])\:([0-5][0-9]))$)(Datetime)^((19[0,99]|2[0-9]{3})\-(0[1-9]|1[012])\-([01...

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

Example: "2016-01-01 00:00:00"
deliveryDatestring(^[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"
tagstring<= 76 characters

A custom wording for the trade.

Response
application/json
{ "id": "Na5Dv6E", "appliedRate": "2.257", "currencyPair": "EURUSD", "sourceAmount": { "value": "2.257", "currency": "USD" }, "deliveredAmount": { "value": "2.257", "currency": "USD" }, "createdDate": "2016-01-01 00:00:00", "deliveryDate": "2016-01-01", "tag": "string" }

Get trades by status

Request

Retrieve the list of executed trades.

Path
statusstringrequired

A code representing the status of the trades you want to get.

Enum"all""planified""rejected""finalized""canceled""refused""blocked""waitingconfirmation"
Query
fromDatestring(YYYY-MM-DD)

The starting date to search trades.

toDatestring(YYYY-MM-DD)

The ending date to search trades.

pagestring

Index of the page.

Default "1"
per_pagestring

Number of items returned.

Default "50"
sortstring

A code representing the order of rendering objects.

Enum"ASC""DESC"
curl -i -X GET \
  'https://sandbox.ibanfirst.com/api/trades/_{status}/?fromDate=string&page=1&per_page=50&sort=ASC&toDate=string'

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"
appliedRatestring(^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$)(QuotedDecimal)^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$

A String representing a formatted floating number.

Example: "2.257"
currencyPairstring(^[A-Z]{6}$)(CurrencyPair)^[A-Z]{6}$

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

Example: "EURUSD"
sourceAmountobject(Amount)

Representation of an amount.

deliveredAmountobject(Amount)

Representation of an amount.

createdDatestring(^((19[0,99]|2[0-9]{3})\-(0[1-9]|1[012])\-([012][0-9]|3[01])\ ([01][0-9]|2[0-3])\:([0-5][0-9])\:([0-5][0-9]))$)(Datetime)^((19[0,99]|2[0-9]{3})\-(0[1-9]|1[012])\-([01...

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

Example: "2016-01-01 00:00:00"
deliveryDatestring(^[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"
tagstring<= 76 characters

A custom wording for the trade.

]
Response
application/json
[ { "id": "Na5Dv6E", "appliedRate": "2.257", "currencyPair": "EURUSD", "sourceAmount": {}, "deliveredAmount": {}, "createdDate": "2016-01-01 00:00:00", "deliveryDate": "2016-01-01", "tag": "string" } ]

Get a trade details

Request

Retrieve the details of a specific trade.

Path
idstringrequired

The code identifying the trade you want.

curl -i -X GET \
  'https://sandbox.ibanfirst.com/api/trades/{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"
appliedRatestring(^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$)(QuotedDecimal)^((\-){?})[0-9]{12}((\.[0-9]{1-7}){?})$

A String representing a formatted floating number.

Example: "2.257"
currencyPairstring(^[A-Z]{6}$)(CurrencyPair)^[A-Z]{6}$

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

Example: "EURUSD"
sourceAmountobject(Amount)

Representation of an amount.

deliveredAmountobject(Amount)

Representation of an amount.

createdDatestring(^((19[0,99]|2[0-9]{3})\-(0[1-9]|1[012])\-([012][0-9]|3[01])\ ([01][0-9]|2[0-3])\:([0-5][0-9])\:([0-5][0-9]))$)(Datetime)^((19[0,99]|2[0-9]{3})\-(0[1-9]|1[012])\-([01...

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

Example: "2016-01-01 00:00:00"
deliveryDatestring(^[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"
tagstring<= 76 characters

A custom wording for the trade.

Response
application/json
{ "id": "Na5Dv6E", "appliedRate": "2.257", "currencyPair": "EURUSD", "sourceAmount": { "value": "2.257", "currency": "USD" }, "deliveredAmount": { "value": "2.257", "currency": "USD" }, "createdDate": "2016-01-01 00:00:00", "deliveryDate": "2016-01-01", "tag": "string" }

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