ChaosDraft API WikiOpenAPI v1

Complete REST endpoint index

Wiki home · Getting started · Practical examples · Exact OpenAPI schemas

Generated from the checked OpenAPI 3.1.0 contract (version 0.4.0). This index has 78 operations on 66 paths. Regenerate with npm run api-wiki:build. The OpenAPI contract defines all fields, validations, examples and response statuses. A documented endpoint can still be denied by the caller's scope or source/field policy.

Query names and required top-level JSON body fields appear here for orientation. A dash means none are declared. See Cards, sets and prices, Rules, formats and legality, Decks, ASK AI, and Events and stores for use cases.

Method Path Query parameters Required JSON body fields Current access
GET /v1/cards as_of, limit, cursor, fields, include, q, name, format, legality, type, colors, colors_match, color_identity, identity_match, mv, mv_min, mv_max, keyword, set, rarity, game, sort, order — First-party *
GET /v1/cards/named as_of, limit, cursor, fields, include, exact, fuzzy — First-party *
GET /v1/cards/by-identifier as_of, limit, cursor, fields, include, type, value — First-party *
GET /v1/cards/autocomplete as_of, limit, cursor, fields, include, q — First-party *
POST /v1/cards/resolve as_of, limit, cursor, fields, include names First-party *
GET /v1/cards/{oracle_id} as_of, limit, cursor, fields, include — First-party *
GET /v1/cards/{oracle_id}/printings as_of, limit, cursor, fields, include, set, game, lang — First-party *
GET /v1/cards/{oracle_id}/parts as_of, limit, cursor, fields, include — First-party *
GET /v1/printings/{printing_id} as_of, limit, cursor, fields, include — First-party *
GET /v1/printings/by-identifier as_of, limit, cursor, fields, include, type, value — First-party *
GET /v1/sets as_of, limit, cursor, fields, include, q, type, released_after, released_before — First-party *
GET /v1/sets/{code} as_of, limit, cursor, fields, include — First-party *
GET /v1/sets/{code}/cards as_of, limit, cursor, fields, include, set, game, lang — First-party *
GET /v1/prices/printings/{printing_id} as_of, limit, cursor, fields, include — First-party *
GET /v1/prices/cards/{oracle_id} as_of, limit, cursor, fields, include — First-party *
GET /v1/cards/{oracle_id}/cheapest-purchase as_of, limit, cursor, fields, include — First-party * or card:purchase:read
GET /v1/sources as_of, limit, cursor, fields, include — First-party *
GET /v1/status as_of, limit, cursor, fields, include — First-party *
GET /health — — Public
GET /ready — — Public
GET /v1/rules as_of, version, limit, offset — First-party *
GET /v1/rules/versions — — First-party *
GET /v1/rules/search as_of, version, limit, offset, q, prefix, mode — First-party *
GET /v1/rules/glossary as_of, version, limit, offset, q — First-party *
GET /v1/rules/glossary/{term} as_of, version — First-party *
GET /v1/rules/{rule} as_of, version, include — First-party *
GET /v1/cards/{oracle_id}/rulings as_of, limit, offset, q — First-party *
GET /v1/rulings/search as_of, limit, offset, q, oracle_id — First-party *
GET /v1/formats as_of — First-party *
GET /v1/formats/{format} as_of — First-party *
GET /v1/formats/{format}/sets as_of — First-party *
GET /v1/formats/{format}/banlist as_of — First-party *
GET /v1/formats/{format}/events as_of, from, to, oracle_id, limit, offset — First-party *
GET /v1/formats/{format}/cards/{oracle_id} as_of — First-party *
POST /v1/legality/cards — format, cards First-party *
POST /v1/legality/decks — format, deck First-party *
POST /v1/decks/parse — — First-party *
POST /v1/decks/analyze — deck First-party *
POST /v1/decks/analyze/curve — deck First-party *
POST /v1/decks/analyze/mana-base — deck First-party *
POST /v1/decks/diff — from, to First-party *
POST /v1/decks — deck First-party *
GET /v1/decks/{id} — — First-party *
PATCH /v1/decks/{id} — — First-party *
DELETE /v1/decks/{id} — — First-party *
GET /v1/decks/{id}/versions — — First-party *
POST /v1/decks/{id}/versions — deck First-party *
GET /v1/decks/{id}/versions/{version_id} — — First-party *
GET /v1/decks/{id}/versions/{version_id}/analysis — — First-party *
GET /v1/decks/{id}/versions/{version_id}/diff against — First-party *
POST /v1/ai/ask — question First-party * or ask_ai
GET /v1/ai/access — — First-party * or ask_ai
GET /v1/ai/conversations limit, cursor, search — First-party * or ask_ai
POST /v1/ai/conversations — — First-party * or ask_ai
GET /v1/ai/feedback rating, flagged, has_correction, since, until, end_user_ref, format, limit, cursor — Customer key: ai:feedback:read
GET /v1/ai/events — — First-party * or ask_ai
GET /v1/ai/memory — — First-party * or ask_ai
PATCH /v1/ai/memory — — First-party * or ask_ai
DELETE /v1/ai/memory — — First-party * or ask_ai
GET /v1/ai/conversations/{id}/turns/{turn}/feedback — — First-party * or ask_ai
PUT /v1/ai/conversations/{id}/turns/{turn}/feedback — — First-party * or ask_ai
DELETE /v1/ai/conversations/{id}/turns/{turn}/feedback — — First-party * or ask_ai
GET /v1/ai/conversations/{id} turn_limit, before_turn, after_turn — First-party * or ask_ai
PATCH /v1/ai/conversations/{id} — title First-party * or ask_ai
DELETE /v1/ai/conversations/{id} — — First-party * or ask_ai
GET /v1/ai/conversations/{id}/files — — First-party * or ask_ai
POST /v1/ai/conversations/{id}/files — kind, text First-party * or ask_ai
GET /v1/ai/conversations/{id}/files/{file_id} — — First-party * or ask_ai
DELETE /v1/ai/conversations/{id}/files/{file_id} — — First-party * or ask_ai
GET /v1/event-programs as_of, kind, category, tag, set, from, to, upcoming, region, limit, cursor — First-party *
GET /v1/event-programs/{key} as_of, region — First-party *
GET /v1/events as_of, kind, format, set, source, store, limit, cursor, timezone, include, city, region, country, postal_code, radius_km, from, to — First-party *
GET /v1/events/upcoming as_of, kind, format, set, source, store, limit, cursor, timezone, include, city, region, country, postal_code, radius_km — First-party *
GET /v1/events/{id} as_of, timezone, include — First-party *
POST /v1/events/search — location First-party *
GET /v1/stores city, region, country, postal_code, name, limit, cursor, include — First-party *
GET /v1/stores/{id} include — First-party *
GET /v1/stores/{id}/events as_of, kind, format, set, source, store, limit, cursor, timezone, include, from, to — First-party *