curl -X GET "https://api.sandbox.services.payward.com/v1/reports/settlement?start_date=2026-04-25&end_date=2026-04-26&report_type=price_trigger_swaps&report_type=swaps&page_size=1" \
-H "API-Key: $PWS_API_KEY" \
-H "API-Nonce: $PWS_API_NONCE" \
-H "API-Sign: $PWS_API_SIGN"import requests
url = "https://api.sandbox.services.payward.com/v1/reports/settlement"
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"API-Nonce": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'API-Key': '<api-key>', 'API-Sign': '<api-key>', 'API-Nonce': '<api-key>'}
};
fetch('https://api.sandbox.services.payward.com/v1/reports/settlement', 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.sandbox.services.payward.com/v1/reports/settlement",
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>",
"API-Nonce: <api-key>",
"API-Sign: <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.sandbox.services.payward.com/v1/reports/settlement"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
req.Header.Add("API-Nonce", "<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.sandbox.services.payward.com/v1/reports/settlement")
.header("API-Key", "<api-key>")
.header("API-Sign", "<api-key>")
.header("API-Nonce", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.services.payward.com/v1/reports/settlement")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-Key"] = '<api-key>'
request["API-Sign"] = '<api-key>'
request["API-Nonce"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "00000000-0000-0000-0000-000000000001",
"date": "2026-04-25",
"type": "swaps",
"size": "18342",
"name": "settlement-2026-04-25.csv"
},
{
"id": "00000000-0000-0000-0000-000000000003",
"date": "2026-04-27",
"type": "price_trigger_swaps",
"size": "7341",
"name": "settlement-2026-04-27.csv"
},
{
"id": "00000000-0000-0000-0000-000000000004",
"date": "2026-04-28",
"type": "earn_rewards",
"size": "8102",
"name": "settlement-2026-04-28.csv"
}
]
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 400,
"code": "bad_request",
"causes": [
{
"field": "page_size",
"message": "must be between 1 and 25"
}
]
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 401,
"code": "unauthenticated"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 403,
"code": "forbidden"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 429,
"code": "resource_exhausted"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 500,
"code": "internal"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 501,
"code": "unimplemented"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 503,
"code": "unavailable"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 504,
"code": "deadline_exceeded"
}
}List settlement reports
Retrieves a paginated list of settlement reports available to the authenticated Master User, with optional filters for date range and report type.
curl -X GET "https://api.sandbox.services.payward.com/v1/reports/settlement?start_date=2026-04-25&end_date=2026-04-26&report_type=price_trigger_swaps&report_type=swaps&page_size=1" \
-H "API-Key: $PWS_API_KEY" \
-H "API-Nonce: $PWS_API_NONCE" \
-H "API-Sign: $PWS_API_SIGN"import requests
url = "https://api.sandbox.services.payward.com/v1/reports/settlement"
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"API-Nonce": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'API-Key': '<api-key>', 'API-Sign': '<api-key>', 'API-Nonce': '<api-key>'}
};
fetch('https://api.sandbox.services.payward.com/v1/reports/settlement', 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.sandbox.services.payward.com/v1/reports/settlement",
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>",
"API-Nonce: <api-key>",
"API-Sign: <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.sandbox.services.payward.com/v1/reports/settlement"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
req.Header.Add("API-Nonce", "<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.sandbox.services.payward.com/v1/reports/settlement")
.header("API-Key", "<api-key>")
.header("API-Sign", "<api-key>")
.header("API-Nonce", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.services.payward.com/v1/reports/settlement")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-Key"] = '<api-key>'
request["API-Sign"] = '<api-key>'
request["API-Nonce"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "00000000-0000-0000-0000-000000000001",
"date": "2026-04-25",
"type": "swaps",
"size": "18342",
"name": "settlement-2026-04-25.csv"
},
{
"id": "00000000-0000-0000-0000-000000000003",
"date": "2026-04-27",
"type": "price_trigger_swaps",
"size": "7341",
"name": "settlement-2026-04-27.csv"
},
{
"id": "00000000-0000-0000-0000-000000000004",
"date": "2026-04-28",
"type": "earn_rewards",
"size": "8102",
"name": "settlement-2026-04-28.csv"
}
]
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 400,
"code": "bad_request",
"causes": [
{
"field": "page_size",
"message": "must be between 1 and 25"
}
]
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 401,
"code": "unauthenticated"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 403,
"code": "forbidden"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 429,
"code": "resource_exhausted"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 500,
"code": "internal"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 501,
"code": "unimplemented"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 503,
"code": "unavailable"
}
}{
"error": {
"type": "reports_error",
"instance": "req_01H00000000000000000000000",
"status": 504,
"code": "deadline_exceeded"
}
}Authorizations
Your public API key. Identifies the partner making the request.
HMAC signature over the request, computed with your private key.
Monotonically increasing nonce included in the request signature.
Query Parameters
Opaque token returned as next_page_token in the previous response. Omit to request the first page.
1 - 256Maximum number of results to return. Ignored when page_token is present.
1 <= x <= 25The inclusive start date for filtering settlement reports. Use in combination with end_date to specify a date range. Use RFC 3339 full-date format (YYYY-MM-DD).
^[0-9]{4}-[0-9]{2}-[0-9]{2}$The inclusive end date for filtering settlement reports. Use in combination with start_date to specify a date range. Use RFC 3339 full-date format (YYYY-MM-DD).
^[0-9]{4}-[0-9]{2}-[0-9]{2}$Filters the returned reports by one or more report types. If omitted, all report types are included. Repeat the query parameter to request multiple types, for example report_type=price_trigger_swaps&report_type=swaps. Unknown values and the reserved unspecified value return a 400 response.
10The category of a settlement report.
swaps, price_trigger_swaps, earn_rewards Response
Successful response containing a list of settlement reports and pagination details.