curl --request GET \
--url https://api.agentaos.ai/api/v1/gateway/all-transactions \
--header 'x-api-key: <api-key>'import requests
url = "https://api.agentaos.ai/api/v1/gateway/all-transactions"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.agentaos.ai/api/v1/gateway/all-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.agentaos.ai/api/v1/gateway/all-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 => [
"x-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://api.agentaos.ai/api/v1/gateway/all-transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-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://api.agentaos.ai/api/v1/gateway/all-transactions")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agentaos.ai/api/v1/gateway/all-transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "8c7d6e5f-4a3b-2c1d-0e9f-8a7b6c5d4e3f",
"payment_link_id": "3f1a2b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
"session_id": "mZrESFyR7RC9RPsJfZCVkg",
"org_id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
"direction": "inbound",
"payer_address": null,
"payer_type": "human",
"amount": 49.99,
"payment_token": "EURC",
"settlement_token": "EURC",
"status": "confirmed",
"tx_hash": null,
"vendor_reference": "pi_3P...",
"network": "stripe",
"to_address": null,
"recipient_label": null,
"description": "Order #123",
"payment_method": "card",
"seller_of_record": "aristokrates_ou",
"invoice_id": "b2c3d4e5-f6a7-8b9c-0d1e-2f3a4b5c6d7e",
"created_at": "2026-08-06T12:05:00.000Z",
"environment": "live",
"money": {
"currency": "EUR",
"grossMinor": 4999,
"feeMinor": 215,
"vatMinor": 0,
"netMinor": 4784
}
}
],
"total": 214,
"hasMore": true
}{
"statusCode": 401,
"message": "Invalid API key",
"timestamp": "2026-08-06T12:00:00.000Z"
}List transactions
One unified list of everything that moved money on your account: inbound payments (from checkouts and payment links) and outbound sends, across every rail (card, SEPA bank transfer, stablecoins on-chain), in one feed. Only confirmed rows are returned: a pending or failed attempt never appears here; status on each item is always confirmed.
curl --request GET \
--url https://api.agentaos.ai/api/v1/gateway/all-transactions \
--header 'x-api-key: <api-key>'import requests
url = "https://api.agentaos.ai/api/v1/gateway/all-transactions"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.agentaos.ai/api/v1/gateway/all-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.agentaos.ai/api/v1/gateway/all-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 => [
"x-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://api.agentaos.ai/api/v1/gateway/all-transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-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://api.agentaos.ai/api/v1/gateway/all-transactions")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agentaos.ai/api/v1/gateway/all-transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "8c7d6e5f-4a3b-2c1d-0e9f-8a7b6c5d4e3f",
"payment_link_id": "3f1a2b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
"session_id": "mZrESFyR7RC9RPsJfZCVkg",
"org_id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
"direction": "inbound",
"payer_address": null,
"payer_type": "human",
"amount": 49.99,
"payment_token": "EURC",
"settlement_token": "EURC",
"status": "confirmed",
"tx_hash": null,
"vendor_reference": "pi_3P...",
"network": "stripe",
"to_address": null,
"recipient_label": null,
"description": "Order #123",
"payment_method": "card",
"seller_of_record": "aristokrates_ou",
"invoice_id": "b2c3d4e5-f6a7-8b9c-0d1e-2f3a4b5c6d7e",
"created_at": "2026-08-06T12:05:00.000Z",
"environment": "live",
"money": {
"currency": "EUR",
"grossMinor": 4999,
"feeMinor": 215,
"vatMinor": 0,
"netMinor": 4784
}
}
],
"total": 214,
"hasMore": true
}{
"statusCode": 401,
"message": "Invalid API key",
"timestamp": "2026-08-06T12:00:00.000Z"
}confirmed rows are returned. A pending or failed attempt never appears here. There’s no status filter to request otherwise; status on each item is always confirmed.Invoices
Webhooks
Authorizations
Your secret key, from app.agentaos.ai -> Settings -> Developers -> API Keys. The key's prefix is both its identity and its environment: sk_test_... (sandbox, free, no verification) or sk_live_... (real money, requires business verification). A missing or invalid key returns 401.
Query Parameters
all, inbound, outbound ISO 8601 date or datetime, inclusive lower bound.
ISO 8601 date or datetime, inclusive upper bound.
Filter to rows settled/presented in this fiat currency.
EUR, USD Comma-separated CAIP-2 network IDs to filter by, e.g. eip155:8453,eip155:84532. Ignored if your API key is network-scoped.
Items per page. Capped server-side at 5000.
1 <= x <= 5000Number of items to skip, for the next page.
x >= 0