curl --request GET \
--url https://catchbackcards.com/api/partner/v1/orders \
--header 'Authorization: Bearer <token>'import requests
url = "https://catchbackcards.com/api/partner/v1/orders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://catchbackcards.com/api/partner/v1/orders', 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://catchbackcards.com/api/partner/v1/orders",
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://catchbackcards.com/api/partner/v1/orders"
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://catchbackcards.com/api/partner/v1/orders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://catchbackcards.com/api/partner/v1/orders")
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{
"since": "2026-10-01T00:00:00.000Z",
"until": "2026-10-31T00:00:00.000Z",
"type": null,
"limit": 50,
"has_more": false,
"next_cursor": null,
"orders": [
{
"checkout_id": "3e1ab17c-…",
"order_id": "order-1042",
"type": "pack_purchase",
"status": "completed",
"created_at": "2026-10-20T04:54:57.373+00:00",
"completed_at": "2026-10-20T04:54:58.563+00:00",
"amount": 25,
"fee": 0,
"balance_change": -25,
"reconciled": false,
"pack_type": "bronze",
"quantity": 1,
"pull_ids": [
"e9d27918-…"
],
"card_id": null,
"listing_id": null,
"transaction_id": null
}
]
}{
"error": "Invalid cursor: pass next_cursor from the previous page unchanged"
}{
"error": "Missing or malformed API key"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}List orders
Scope: read:account (needs a linked account).
Your pack purchases, card purchases, sell-backs (one order per card) and sales of your listings, newest first. Shipment charges aren’t here: read cost in List shipments. Money we credit to your account isn’t here either, so this alone won’t reconcile your balance. The history belongs to the account, not the key. Purchases and sell-backs made in our app are left out.
The window is capped at 31 days. Page with next_cursor: see Pagination.
curl --request GET \
--url https://catchbackcards.com/api/partner/v1/orders \
--header 'Authorization: Bearer <token>'import requests
url = "https://catchbackcards.com/api/partner/v1/orders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://catchbackcards.com/api/partner/v1/orders', 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://catchbackcards.com/api/partner/v1/orders",
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://catchbackcards.com/api/partner/v1/orders"
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://catchbackcards.com/api/partner/v1/orders")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://catchbackcards.com/api/partner/v1/orders")
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{
"since": "2026-10-01T00:00:00.000Z",
"until": "2026-10-31T00:00:00.000Z",
"type": null,
"limit": 50,
"has_more": false,
"next_cursor": null,
"orders": [
{
"checkout_id": "3e1ab17c-…",
"order_id": "order-1042",
"type": "pack_purchase",
"status": "completed",
"created_at": "2026-10-20T04:54:57.373+00:00",
"completed_at": "2026-10-20T04:54:58.563+00:00",
"amount": 25,
"fee": 0,
"balance_change": -25,
"reconciled": false,
"pack_type": "bronze",
"quantity": 1,
"pull_ids": [
"e9d27918-…"
],
"card_id": null,
"listing_id": null,
"transaction_id": null
}
]
}{
"error": "Invalid cursor: pass next_cursor from the previous page unchanged"
}{
"error": "Missing or malformed API key"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}Authorizations
Your API key, sent as a bearer token. Keep it on your server. See Authentication. A request from a location we refuse gets a 403 with Access denied, whether or not it has a valid key: where you can call from.
Query Parameters
Only orders of this kind. Leave it out for all four.
pack_purchase, card_purchase, sell_back, listing_sale ISO 8601, inclusive. Defaults to until minus 7 days.
ISO 8601, inclusive. Defaults to now. At most 31 days after since.
Orders per page, 1–100. A higher value is treated as 100.
1 <= x <= 100next_cursor from the previous page, unchanged. It carries that page's window and type, so since, until and type are ignored when you send it.
Response
One page of orders.
pack_purchase, card_purchase, sell_back, listing_sale Send it as cursor for the next page. null on the last page.
Show child attributes
Show child attributes

