Get deck details (bulk)
Fetch full contents for up to 50 decks by id in one call. Requires the decks:read:public scope.
Requires the decks:read:public API key scope — the same scope used by the Get deck endpoint.
Each resolved entry is a minimal deck summary (id, gameId, name, cards) — no owner identity or timestamps. cards is the deck's card list, each entry shaped as {cardId, quantity, zoneId}. For the full deck shape including ownerDisplayName, use the single-deck Get deck endpoint.
This endpoint never returns 404 for an individual id. A malformed, private, or nonexistent id is placed in unresolved instead, and the batch always returns 200. This differs from the single-deck Get deck endpoint, which does 404 on a missing or non-public deck.
decks is returned in unspecified order — match results back to your request by id, never by array position.
Your Sleeved API key. Format: slvd_live_<hex>. Contact Sleeved to obtain a key.
In: header
Deck ids to fetch, 1 to 50 entries.
1 <= items <= 50Response Body
curl -X POST "https://api.sleeved.gg/v1/decks/details" \ -H "Content-Type: application/json" \ -d '{ "ids": [ "00000000-0000-4000-8000-000000000001", "00000000-0000-4000-8000-000000000002", "not-a-real-deck-id" ] }'{
"data": {
"decks": [
{
"id": "00000000-0000-4000-8000-000000000001",
"gameId": "chrono-core",
"name": "Aggro Tempo",
"cards": [
{
"cardId": "CC-001",
"quantity": 1,
"zoneId": "loadout"
},
{
"cardId": "CC-045",
"quantity": 3,
"zoneId": "main"
}
]
}
],
"unresolved": [
"00000000-0000-4000-8000-000000000002",
"not-a-real-deck-id"
]
}
}{
"error": "Invalid request body",
"code": "VALIDATION_ERROR"
}{
"error": "API key required"
}{
"error": "Insufficient scope"
}{
"error": "Rate limit exceeded"
}{
"error": "Internal server error"
}