curl --request GET \
--url https://api.banka.pro/v1/bank-transactions \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.banka.pro/v1/bank-transactions"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.banka.pro/v1/bank-transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.banka.pro/v1/bank-transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"success": true,
"meta": {
"requestId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca",
"timestamp": "2026-09-08T20:00:00.000Z",
"page": 1,
"pageSize": 25,
"total": 1,
"totalPages": 1,
"partial": true,
"warnings": [
{
"code": "TODAY_BALANCE_SNAPSHOT_FALLBACK",
"message": "<string>",
"date": "2026-09-07",
"accountCount": 1
}
]
},
"data": [
{
"id": "64f000000000000000000001",
"company": {
"id": "64f000000000000000000001",
"title": "<string>",
"logo": "<string>"
},
"account": {
"id": "64f000000000000000000001",
"name": "<string>",
"bankName": "<string>",
"bankCode": "<string>",
"accountCode": "<string>",
"currency": "TRY"
},
"direction": "incoming",
"transactionDate": "2023-11-07T05:31:56Z",
"amount": "125000.00",
"currency": "TRY",
"exchangeRate": "1.000000",
"balance": "8750.00",
"balanceKnown": true,
"bankCode": "<string>",
"transactionCode": "<string>",
"subAccount": "<string>",
"counterparty": {
"name": "Örnek Müşteri",
"iban": "TR00******************0000",
"identityNumber": "123******01"
},
"description": "<string>",
"status": 0,
"isChecked": true,
"hasNote": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
]
}{
"success": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "pageSize 1-100 araliginda olmalidir.",
"details": [
{
"field": "pageSize",
"rule": "min:1,max:100"
}
]
},
"traceId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca"
}{
"success": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "İstek doğrulanamadı.",
"details": [
{
"field": "pageSize",
"rule": "min:1,max:100"
}
]
},
"traceId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca"
}{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "Bu islem icin yetkiniz bulunmuyor.",
"details": []
},
"traceId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca"
}{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "Istek limiti asildi. Daha sonra tekrar deneyin.",
"details": []
},
"traceId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca"
}{
"success": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "İstek doğrulanamadı.",
"details": [
{
"field": "pageSize",
"rule": "min:1,max:100"
}
]
},
"traceId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca"
}Banka hareketlerini listeler
Firmanın banka hareketlerini en yeniden eskiye listeler: önce transactionDate, eşitlikte hareket kimliği azalan sırada. Filtreler doğrudan veya filter[…] biçiminde gönderilebilir. IBAN veya TCKN/VKN niteliğindeki q aramaları baPii gerektirir. updatedSince, durum ve not değişiklikleri dahil güncellenen hareketleri artımlı eşitleme için yeniden almayı sağlar. baPii yoksa karşı taraf IBAN ve TCKN/VKN alanları ile açıklama içindeki eşleşmeler maskelenir. İşlem sonrası hesap bakiyesi yalnız banka ilgili harekette bakiyeyi bildirdiyse ve baAccounts varsa gösterilir.
curl --request GET \
--url https://api.banka.pro/v1/bank-transactions \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.banka.pro/v1/bank-transactions"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.banka.pro/v1/bank-transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.banka.pro/v1/bank-transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"success": true,
"meta": {
"requestId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca",
"timestamp": "2026-09-08T20:00:00.000Z",
"page": 1,
"pageSize": 25,
"total": 1,
"totalPages": 1,
"partial": true,
"warnings": [
{
"code": "TODAY_BALANCE_SNAPSHOT_FALLBACK",
"message": "<string>",
"date": "2026-09-07",
"accountCount": 1
}
]
},
"data": [
{
"id": "64f000000000000000000001",
"company": {
"id": "64f000000000000000000001",
"title": "<string>",
"logo": "<string>"
},
"account": {
"id": "64f000000000000000000001",
"name": "<string>",
"bankName": "<string>",
"bankCode": "<string>",
"accountCode": "<string>",
"currency": "TRY"
},
"direction": "incoming",
"transactionDate": "2023-11-07T05:31:56Z",
"amount": "125000.00",
"currency": "TRY",
"exchangeRate": "1.000000",
"balance": "8750.00",
"balanceKnown": true,
"bankCode": "<string>",
"transactionCode": "<string>",
"subAccount": "<string>",
"counterparty": {
"name": "Örnek Müşteri",
"iban": "TR00******************0000",
"identityNumber": "123******01"
},
"description": "<string>",
"status": 0,
"isChecked": true,
"hasNote": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
]
}{
"success": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "pageSize 1-100 araliginda olmalidir.",
"details": [
{
"field": "pageSize",
"rule": "min:1,max:100"
}
]
},
"traceId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca"
}{
"success": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "İstek doğrulanamadı.",
"details": [
{
"field": "pageSize",
"rule": "min:1,max:100"
}
]
},
"traceId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca"
}{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "Bu islem icin yetkiniz bulunmuyor.",
"details": []
},
"traceId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca"
}{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "Istek limiti asildi. Daha sonra tekrar deneyin.",
"details": []
},
"traceId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca"
}{
"success": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "İstek doğrulanamadı.",
"details": [
{
"field": "pageSize",
"rule": "min:1,max:100"
}
]
},
"traceId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca"
}Yetkilendirmeler
Kullanıcı adı anahtar kimliği, parola secret key değeridir. Anahtar aktif olmalı, erişim bitiş tarihi geçmemiş olmalı ve BankaPro erişimine sahip olmalıdır. Firma anahtardan sunucu tarafında belirlenir; istemciden firma kimliği alınmaz. Anahtarın IP kısıtı doluysa istek yalnız listedeki adreslerden kabul edilir. Kimlik bilgileri yalnız HTTPS üzerinden gönderilmelidir.
Başlıklar
Opsiyonel izleme kimliği. Değer 1-100 karakter ve yalnız harf, rakam, nokta, alt çizgi, iki nokta veya tire içeriyorsa korunur; aksi halde sunucu yeni bir UUID üretir.
1 - 100^[A-Za-z0-9._:-]{1,100}$Sorgu Parametreleri
x >= 11 <= x <= 100Büyük/küçük harf ve Türkçe karakter farkına duyarsız arama. Hesaplarda ad, banka adı/kodu, hesap kodu ve IBAN aranır. Hareket araması karşı taraf adında ve açıklamanın normalize edilmiş kelime belirteçlerinde çalışır; baPii varsa ayrıca IBAN ve kimlik numarasında da çalışır. İşlem kodu ve alt hesap hareket aramasının kapsamı dışındadır. Açıklama belirteçleri en az üç karakterli kelimelerden üretilir; daha kısa terimler yalnız karşı taraf adında aranır. IBAN veya kimlik numarası niteliğindeki hareket aramaları baPii gerektirir.
2 - 100Tek banka hesabının hareketleri.
^[a-fA-F0-9]{24}$"64f000000000000000000001"
Para birimi filtresi. Sabit destek listesi yoktur; tüm üç harfli kodlar kabul edilir. TL, ERU ve GPD sırasıyla TRY, EUR ve GBP olarak normalize edilir. TRY filtresi eksik, null veya boş saklanmış para birimi değerlerini de kapsar. Sabit bir liste olmadan herhangi bir üç harfli para/kıymet kodu veya TL. Girdi büyük harfe çevrilir; TL, ERU ve GPD sırasıyla TRY, EUR ve GBP olarak normalize edilir.
^(?:[A-Za-z]{3}|[Tt][Ll])$"TRY"
1 - 30"00010"
incoming, outgoing direction filtresinin boolean karşılığıdır. İkisi birlikte gönderilirse aynı yönü göstermelidir.
0=pending, 1=processed, 2=ignored.
0, 1, 2 Dahil alt sınır. YYYY-MM-DD verilirse Europe/Istanbul gün başlangıcıdır. Geçerli YYYY-MM-DD tarihi veya saat ve Z/ofset içeren ISO-8601 zamanı.
"2026-09-01"
Dahil üst sınır. YYYY-MM-DD verilirse Europe/Istanbul gün sonudur. Geçerli YYYY-MM-DD tarihi veya saat ve Z/ofset içeren ISO-8601 zamanı.
"2026-09-01"
Bu UTC zamandan itibaren güncellenen hareketleri filtreler; dış sistemlerin artımlı REST eşitlemesi için kullanılır. Geçerli YYYY-MM-DD tarihi veya saat ve Z/ofset içeren ISO-8601 zamanı.
"2026-09-01"

