curl --request GET \
--url https://catchbackcards.com/api/partner/v1/vault \
--header 'Authorization: Bearer <token>'import requests
url = "https://catchbackcards.com/api/partner/v1/vault"
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/vault', 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/vault",
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/vault"
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/vault")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://catchbackcards.com/api/partner/v1/vault")
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{
"category": "pokemon",
"page": 1,
"per_page": 100,
"total": 1,
"cards": [
{
"card_id": "0e94dc61-…",
"pull_id": "d9504d3f-…",
"pulled_at": "2026-09-29T19:56:28Z",
"purchase_id": null,
"purchased_at": null,
"item": {
"id": "0e94dc61-…",
"category": "pokemon",
"name": "Greavard",
"set": "Pokemon Svi En-Scarlet & Violet",
"grading_company": "PSA",
"grading_rank": 9,
"slab_label": "2023 Scarlet & Violet Greavard",
"language": "english",
"cert_number": "84512377",
"market_value": 38.43,
"front_image": "https://…/0e94dc61-….png",
"back_image": "https://…/0e94dc61-…-back.png",
"render_image": "https://…/0e94dc61-…-render.png",
"image_url": "https://…/0e94dc61-…-render.png"
},
"value": 38.43,
"listed": false,
"listing_id": null,
"listing_price": null,
"catchback": {
"amount": 30.74,
"rate": 0.8,
"basis_value": 38.43,
"locked_value_until": "2026-10-06T19:56:28Z"
}
}
]
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Missing or malformed API key"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}Get vault
Scope: read:account (needs a linked account).
Cards in your vault or listed on the marketplace, one catalog per request. A sealed product (a pull from the Starter or a sealed mystery pack) isn’t listed, and the API can’t sell it back, list it or ship it. Each names its latest acquisition: a pull (pull_id) or a buy (purchase_id). One is set and the other is null, and Sell back takes whichever is set. Both can be null for a card that reached your account another way: read the vault again, or contact us. A pull can land in a different catalog from its pack’s, so sync every category you might hold.
curl --request GET \
--url https://catchbackcards.com/api/partner/v1/vault \
--header 'Authorization: Bearer <token>'import requests
url = "https://catchbackcards.com/api/partner/v1/vault"
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/vault', 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/vault",
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/vault"
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/vault")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://catchbackcards.com/api/partner/v1/vault")
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{
"category": "pokemon",
"page": 1,
"per_page": 100,
"total": 1,
"cards": [
{
"card_id": "0e94dc61-…",
"pull_id": "d9504d3f-…",
"pulled_at": "2026-09-29T19:56:28Z",
"purchase_id": null,
"purchased_at": null,
"item": {
"id": "0e94dc61-…",
"category": "pokemon",
"name": "Greavard",
"set": "Pokemon Svi En-Scarlet & Violet",
"grading_company": "PSA",
"grading_rank": 9,
"slab_label": "2023 Scarlet & Violet Greavard",
"language": "english",
"cert_number": "84512377",
"market_value": 38.43,
"front_image": "https://…/0e94dc61-….png",
"back_image": "https://…/0e94dc61-…-back.png",
"render_image": "https://…/0e94dc61-…-render.png",
"image_url": "https://…/0e94dc61-…-render.png"
},
"value": 38.43,
"listed": false,
"listing_id": null,
"listing_price": null,
"catchback": {
"amount": 30.74,
"rate": 0.8,
"basis_value": 38.43,
"locked_value_until": "2026-10-06T19:56:28Z"
}
}
]
}{
"error": "<string>",
"code": "<string>"
}{
"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
A catalog you can hold cards in. goods is luxury goods, singles is raw singles and energy is the energy cards from base packs.
pokemon, onepiece, sports, riftbound, watches, goods, singles, energy 1-based. See Pagination.
x >= 11–200. A higher value is treated as 200.
1 <= x <= 200
