curl --request GET \
--url https://api.banka.pro/v1/bank-accounts/summary \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.banka.pro/v1/bank-accounts/summary"
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-accounts/summary', 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-accounts/summary",
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",
"partial": true,
"warnings": [
{
"code": "TODAY_BALANCE_SNAPSHOT_FALLBACK",
"message": "<string>",
"date": "2026-09-07",
"accountCount": 1
}
]
},
"data": {
"totalAccounts": 1,
"currencies": [
{
"currency": "TRY",
"accountCount": 1,
"knownAccountCount": 1,
"unknownAccountCount": 1,
"balance": "0.00"
}
],
"banks": [
{
"bankCode": "<string>",
"bankName": "<string>",
"currencies": [
{
"currency": "TRY",
"accountCount": 1,
"knownAccountCount": 1,
"unknownAccountCount": 1,
"balance": "0.00"
}
]
}
],
"companies": [
{
"id": "64f000000000000000000001",
"title": "<string>",
"logo": "<string>",
"currencies": [
{
"currency": "TRY",
"accountCount": 1,
"knownAccountCount": 1,
"unknownAccountCount": 1,
"balance": "0.00"
}
]
}
],
"freshness": {
"latestCheckedAt": "2023-11-07T05:31:56Z",
"oldestCheckedAt": "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"
}Filtrelenmiş hesapların bakiye özetini getirir
Filtreye uyan banka hesaplarının bakiye özetini döndürür; para birimleri ayrı tutulur. Bakiyesi bilinen hesap yoksa (knownAccountCount 0) balance null olur; bilinen bakiyelerin toplamı sıfırsa 0.00 döner. Bakiyesi bilinmeyen hesap sayısı unknownAccountCount ile gösterilir.
curl --request GET \
--url https://api.banka.pro/v1/bank-accounts/summary \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.banka.pro/v1/bank-accounts/summary"
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-accounts/summary', 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-accounts/summary",
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",
"partial": true,
"warnings": [
{
"code": "TODAY_BALANCE_SNAPSHOT_FALLBACK",
"message": "<string>",
"date": "2026-09-07",
"accountCount": 1
}
]
},
"data": {
"totalAccounts": 1,
"currencies": [
{
"currency": "TRY",
"accountCount": 1,
"knownAccountCount": 1,
"unknownAccountCount": 1,
"balance": "0.00"
}
],
"banks": [
{
"bankCode": "<string>",
"bankName": "<string>",
"currencies": [
{
"currency": "TRY",
"accountCount": 1,
"knownAccountCount": 1,
"unknownAccountCount": 1,
"balance": "0.00"
}
]
}
],
"companies": [
{
"id": "64f000000000000000000001",
"title": "<string>",
"logo": "<string>",
"currencies": [
{
"currency": "TRY",
"accountCount": 1,
"knownAccountCount": 1,
"unknownAccountCount": 1,
"balance": "0.00"
}
]
}
],
"freshness": {
"latestCheckedAt": "2023-11-07T05:31:56Z",
"oldestCheckedAt": "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
Bü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 - 100Para 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"
Gönderilmezse arşivlenmemiş hesaplar listelenir.

