Skip to main content
GET
List public decks for a game

Authorizations

X-Signature
string
header
required

HMAC-SHA256 over canonical request string. Format: v1.<unix_seconds>.<hex_hmac_sha256>.

X-Partner-Id
string
header
required

Partner identifier slug. Required alongside X-Signature for HMAC auth.

Authorization
string
header
required

User-issued personal access token (format: flx_pat_).

Path Parameters

game
string
required

Query Parameters

authorId
string

Filter by deck author (firebase user id).

createdAfter
string<date-time>

ISO 8601 lower bound on creation timestamp (inclusive).

createdBefore
string<date-time>

ISO 8601 upper bound on creation timestamp (inclusive).

editedAfter
string<date-time>

ISO 8601 lower bound on last-edit timestamp (inclusive).

editedBefore
string<date-time>

ISO 8601 upper bound on last-edit timestamp (inclusive).

formatId
string<uuid>

Filter by format id.

hasGuide
boolean

Filter to decks that do/don't have in-deck strategy notes.

hasSideboardGuide
boolean

Filter to decks that do/don't have an attached sideboard guide.

hasVideo
boolean

Filter to decks that do/don't link a YouTube video.

include
enum<string>

Set to summary to add featured_cards, section_counts and colors to each list item — enough to render a rich deck card without a per-deck detail fetch. Omitted by default to keep the list lean.

Available options:
summary

Filter by format-legality flag.

limit
integer

Page size (max 100, default 20).

order
enum<string>

Sort direction. Defaults to desc.

Available options:
asc,
desc
page
integer

1-indexed page number.

q
string

Substring filter on deck name (case-insensitive).

sort
enum<string>

Sort key. Defaults to editedAt.

Available options:
createdAt,
editedAt,
likes,
trending,
views

Response

200 - application/json

Provides featured_cards for any deck serializer.

Relies on special_cards__card (and legacy commander/partner/companion FKs) being prefetched/selected by the caller's selector. The GameSpecialCardType lookup is cached on serializer context so a whole page of decks costs one query, not one per deck.

id
string<uuid>
required
read-only
name
string
required
read-only
author
object | null
required
read-only
game
string
required
read-only
visibility
string[]
required
read-only
format
object | null
required
read-only
archetype
string | null
required
read-only
views
integer
required
read-only
likes
integer
required
read-only
hasGuide
boolean
required
read-only
hasSideboardGuide
boolean
required
read-only
hasVideo
boolean
required
read-only
editedAt
string<date-time>
required
read-only
createdAt
string<date-time>
required
read-only
sourceProvider
string | null
required
read-only
section_counts
object
read-only
colors
string[]
read-only