Bank Accounts
API Reference
Banks

Banks

Who calls these endpoints?External API (s2s)
Base path
/api/v1/bank-connect
Identity
Ed25519 request signature on every request — X-Key-Id, X-Date, X-Nonce, X-Signature. ±5 min clock window, single-use nonce. A Bearer token or a panel session is not accepted here (401 AUTH_HEADERS_MISSING).
Authorization
The key must carry the Bank Connections product (BANK_CONNECT) and the permission for the endpoints on this page: bank-connect:view. Without the product the call gets 403 PRODUCT_NOT_ENABLED; without the permission 403 API_INSUFFICIENT_SCOPE. See API Introduction › Permissions.
Cross-surface
These endpoints are the s2s surface — call them from your own server with a signed request. The same data has screens in the panel, but panel endpoints cannot be called with an API key, and these endpoints cannot be called with a panel session. Connecting and disconnecting a bank is done only in the panel.

GET /api/v1/bank-connect/banks returns the banks in the catalog and whether each bank can be connected in your key's environment. You start a connection from the panel based on this list; the Connections endpoint shows which banks you are already connected to.

Request

Query parameterTypeDescription
limitintegerRecords per page, 1–100. Default 25.
cursorstringpageInfo.nextCursor from the previous response.
source lunixi-sign.sh
REQ_PATH="/api/v1/bank-connect/banks?limit=50"
lunixi_sign GET "$REQ_PATH"
 
curl "https://api-gateway.lunixi.com$REQ_PATH" \
  -H "X-Key-Id: $LUNIXI_KEY_ID" \
  -H "X-Date: $DATE" \
  -H "X-Nonce: $NONCE" \
  -H "X-Signature: $SIGNATURE"

$bankConnect in the PHP example: API Introduction › PHP SDK.

Signing helper: API Introduction › Authentication.

Response

{
  "status": "success",
  "code": "SUCCESS",
  "data": {
    "items": [
      {
        "bankId": "00000000-0000-0000-0000-000000000001",
        "eftCode": "0000",
        "name": "ÖRNEK BANKA",
        "country": "TR",
        "availability": "AVAILABLE",
        "capabilities": ["ACCOUNT_LIST", "BALANCE", "TRANSACTIONS"]
      },
      {
        "bankId": "00000000-0000-0000-0000-000000000002",
        "eftCode": "0001",
        "name": "ÖRNEK KATILIM BANKASI",
        "country": "TR",
        "availability": "COMING_SOON",
        "capabilities": []
      }
    ]
  },
  "pageInfo": { "hasMore": false, "nextCursor": null, "totalCount": null },
  "statusCode": 200,
  "requestId": "00000000-0000-0000-0000-000000000000"
}
FieldTypeDescription
bankIdstring (UUID)The bank's ID; the bankId filter on other endpoints takes this value.
eftCodestringThe bank's EFT code.
namestringThe bank's name.
shortNamestringShort name. Absent when there is no value.
bicstringBIC (SWIFT) code. Absent when there is no value.
countrystringCountry code (ISO 3166-1 alpha-2). Absent when there is no value.
availabilitystringWhether it can be connected in this environment; see the table below.
capabilitiesstring[]The data types and operations available on this bank's connection; see the table below.

availability

ValueMeaning
AVAILABLEYou can connect this bank with Lunixi in your key's environment. You start the connection in the panel.
COMING_SOONConnections to this bank are not yet supported in this environment. capabilities is empty.

capabilities

ValueMeaning
ACCOUNT_LISTThe account list is read.
BALANCEBalances are read.
TRANSACTIONSAccount transactions are read.
OUTGOING_TRANSFERMoney can be transferred from connected accounts. → Money Transfers
FX_EXCHANGECurrency can be exchanged between accounts at the same bank. → Currency Exchange

Read what is enabled on your own connection from the connection's capabilities field. → Connections

Supported banks

In the live environment you can connect the following 30 banks with Lunixi. The list grows over time; always read the current state from this endpoint's availability field. A bank that is not listed returns COMING_SOON.

BankEFT code
Akbank0046
Aktif Bank0143
Albaraka Türk0203
Alternatif Bank0124
Anadolubank0135
Burgan Bank0125
DenizBank0134
Dünya Katılım0214
Emlak Katılım0211
Enpara Bank0157
Fibabanka0103
Garanti BBVA0062
Halkbank0012
Hayat Finans Katılım0212
ING Bank0099
İstanbul Takas ve Saklama Bankası0132
Kuveyt Türk0205
Misyon Yatırım Bankası0153
Odeabank0146
QNB Finansbank0111
Şekerbank0059
TEB0032
Türk Ticaret Bankası0060
Türkiye Finans0206
Türkiye İş Bankası0064
Vakıf Katılım0210
VakıfBank0015
Yapı Kredi0067
Ziraat Bankası0010
Ziraat Katılım0209

For the simulator banks in the test environment, see Test Environment.

Errors

HTTPcodeWhat to do
400VALIDATION_ERRORlimit is outside 1–100, or you sent an undeclared parameter.
400bank_connect.cursor.invalidSend the cursor unchanged or start from the first page.