List transactions
curl --request GET \
--url https://api.fyatu.com/api/v3.20/transactions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fyatu.com/api/v3.20/transactions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fyatu.com/api/v3.20/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.fyatu.com/api/v3.20/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://api.fyatu.com/api/v3.20/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://api.fyatu.com/api/v3.20/transactions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fyatu.com/api/v3.20/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{
"success": true,
"status": 200,
"message": "Transactions retrieved",
"data": [
{
"transactionId": "txn_01HXYZ8888ABCDEF9999",
"type": "CARD_FUNDING",
"direction": "DEBIT",
"status": "SETTLED",
"amount": 500,
"currency": "USD",
"fee": 0,
"reference": "fund_01HXYZ5555ABCDEF1111",
"account": "prg_01HXYZ9876ABCDEF0000",
"memo": "Card funding — crd_01HXYZ5555ABCDEF1111",
"balanceBefore": 10000,
"balanceAfter": 9500,
"relatedTransactionId": null,
"completedAt": "2026-05-22T14:32:00Z",
"createdAt": "2026-05-22T14:30:00Z",
"cardId": "crd_01HXYZ5555ABCDEF1111"
}
],
"pagination": {
"total": 47,
"limit": 20,
"offset": 0,
"hasMore": true
},
"meta": {
"requestId": "req_a1b2c3d4e5f6a7b8c9d0e1f2",
"platform": "Fyatu CaaS",
"timestamp": "2026-05-22T15:00:00Z"
}
}Account
Transactions List
List your account’s program-balance movements — deposits, card fundings, issuances, invoice payments, and reversals. GET /transactions. Requires accounts:read scope.
GET
/
transactions
List transactions
curl --request GET \
--url https://api.fyatu.com/api/v3.20/transactions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fyatu.com/api/v3.20/transactions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fyatu.com/api/v3.20/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.fyatu.com/api/v3.20/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://api.fyatu.com/api/v3.20/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://api.fyatu.com/api/v3.20/transactions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fyatu.com/api/v3.20/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{
"success": true,
"status": 200,
"message": "Transactions retrieved",
"data": [
{
"transactionId": "txn_01HXYZ8888ABCDEF9999",
"type": "CARD_FUNDING",
"direction": "DEBIT",
"status": "SETTLED",
"amount": 500,
"currency": "USD",
"fee": 0,
"reference": "fund_01HXYZ5555ABCDEF1111",
"account": "prg_01HXYZ9876ABCDEF0000",
"memo": "Card funding — crd_01HXYZ5555ABCDEF1111",
"balanceBefore": 10000,
"balanceAfter": 9500,
"relatedTransactionId": null,
"completedAt": "2026-05-22T14:32:00Z",
"createdAt": "2026-05-22T14:30:00Z",
"cardId": "crd_01HXYZ5555ABCDEF1111"
}
],
"pagination": {
"total": 47,
"limit": 20,
"offset": 0,
"hasMore": true
},
"meta": {
"requestId": "req_a1b2c3d4e5f6a7b8c9d0e1f2",
"platform": "Fyatu CaaS",
"timestamp": "2026-05-22T15:00:00Z"
}
}Overview
Returns a paginated list of program-balance transactions for the authenticated business, scoped to the API key’s environment. Each record represents a movement of funds in your operational balance — deposits in, card fundings out, invoice payments, and more. By default, results span the last 30 days. The maximum date range is 92 days — use multiple requests for longer histories.Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 20 | Results per page (max 100) |
offset | integer | 0 | Number of records to skip |
from | string | 30 days ago | Start date/time (YYYY-MM-DD or ISO 8601) |
to | string | now | End date/time (YYYY-MM-DD or ISO 8601) |
type | string | — | Filter by type: DEPOSIT, WITHDRAWAL, CARD_FUNDING, CARD_WITHDRAWAL, CARD_ISSUANCE, CARD_TERMINATION_REFUND, INVOICE_PAYMENT, REVERSAL |
status | string | — | Filter by status: PENDING, SETTLED, FAILED, REVERSED |
direction | string | — | CREDIT or DEBIT |
cardId | string | — | Filter to movements related to a specific card |
search | string | — | Search by memo or reference |
Example
curl -G https://api.fyatu.com/api/v3.20/transactions \
-H "Authorization: Bearer $FYATU_API_KEY" \
-d from=2026-05-01 \
-d to=2026-05-31 \
-d type=CARD_FUNDING
const params = new URLSearchParams({
from: '2026-05-01',
to: '2026-05-31',
type: 'CARD_FUNDING',
limit: '50'
});
const resp = await fetch(
`https://api.fyatu.com/api/v3.20/transactions?${params}`,
{ headers: { 'Authorization': `Bearer ${process.env.FYATU_API_KEY}` } }
);
const body = await resp.json();
for (const tx of body.data) {
const sign = tx.direction === 'DEBIT' ? '-' : '+';
console.log(`${sign}${tx.amount.displayValue} ${tx.type} [${tx.status}]`);
}
import os, requests
resp = requests.get(
'https://api.fyatu.com/api/v3.20/transactions',
headers={'Authorization': f'Bearer {os.environ["FYATU_API_KEY"]}'},
params={'from': '2026-05-01', 'to': '2026-05-31', 'type': 'CARD_FUNDING'}
)
for tx in resp.json()['data']:
sign = '-' if tx['direction'] == 'DEBIT' else '+'
print(f"{sign}{tx['amount']['displayValue']} {tx['type']} [{tx['status']}]")
Success Response (200)
{
"success": true,
"status": 200,
"message": "Transactions retrieved",
"data": [
{
"transactionId": "txn_01HXYZ8888ABCDEF9999",
"type": "CARD_FUNDING",
"direction": "DEBIT",
"status": "SETTLED",
"amount": 500.00,
"currency": "USD",
"fee": 0.00,
"reference": "fund_01HXYZ5555ABCDEF1111",
"account": "prg_01HXYZ9876ABCDEF0000",
"memo": "Card funding — crd_01HXYZ5555ABCDEF1111",
"balanceBefore": 10000.00,
"balanceAfter": 9500.00,
"relatedTransactionId": null,
"completedAt": "2026-05-22T14:32:00Z",
"createdAt": "2026-05-22T14:30:00Z",
"cardId": "crd_01HXYZ5555ABCDEF1111"
}
],
"pagination": {
"total": 47,
"limit": 20,
"offset": 0,
"hasMore": true
},
"meta": {
"requestId": "req_01HXY123456ABCDEF",
"platform": "Fyatu CaaS",
"timestamp": "2026-05-22T15:00:00Z"
}
}
Transaction Types
| Type | Direction | Description |
|---|---|---|
DEPOSIT | CREDIT | Funds added to your operational balance |
WITHDRAWAL | DEBIT | Funds withdrawn from your operational balance |
CARD_ISSUANCE | DEBIT | Debit for issuing a new virtual card |
CARD_FUNDING | DEBIT | Debit for loading funds onto a card |
CARD_WITHDRAWAL | CREDIT | Credit when balance is unloaded from a card |
CARD_TERMINATION_REFUND | CREDIT | Remaining card balance returned when a card is terminated |
INVOICE_PAYMENT | DEBIT | Monthly platform fee deducted from your balance |
REVERSAL | Varies | Correction or reversal of a prior transaction |
Field Reference
| Field | Description |
|---|---|
transactionId | Unique transaction identifier |
type | Movement type — see table above |
direction | CREDIT (funds in) or DEBIT (funds out) |
status | PENDING, SETTLED, FAILED, or REVERSED |
amount | Transaction amount in USD |
currency | Always USD |
fee | Fee in USD applied to this transaction (0 when no fee) |
reference | Internal reference ID linking to the originating operation |
account | Program ID associated with this movement |
memo | Human-readable description of the transaction |
balanceBefore | Operational balance in USD before this transaction; null if not recorded |
balanceAfter | Operational balance in USD after this transaction; null if not recorded |
relatedTransactionId | For reversals, the ID of the original transaction; null otherwise |
completedAt | ISO 8601 timestamp when the transaction settled; empty string if still pending |
cardId | Card ID if the movement is card-related; null otherwise |
Error Codes
| Code | HTTP | Cause |
|---|---|---|
DATE_RANGE_TOO_WIDE | 422 | Date range exceeds the 92-day maximum |
INSUFFICIENT_SCOPE | 403 | Key lacks accounts:read scope |
Authorizations
API key from the FYATU CaaS portal. Pass as Authorization: Bearer <key>.
Query Parameters
Required range:
1 <= x <= 100Required range:
x >= 0Start date (YYYY-MM-DD or ISO 8601). Defaults to 30 days ago.
End date (YYYY-MM-DD or ISO 8601). Defaults to now.
Available options:
DEPOSIT, WITHDRAWAL, CARD_FUNDING, CARD_WITHDRAWAL, CARD_ISSUANCE, CARD_TERMINATION_REFUND, INVOICE_PAYMENT, REVERSAL Available options:
PENDING, SETTLED, FAILED, REVERSED Available options:
CREDIT, DEBIT Filter to movements related to a specific card
Search by memo or reference
⌘I

