curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/payments/analytics/recent-transactions \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/apps/{app_id}/payments/analytics/recent-transactions"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://app.base44.com/api/apps/{app_id}/payments/analytics/recent-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://app.base44.com/api/apps/{app_id}/payments/analytics/recent-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 => [
"api_key: <api-key>"
],
]);
$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://app.base44.com/api/apps/{app_id}/payments/analytics/recent-transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/apps/{app_id}/payments/analytics/recent-transactions")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/payments/analytics/recent-transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"transactions": [
{
"action": "payment",
"amount": 2500,
"currency": "usd",
"customer_email": "jane@example.com",
"customer_id": "cus_T7mK2p9Q4r6S8v",
"customer_name": "Jane Doe",
"is_live": true,
"status": "succeeded",
"timestamp": "2026-08-25 10:00:00",
"transaction_id": "pi_T7mK2p9Q4r6S8v"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Get recent payment transactions
Returns recent payment, refund, and dispute movements. Requires read access to the app. Without a provider filter, reads live movements across providers and attempts customer enrichment through Stripe. Send both start_date and end_date to set a window. With neither or only one, period selects whole UTC days including today. Results come from an analytics store and can lag behind the payment provider. This is a bounded summary with no cursor to retrieve more rows.
curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/payments/analytics/recent-transactions \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/apps/{app_id}/payments/analytics/recent-transactions"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://app.base44.com/api/apps/{app_id}/payments/analytics/recent-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://app.base44.com/api/apps/{app_id}/payments/analytics/recent-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 => [
"api_key: <api-key>"
],
]);
$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://app.base44.com/api/apps/{app_id}/payments/analytics/recent-transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/apps/{app_id}/payments/analytics/recent-transactions")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/payments/analytics/recent-transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"transactions": [
{
"action": "payment",
"amount": 2500,
"currency": "usd",
"customer_email": "jane@example.com",
"customer_id": "cus_T7mK2p9Q4r6S8v",
"customer_name": "Jane Doe",
"is_live": true,
"status": "succeeded",
"timestamp": "2026-08-25 10:00:00",
"transaction_id": "pi_T7mK2p9Q4r6S8v"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Personal API key.
Path Parameters
ID of the Base44 app.
Query Parameters
Start of the window as an ISO 8601 timestamp. Send with end_date. Defaults to the period window.
End of the window as an ISO 8601 timestamp. Send with start_date. Defaults to now when using period.
Fallback window. Either 7d, 30d, or 90d. Defaults to 30d. Used unless both dates are supplied.
7d, 30d, 90d Maximum transactions to return, from 1 through 10. Defaults to 7.
1 <= x <= 10Comma-separated currency codes, for example usd,eur. Defaults to no currency filter. Use one currency when comparing amounts.
Response
Successful Response
Response with recent transactions list.
Recent money movements, newest first. Empty when no matching transactions are found.
Show child attributes
Show child attributes
[
{
"action": "payment",
"amount": 2500,
"currency": "usd",
"customer_email": "jane@example.com",
"customer_id": "cus_T7mK2p9Q4r6S8v",
"customer_name": "Jane Doe",
"is_live": true,
"status": "succeeded",
"timestamp": "2026-08-25 10:00:00",
"transaction_id": "pi_T7mK2p9Q4r6S8v"
}
]
Was this page helpful?