curl --request GET \
--url https://api.next.orenda.finance/v1/customers/{customerId}/transactions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.next.orenda.finance/v1/customers/{customerId}/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}/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}/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}/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}/transactions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.next.orenda.finance/v1/customers/{customerId}/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,
"data": [
{
"id": "7d3f9a1c-2b4e-4f6a-8c1d-0e2f3a4b5c6d",
"transactionDate": "2026-06-18T10:32:00.000Z",
"currency": "GBP",
"direction": "OUT",
"beneficiary_details": {
"name": "Ada Lovelace",
"identifiers": [
{
"iban": "GB97CLRB04092500000901",
"accountNumber": "00000901"
}
],
"destinationIdentifier": {
"iban": "GB97CLRB04092500000901",
"accountNumber": "00000901"
}
},
"payment_details": {
"details": {
"payerName": "Grace Hopper"
}
},
"Payer": {
"Iban": "GB11CLRB04092500000897",
"AccountNumber": "00000897"
},
"uniqueRef": "Invoice 1024",
"PaymentId": "3f1c9b7e-1f4a-4d2b-9c11-2f8a6b0e4d31",
"amount": "1.7",
"currencySymbol": "£",
"isFee": false,
"transactionMonitoring": "APPROVED"
},
{
"id": "5b1e8c2a-9d3f-4a7b-8e6c-1f0a2b3c4d5e",
"transactionDate": "2026-06-17T09:15:00.000Z",
"currency": "EUR",
"direction": "IN",
"beneficiary_details": {
"name": "Grace Hopper",
"identifiers": [
{
"iban": "LU280019400644750000"
}
],
"destinationIdentifier": {
"iban": "LU280019400644750000"
}
},
"payment_details": {
"details": {
"payerName": "Acme Ltd"
}
},
"Payer": {
"Iban": "FR7630006000011234567890189",
"Bic": "AGRIFRPP"
},
"uniqueRef": "Salary June",
"PaymentId": "9a2b7e3f-4c5d-4e6f-8a9b-0c1d2e3f4a5b",
"amount": "2500",
"currencySymbol": "€",
"isFee": false
}
],
"total": 120,
"page": 1,
"limit": 10
}List transactions
Returns the customer’s transactions, newest first (sortBy=dateTime, sortOrder=desc, 10 per page). Every filter accepts comma-separated values, so status=COMPLETED,UNPAID or currency=GBP,EUR work as multi-selects. status filters on the stored settlement status (COMPLETED, REJECTED, UNPAID for bank transfers; AUTHORIZED, SETTLED, DECLINED, REVERSED for cards); the rows themselves don’t carry it. amount is a plain decimal string ("1.7", "5"), not padded to two decimals. Rows the service can’t render are dropped from the page and from total rather than failing the request.
Useful fields on a row: direction (IN or OUT), amount and currency, beneficiary_details or Payer for the other party, CardAuth on card spend (merchant name, billing amount, FX rate), isFee, and uniqueRef, a stable reference you can show to support.
Common patterns: filter by accountId and page with page and limit for an activity feed; direction=IN or OUT for money in versus out; startDate and endDate (ISO dates, inclusive) for a range; isFee=false to hide fees.
curl --request GET \
--url https://api.next.orenda.finance/v1/customers/{customerId}/transactions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.next.orenda.finance/v1/customers/{customerId}/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}/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}/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}/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}/transactions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.next.orenda.finance/v1/customers/{customerId}/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,
"data": [
{
"id": "7d3f9a1c-2b4e-4f6a-8c1d-0e2f3a4b5c6d",
"transactionDate": "2026-06-18T10:32:00.000Z",
"currency": "GBP",
"direction": "OUT",
"beneficiary_details": {
"name": "Ada Lovelace",
"identifiers": [
{
"iban": "GB97CLRB04092500000901",
"accountNumber": "00000901"
}
],
"destinationIdentifier": {
"iban": "GB97CLRB04092500000901",
"accountNumber": "00000901"
}
},
"payment_details": {
"details": {
"payerName": "Grace Hopper"
}
},
"Payer": {
"Iban": "GB11CLRB04092500000897",
"AccountNumber": "00000897"
},
"uniqueRef": "Invoice 1024",
"PaymentId": "3f1c9b7e-1f4a-4d2b-9c11-2f8a6b0e4d31",
"amount": "1.7",
"currencySymbol": "£",
"isFee": false,
"transactionMonitoring": "APPROVED"
},
{
"id": "5b1e8c2a-9d3f-4a7b-8e6c-1f0a2b3c4d5e",
"transactionDate": "2026-06-17T09:15:00.000Z",
"currency": "EUR",
"direction": "IN",
"beneficiary_details": {
"name": "Grace Hopper",
"identifiers": [
{
"iban": "LU280019400644750000"
}
],
"destinationIdentifier": {
"iban": "LU280019400644750000"
}
},
"payment_details": {
"details": {
"payerName": "Acme Ltd"
}
},
"Payer": {
"Iban": "FR7630006000011234567890189",
"Bic": "AGRIFRPP"
},
"uniqueRef": "Salary June",
"PaymentId": "9a2b7e3f-4c5d-4e6f-8a9b-0c1d2e3f4a5b",
"amount": "2500",
"currencySymbol": "€",
"isFee": false
}
],
"total": 120,
"page": 1,
"limit": 10
}Authorizations
The user's access_token from authentication. The program and environment come from the token.
Path Parameters
The customer's ID.
Query Parameters
Filter by account ID(s).
Money in or out.
IN, OUT The stored settlement status, comma-separated for several. Bank transfers: COMPLETED, REJECTED, UNPAID; card transactions: AUTHORIZED, SETTLED, DECLINED, REVERSED. The status is not part of the response row: it is a filter only.
Filter by payment reference.
Only fee (or only non-fee) transactions.
ISO date, e.g. 2026-01-01.
Field to sort on. Defaults to dateTime.
asc, desc Filter by transaction id(s).
Filter by the payment id(s) a transaction settled.
Filter by payment sub-type(s).
Filter by end-to-end reference(s).
Filter by unique reference(s).
Filter by internal reference(s).
Exact transaction timestamp(s); use startDate/endDate for a range.