Base URL
All routes live under the/v1 version prefix:
GET requests over HTTPS. The contract evolves additive-only within v1.
Authentication
Send your API key in thex-api-key header on every request:
- Missing or invalid key →
401. - Valid key without access to a resource →
403.
Response envelope
Every success is{ "data": …, "meta": { "request_id": … } }; lists put pagination
in meta.pagination. Errors carry a stable, machine-readable code:
Grades & labels
Population and grade data is reported under each grader’s own label keys ({grader}_{grade}, e.g. psa_10, beckett_9_5, cgc_10_perfect).
Resources
Certs
A specific graded copy —
GET /v1/certs/{grader}/{cert} (+ /images).Cards
The card itself + population —
GET /v1/cards/{gemrate_id} (+ /history).Specs
A grader’s catalog entry —
GET /v1/specs/{grader}/{spec_id}.Catalogs
Bulk CSV download —
GET /v1/catalogs/{catalog}.