curl --request GET \
--url https://payouts.api.trykarat.com/accounts/{accountId}/transactions \
--header 'Authorization: Bearer <token>'import requests
url = "https://payouts.api.trykarat.com/accounts/{accountId}/transactions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://payouts.api.trykarat.com/accounts/{accountId}/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://payouts.api.trykarat.com/accounts/{accountId}/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: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://payouts.api.trykarat.com/accounts/{accountId}/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://payouts.api.trykarat.com/accounts/{accountId}/transactions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://payouts.api.trykarat.com/accounts/{accountId}/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "transaction_example",
"accountId": "4f266e59-5dae-49f7-9ef9-9bdf6d2b7c86",
"amount": -12500,
"currency": "USD",
"status": "posted",
"transactionAt": "2026-10-01T10:00:00Z",
"postedAt": "2026-10-01T10:00:00Z",
"timestampSource": "provider",
"description": "Outgoing transfer",
"type": "account_transfer_intention",
"relatedTransactionId": null
}
],
"meta": {
"total": 1,
"limit": 100,
"offset": 0
}
}{
"error": {
"message": "amount: amount must be positive"
}
}{
"error": {
"message": "Invalid api key"
}
}{
"error": {
"message": "Fee analytics are not enabled for this organization"
}
}{
"error": {
"message": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"code": "<string>"
}
}List account transactions
Returns banking transactions for one eligible account in your API key’s organization, including posted movements and active pending holds. This is not limited to payouts created through the API and does not combine multiple accounts. Results are ordered by transactionAt ascending, then ID. Uses limit/offset and data/meta; limit defaults to 100 and values above 100 are capped at 100. total counts all matching records even on an empty page. Keep date/status filters fixed while paging; pending completion and late postings can shift offsets, so deduplicate by ID and reconcile periodically. startTime must precede endTime; offset plus the effective limit must not exceed 2147483647. See the account transactions guide for synchronization.
curl --request GET \
--url https://payouts.api.trykarat.com/accounts/{accountId}/transactions \
--header 'Authorization: Bearer <token>'import requests
url = "https://payouts.api.trykarat.com/accounts/{accountId}/transactions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://payouts.api.trykarat.com/accounts/{accountId}/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://payouts.api.trykarat.com/accounts/{accountId}/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: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://payouts.api.trykarat.com/accounts/{accountId}/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://payouts.api.trykarat.com/accounts/{accountId}/transactions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://payouts.api.trykarat.com/accounts/{accountId}/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "transaction_example",
"accountId": "4f266e59-5dae-49f7-9ef9-9bdf6d2b7c86",
"amount": -12500,
"currency": "USD",
"status": "posted",
"transactionAt": "2026-10-01T10:00:00Z",
"postedAt": "2026-10-01T10:00:00Z",
"timestampSource": "provider",
"description": "Outgoing transfer",
"type": "account_transfer_intention",
"relatedTransactionId": null
}
],
"meta": {
"total": 1,
"limit": 100,
"offset": 0
}
}{
"error": {
"message": "amount: amount must be positive"
}
}{
"error": {
"message": "Invalid api key"
}
}{
"error": {
"message": "Fee analytics are not enabled for this organization"
}
}{
"error": {
"message": "<string>",
"code": "<string>"
}
}{
"error": {
"message": "<string>",
"code": "<string>"
}
}Authorizations
Pass your API key as a bearer token: Authorization: Bearer <API_KEY>.
Path Parameters
An open, unlocked operational checking account belonging to the organization authenticated by your API key. Obtain its ID from GET /accounts.
Query Parameters
Maximum number of results to return (max 100, default 100).
1 <= x <= 100Number of results to skip for pagination (default 0).
x >= 0Omit to include both posted and active pending records. Completed pending entries are excluded.
pending, posted Inclusive lower bound, as an RFC3339 timestamp with timezone.
Exclusive upper bound, as an RFC3339 timestamp with timezone. Defaults to the request time; specify a fixed value while paging.