Appearance
GET /api/v1/developer/pricing/
Returns a full pricing bundle: ungraded NM price plus a PSA / BGS / CGC / SGC x grades 7-10 slab matrix for a given catalog key.
Request
http
GET /api/v1/developer/pricing/{product_key}
X-API-Key: your_api_keyPath parameters
| Parameter | Description |
|---|---|
product_key | Coda catalog key (URL-encoded). Example: pokemon-sws07-umbreon-vmax-alt-art-secret |
Query parameters
| Name | Type | Default | Range | Description |
|---|---|---|---|---|
window_hours | int | 24 | 1-72 | TWAP lookback window in hours |
outlier_stddevs | int | 2 | 1-10 | Drop observations beyond this many standard deviations |
Example
bash
curl "https://api.coda-tech.net/api/v1/developer/pricing/pokemon-sws07-umbreon-vmax-alt-art-secret?window_hours=24" \
-H "X-API-Key: your_api_key"Response 200
json
{
"product_key": "pokemon-sws07-umbreon-vmax-alt-art-secret",
"window_hours": 24,
"outlier_stddevs": 2,
"ungraded": {
"price_minor": 178015,
"currency": "USD",
"condition_key": "ungraded",
"methodology": "twap_24h_outlier_v3_floor_q20",
"window_start": "2026-04-14T22:11:35+00:00",
"window_end": "2026-04-15T22:11:35+00:00",
"included_points": 43,
"excluded_points": 0,
"meta": { "source_counts": { "ebay": 99, "pricecharting": 17 } },
"error": null
},
"graded": {
"PSA": {
"10": {
"company": "PSA", "grade": 10, "condition_key": "psa10",
"price_minor": 438365, "included_points": 16, "meta": {}, "error": null
},
"9": {
"company": "PSA", "grade": 9, "condition_key": "psa9",
"price_minor": 285000, "included_points": 8,
"meta": {
"developer_band_primary_applied": true,
"developer_composite_band_minor": 270000
},
"error": null
},
"8": { "price_minor": 198000, "grade": 8, "error": null },
"7": {
"grade": 7, "price_minor": 118200,
"meta": {
"developer_gem10_anchor_minor": 438365,
"developer_gem10_ratio_era": "modern"
},
"error": null
}
},
"BGS": { "10": {}, "9": {}, "8": {}, "7": {} },
"CGC": { "10": {}, "9": {}, "8": {}, "7": {} },
"SGC": { "10": {}, "9": {}, "8": {}, "7": {} }
},
"metadata": {
"product_name": "Umbreon VMAX Alt Art",
"subtitle": "Evolving Skies #215 - Moonbreon",
"set_name": "Sword & Shield: Evolving Skies",
"image_url": "https://product-images.tcgplayer.com/fit-in/437x437/246723.jpg",
"product_type": "single_card",
"era": "modern"
}
}How grades 7-9 are priced
Pass 1 - base TWAP + band blend
A card-specific TWAP and a composite band TWAP (computed over a 30-day rolling window) are combined. Weighting is proprietary.
Pass 2 - band-primary blend
The composite band TWAP serves as the primary reference price. Grader-specific observation data is a secondary differentiator. Weighting is proprietary.
Prices are clamped so grade 7 <= grade 8 <= grade 9 <= grade 10 per grader.
Era-aware gem-10 ratios
When grader-specific data is thin, the grader slice is anchored to the grade-10 price using era-calibrated ratios. Modern and vintage cards use separate tables. metadata.era controls which applies.
meta diagnostic fields
| Key | When | Meaning |
|---|---|---|
source_counts | Always | {ebay, pricecharting} observation counts |
developer_band_primary_applied | Grades 7-9 | true when band-primary blend ran |
developer_composite_band_minor | Grades 7-9 | Raw 30-day composite band TWAP (cents) |
developer_band_blend_weights | Grades 7-9 | Blend weights applied |
developer_gem10_anchor_minor | Grades 7-9 | Grade-10 reference used for ratio anchor |
developer_anchor_ratio_vs_gem10 | Grades 7-9 | price / gem10 as string |
developer_gem10_ratio_era | Grades 7-9 | "modern" or "vintage" |
twap_sparse_window_extended | Sparse | true when 30-day fallback triggered |
oracle_fallback_tier | Fallback | Which fallback tier provided the price |
Errors
| HTTP | When |
|---|---|
401 | Missing or invalid API key |
400 | Unknown or invalid product_key |
500 | Oracle computation failure |
503 | Database unreachable |
