# Graded prices

Use `POST /api/v1/graded/prices` to request ALT sales for one to four explicit grader/grade/tier markets. Identify a slab first, or use an ALT asset reference you already trust. A raw catalog match is not required for direct ALT pricing.

Every graded lookup through Strata also checks for a verified raw mapping. On a miss, Strata fetches the exact ALT asset identity and automatically queues catalog-only discovery and independent review. Callers do not need to submit a separate linkage proposal. The response adds `strataProductId` when registration succeeds and `rawMatch` with the current status: `verified`, `queued`, `resolving`, `review_required`, `unmapped`, `unsupported`, or `unavailable`. Only `verified` supplies a usable raw product and its exact selectors. Optional discovery has a 1.5-second deadline and runs alongside graded pricing; its failure leaves the graded quotes usable.

Repeated lookups share the existing discovery job and preserve review history, rejected mappings and attempt limits. A direct ALT `ref` may also include `rawProductId` as a candidate hint on first discovery; the worker fetches that product's catalog facts and verifies it through the same review process. A hint never establishes a mapping or enables a raw-origin price comparison. Discovery does not request raw prices or add a customer price operation. Calls made directly to ALT outside Strata cannot be captured automatically.

Generate the operation ID once for a new lookup. On a network retry, rerun only the `curl` command with the same body and saved ID.

```bash
STRATA_OPERATION_ID=$(uuidgen)
curl https://stratatcg.com/connector/api/v1/graded/prices \
  -H "Authorization: Bearer $STRATA_API_KEY" \
  -H 'Content-Type: application/json' \
  -H "Idempotency-Key: $STRATA_OPERATION_ID" \
  -d '{"ref":{"provider":"alt","entityType":"asset","id":"ALT_ASSET_UUID"},"markets":[{"grader":"PSA","grade":"9"},{"grader":"PSA","grade":"10"}]}'
```

Use `strataProductId` in place of `ref` when pricing a Strata catalog product with a verified ALT link. Keep `grader`, numeric `grade`, and `tier` distinct: for example, `10.5` is used by ALT to represent BGS Black Label or CGC Pristine, not a PSA 10.5. A tier the source cannot map is returned as `unsupported` rather than merged into another market.

Each distinct grader, numeric grade, and tier is one billable operation. The API normalizes repeated equivalent selections before reserving credits and querying ALT; `"10"` and `"10.0"` for PSA are one market. The response contains one quote per distinct normalized market. A market with no usable amount is not charged. A partial quote with an amount can be shown with its status and freshness information; `amountCents:null` means missing data, never zero.

For a raw-origin cross-market comparison, provide the Strata product ID, its exact TCGplayer `rawProductId`, and `rawSelection` with the printing and language. The verified mapping must match those selectors. Raw Near Mint is a reference market; the slab grade does not establish raw condition. Once identity and exact mapping are known, raw and graded price requests can run concurrently.

Inspect each quote's `status`, `amountCents`, `currency`, `basis`, `sampleCount`, `observedAt`, and `stale` fields. Do not replace `no_data`, `unavailable`, or `unsupported` with zero, or treat an outage as a negative identity result. CardLadder URLs are links only; this endpoint does not scrape CardLadder.

See [slab identification](./slabs.md), [raw and sealed pricing](./enrich.md), [cross-market recipes](./recipes.md), and the [OpenAPI response schemas](/connector/openapi.json).
