GET
/
v1
/
customers
/
{customerId}
/
accounts
/
{accountId}
/
cards
/
{cardId}
/
transactions
List card transactions
curl --request GET \
  --url https://api.next.orenda.finance/v1/customers/{customerId}/accounts/{accountId}/cards/{cardId}/transactions \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.next.orenda.finance/v1/customers/{customerId}/accounts/{accountId}/cards/{cardId}/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.next.orenda.finance/v1/customers/{customerId}/accounts/{accountId}/cards/{cardId}/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.next.orenda.finance/v1/customers/{customerId}/accounts/{accountId}/cards/{cardId}/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.next.orenda.finance/v1/customers/{customerId}/accounts/{accountId}/cards/{cardId}/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.next.orenda.finance/v1/customers/{customerId}/accounts/{accountId}/cards/{cardId}/transactions")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.next.orenda.finance/v1/customers/{customerId}/accounts/{accountId}/cards/{cardId}/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,
  "transactions": [
    {
      "id": "txn_6a4c2e8d",
      "dateTime": "2026-06-18T10:32:00Z",
      "status": "SETTLED",
      "cardAuth": {
        "merchantName": "Example Merchant",
        "transactionAmount": 99.99,
        "transactionCurrency": "GBP"
      }
    },
    {
      "id": "txn_1f9b3d7c",
      "dateTime": "2026-06-17T08:05:12Z",
      "status": "SETTLED",
      "cardAuth": {
        "merchantName": "Coffee House",
        "transactionAmount": 12.5,
        "transactionCurrency": "GBP"
      }
    }
  ],
  "total": 2
}
{
"success": false,
"code": "CARD_NOT_FOUND",
"message": "Card not found"
}
{
"success": false,
"code": "VALIDATION_ERROR",
"message": "newPin must be 4 digits"
}
Returns the card’s transactions, newest first, including merchant details in cardAuth (merchant name, amount, currency). Add ?month=YYYY-MM to scope to a single month. For the account-wide history (transfers, fees, and card spend together), use List transactions.

Authorizations

Authorization
string
header
required

The user's access token. The program and environment come from the token.

Path Parameters

customerId
string
required

The customer's id.

accountId
string
required

The account the card belongs to. A customer can have several accounts; cards are issued against one.

cardId
string
required

The card id from create / get cards.

Query Parameters

month
string

Optional YYYY-MM filter.

Example:

"2026-05"

Response

Card transactions

success
boolean
Example:

true

transactions
object[]
total
integer