Banks
- 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 gets403 PRODUCT_NOT_ENABLED; without the permission403 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 parameter | Type | Description |
|---|---|---|
limit | integer | Records per page, 1–100. Default 25. |
cursor | string | pageInfo.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"
}| Field | Type | Description |
|---|---|---|
bankId | string (UUID) | The bank's ID; the bankId filter on other endpoints takes this value. |
eftCode | string | The bank's EFT code. |
name | string | The bank's name. |
shortName | string | Short name. Absent when there is no value. |
bic | string | BIC (SWIFT) code. Absent when there is no value. |
country | string | Country code (ISO 3166-1 alpha-2). Absent when there is no value. |
availability | string | Whether it can be connected in this environment; see the table below. |
capabilities | string[] | The data types and operations available on this bank's connection; see the table below. |
availability
| Value | Meaning |
|---|---|
AVAILABLE | You can connect this bank with Lunixi in your key's environment. You start the connection in the panel. |
COMING_SOON | Connections to this bank are not yet supported in this environment. capabilities is empty. |
capabilities
| Value | Meaning |
|---|---|
ACCOUNT_LIST | The account list is read. |
BALANCE | Balances are read. |
TRANSACTIONS | Account transactions are read. |
OUTGOING_TRANSFER | Money can be transferred from connected accounts. → Money Transfers |
FX_EXCHANGE | Currency 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.
| Bank | EFT code |
|---|---|
| Akbank | 0046 |
| Aktif Bank | 0143 |
| Albaraka Türk | 0203 |
| Alternatif Bank | 0124 |
| Anadolubank | 0135 |
| Burgan Bank | 0125 |
| DenizBank | 0134 |
| Dünya Katılım | 0214 |
| Emlak Katılım | 0211 |
| Enpara Bank | 0157 |
| Fibabanka | 0103 |
| Garanti BBVA | 0062 |
| Halkbank | 0012 |
| Hayat Finans Katılım | 0212 |
| ING Bank | 0099 |
| İstanbul Takas ve Saklama Bankası | 0132 |
| Kuveyt Türk | 0205 |
| Misyon Yatırım Bankası | 0153 |
| Odeabank | 0146 |
| QNB Finansbank | 0111 |
| Şekerbank | 0059 |
| TEB | 0032 |
| Türk Ticaret Bankası | 0060 |
| Türkiye Finans | 0206 |
| Türkiye İş Bankası | 0064 |
| Vakıf Katılım | 0210 |
| VakıfBank | 0015 |
| Yapı Kredi | 0067 |
| Ziraat Bankası | 0010 |
| Ziraat Katılım | 0209 |
For the simulator banks in the test environment, see Test Environment.
Errors
| HTTP | code | What to do |
|---|---|---|
400 | VALIDATION_ERROR | limit is outside 1–100, or you sent an undeclared parameter. |
400 | bank_connect.cursor.invalid | Send the cursor unchanged or start from the first page. |