Refunds
List Refunds
List refunds.
Scopes: refunds:read refunds:write
GET
/
v1
/
refunds
/
python (new sdk)
from polar.v2026_04 import Polar
polar = Polar("polar_oat_xxx")
for item in polar.refunds.iter_list(
page=1,
limit=10,
sorting=['-created_at'],
):
print(item)
import { createPolar } from "@polar-sh/sdk/2026-04";
const polar = createPolar({
accessToken: "polar_oat_xxx",
});
for await (const item of polar.refunds.iterList(
{
"page": 1,
"limit": 10,
"sorting": [
"-created_at"
]
},
)) {
console.log(item);
}
curl --request GET \
--url https://api.polar.sh/v1/refunds/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.polar.sh/v1/refunds/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.polar.sh/v1/refunds/', 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.polar.sh/v1/refunds/",
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.polar.sh/v1/refunds/"
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.polar.sh/v1/refunds/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polar.sh/v1/refunds/")
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{
"items": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"metadata": {},
"amount": 123,
"tax_amount": 123,
"currency": "<string>",
"organization_id": "<string>",
"order_id": "<string>",
"subscription_id": "<string>",
"customer_id": "<string>",
"revoke_benefits": true,
"dispute": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"resolved": true,
"closed": true,
"amount": 123,
"tax_amount": 123,
"currency": "<string>",
"reason": "fraudulent",
"evidence_due_by": "2023-11-07T05:31:56Z",
"past_due": true,
"order_id": "<string>",
"payment_id": "<string>"
}
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
patoat
Query Parameters
Filter by refund ID. The refund ID.
Filter by organization ID. The organization ID.
Example:
"1dbfc517-0bbf-4301-9ba8-555ca42b9737"
Filter by order ID. The order ID.
Filter by subscription ID. The subscription ID.
Filter by customer ID. The customer ID.
Filter by customer external ID. The customer external ID.
Filter by succeeded.
Page number, defaults to 1.
Size of a page, defaults to 10. Maximum is 100.
Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign - before the criteria name to sort by descending order.
Available options:
created_at, -created_at, amount, -amount Was this page helpful?
⌘I
python (new sdk)
from polar.v2026_04 import Polar
polar = Polar("polar_oat_xxx")
for item in polar.refunds.iter_list(
page=1,
limit=10,
sorting=['-created_at'],
):
print(item)
import { createPolar } from "@polar-sh/sdk/2026-04";
const polar = createPolar({
accessToken: "polar_oat_xxx",
});
for await (const item of polar.refunds.iterList(
{
"page": 1,
"limit": 10,
"sorting": [
"-created_at"
]
},
)) {
console.log(item);
}
curl --request GET \
--url https://api.polar.sh/v1/refunds/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.polar.sh/v1/refunds/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.polar.sh/v1/refunds/', 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.polar.sh/v1/refunds/",
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.polar.sh/v1/refunds/"
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.polar.sh/v1/refunds/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polar.sh/v1/refunds/")
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{
"items": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"metadata": {},
"amount": 123,
"tax_amount": 123,
"currency": "<string>",
"organization_id": "<string>",
"order_id": "<string>",
"subscription_id": "<string>",
"customer_id": "<string>",
"revoke_benefits": true,
"dispute": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"resolved": true,
"closed": true,
"amount": 123,
"tax_amount": 123,
"currency": "<string>",
"reason": "fraudulent",
"evidence_due_by": "2023-11-07T05:31:56Z",
"past_due": true,
"order_id": "<string>",
"payment_id": "<string>"
}
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}
