List Payout Transactions
curl --request GET \
--url https://production-api.puppetvendors.com/payouts/transactions \
--header 'x-access-token: <api-key>'import requests
url = "https://production-api.puppetvendors.com/payouts/transactions"
headers = {"x-access-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-access-token': '<api-key>'}};
fetch('https://production-api.puppetvendors.com/payouts/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://production-api.puppetvendors.com/payouts/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-access-token: <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://production-api.puppetvendors.com/payouts/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-access-token", "<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://production-api.puppetvendors.com/payouts/transactions")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://production-api.puppetvendors.com/payouts/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_bodyPayouts
List Payout Transactions
List payout transactions with cursor pagination and filters
GET
/
payouts
/
transactions
List Payout Transactions
curl --request GET \
--url https://production-api.puppetvendors.com/payouts/transactions \
--header 'x-access-token: <api-key>'import requests
url = "https://production-api.puppetvendors.com/payouts/transactions"
headers = {"x-access-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-access-token': '<api-key>'}};
fetch('https://production-api.puppetvendors.com/payouts/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://production-api.puppetvendors.com/payouts/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-access-token: <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://production-api.puppetvendors.com/payouts/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-access-token", "<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://production-api.puppetvendors.com/payouts/transactions")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://production-api.puppetvendors.com/payouts/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_bodyV2 Preview — This endpoint is part of the V2 API preview. Breaking changes may occur.
Overview
Return a paginated list of payout transactions for the authenticated vendor. Uses cursor-based pagination for stable results when data changes between pages.Use Cases
- Payout history table — Show a list of past payouts with status and amounts
- Transaction lookup — Search for a specific payout by transaction ID or date
- Reconciliation — Cross-reference payouts with bank deposits
Headers
string
required
A valid vendor JWT. Requires
payouts:read scope.Query Parameters
string
Filter by vendor ID (24-character hex string). Defaults to the authenticated vendor.
string
Filter by status:
pending · paid · failed · cancelled.string
ISO 8601 lower bound on transaction date.
string
ISO 8601 upper bound on transaction date.
string
Free-text search (max 200 characters). Searches transaction IDs and order references.
integer
Number of records to return from the start of the result set (forward pagination).
string
Cursor for forward pagination. Use the
endCursor value from a previous response.integer
Number of records to return from the end of the result set (backward pagination).
string
Cursor for backward pagination. Use the
startCursor value from a previous response.Response
200
{
"success": true,
"data": {
"edges": [
{
"node": {
"_id": "664a1b2c3d4e5f6a7b8c9d20",
"processedAt": "2026-05-01T12:00:00Z",
"status": "paid",
"transactionId": "txn_1PqR2sT3uV4wX5yZ",
"itemCount": 12,
"amount": 5000.00,
"createdAt": "2026-04-30T18:00:00Z"
},
"cursor": "NjY0YTFiMmMzZDRlNWY2YTdiOGM5ZDIw"
},
{
"node": {
"_id": "664a1b2c3d4e5f6a7b8c9d21",
"processedAt": "2026-04-01T12:00:00Z",
"status": "paid",
"transactionId": "txn_6AbC7dEf8gHi9jKl",
"itemCount": 8,
"amount": 3200.00,
"createdAt": "2026-03-31T18:00:00Z"
},
"cursor": "NjY0YTFiMmMzZDRlNWY2YTdiOGM5ZDIx"
}
],
"pageInfo": {
"hasNextPage": true,
"hasPreviousPage": false,
"startCursor": "NjY0YTFiMmMzZDRlNWY2YTdiOGM5ZDIw",
"endCursor": "NjY0YTFiMmMzZDRlNWY2YTdiOGM5ZDIx"
}
}
}
Error Responses
401
{ "success": false, "error": { "message": "Invalid or expired token" } }
403
{ "success": false, "error": { "message": "Insufficient scope", "code": "FORBIDDEN" } }
Example
curl -X GET "https://production-api.puppetvendors.com/payouts/transactions?status=paid&first=10" \
-H "x-access-token: YOUR_VENDOR_JWT"
More Examples
Filter paid transactionscurl -X GET "https://production-api.puppetvendors.com/payouts/transactions?first=20&status=paid&dateMin=2026-01-01T00:00:00Z" \
-H "x-access-token: YOUR_VENDOR_JWT"
Was this page helpful?