Skip to main content
GET
/
cards
/
{cardId}
/
transactions
Get Card Transactions
curl --request GET \
  --url https://api.fyatu.com/api/v3/cards/{cardId}/transactions \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "status": 200,
  "message": "Transactions retrieved successfully",
  "data": {
    "transactions": [
      {
        "id": "8a7b6c5d4e3f2a1b0c9d8e7f",
        "type": "DEBIT",
        "amount": 15.99,
        "currency": "USD",
        "merchant": "Netflix",
        "logo": "https://logos.ntropy.com/netflix.com",
        "status": "COMPLETED",
        "description": "NETFLIX.COM              LOS GATOS",
        "category": "Card Charge",
        "createdAt": "2026-01-15 14:32:18"
      },
      {
        "id": "1b2c3d4e5f6a7b8c9d0e1f2a",
        "type": "CREDIT",
        "amount": 100,
        "currency": "USD",
        "merchant": "Card Funding",
        "logo": "https://logos.ntropy.com/consumer_icons-ATM_bank_deposit",
        "status": "COMPLETED",
        "description": "Mastercard Virtual dollar card funding",
        "category": "Card Funding",
        "createdAt": "2026-01-14 09:15:42"
      },
      {
        "id": "3c4d5e6f7a8b9c0d1e2f3a4b",
        "type": "DEBIT",
        "amount": 49.99,
        "currency": "USD",
        "merchant": "Spotify",
        "logo": "https://logos.ntropy.com/spotify.com",
        "status": "COMPLETED",
        "description": "SPOTIFY PREMIUM          STOCKHOLM",
        "category": "Card Charge",
        "createdAt": "2026-01-12 11:05:33"
      },
      {
        "id": "5e6f7a8b9c0d1e2f3a4b5c6d",
        "type": "DEBIT",
        "amount": 25,
        "currency": "USD",
        "merchant": "Card Withdrawal",
        "logo": "https://logos.ntropy.com/consumer_icons-ATM_bank_withdrawal",
        "status": "COMPLETED",
        "description": "Mastercard Virtual dollar card unloading",
        "category": "Card Withdrawal",
        "createdAt": "2026-01-10 16:48:21"
      }
    ],
    "pagination": {
      "currentPage": 1,
      "totalItems": 47,
      "totalPages": 3,
      "hasMore": true
    }
  },
  "meta": {
    "requestId": "req_a1b2c3d4e5f6g7h8",
    "timestamp": "2026-01-17T12:00:00+00:00"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.fyatu.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Retrieve a paginated list of all transactions made with a specific card, including purchases, refunds, and funding operations.

Path Parameters

ParameterTypeDescription
cardIdstringThe unique card identifier

Query Parameters

ParameterTypeDescription
pageintegerPage number (default: 1)

Example Usage

<?php
$cardId = 'crd_8f3a2b1c4d5e6f7890abcdef12345678';

$ch = curl_init("https://api.fyatu.com/api/v3/cards/{$cardId}/transactions?page=1");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $accessToken
    ]
]);

$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['success']) {
    foreach ($result['data']['transactions'] as $txn) {
        $sign   = $txn['type'] === 'CREDIT' ? '+' : '-';
        $cat    = $txn['category'] ? "[{$txn['category']}] " : '';
        echo "{$cat}{$txn['merchant']}: {$sign}\${$txn['amount']} ({$txn['status']})\n";
        // e.g. "[Cross-border Fee] FACEBK *TQSR DUBLIN: -$0.50 (COMPLETED)"
    }

    if ($result['data']['pagination']['hasMore']) {
        echo "Page {$result['data']['pagination']['currentPage']} of {$result['data']['pagination']['totalPages']}\n";
    }
}

Response Fields

FieldTypeDescription
idstringUnique transaction identifier
typestringDEBIT (purchases, fees) or CREDIT (funding, refunds)
amountnumberTransaction amount in USD
currencystringTransaction currency (usually USD)
merchantstringMerchant name
logostringMerchant logo URL (nullable)
statusstringCOMPLETED, PENDING, DECLINED, REFUNDED, REVERSED
descriptionstringNetwork narration or payment code (e.g. "Account verification")
categorystringHuman-readable transaction category (e.g. "Card Charge", "Cross-border Fee", "Card Funding"). Use this to distinguish the actual payment from associated fees.
createdAtstringTransaction timestamp (YYYY-MM-DD HH:MM:SS UTC)

Category Values

ValueMeaning
Card ChargeThe actual merchant payment
Cross-border FeeInternational surcharge attached to a cross-border charge
Card FundingBalance top-up
Card WithdrawalBalance unload
RefundMerchant refund
ReversalTransaction reversal
DeclinedDeclined authorisation attempt
Decline Fee (Domestic)Fee for a declined domestic authorisation
Decline Fee (International)Fee for a declined international authorisation

Pagination

FieldTypeDescription
currentPageintegerCurrent page number
totalItemsintegerTotal number of transactions
totalPagesintegerTotal number of pages
hasMorebooleanWhether more pages are available
When a single card payment generates two DEBIT entries with the same merchant (e.g. a Facebook charge of 1.00followedbya1.00 followed by a 0.50 entry), the category field tells them apart: "Card Charge" is the actual payment and "Cross-border Fee" is the international surcharge. Always check category before rendering transaction labels in your UI.

Authorizations

Authorization
string
header
required

JWT access token obtained from /auth/token

Path Parameters

cardId
string
required

Query Parameters

page
integer
default:1
limit
integer
default:20
Required range: x <= 100

Response

Transactions retrieved

success
boolean
Example:

true

status
integer
Example:

200

message
string
data
object
meta
object