OverwolfSpire Codex artık Overwolf’ta. Daha fazla bilgi →

Slay the Spire 2 (STS2) Geliştiriciler

Spire Codex verileriyle araçlar, botlar ve içerik oluşturun. Her şey ücretsiz ve açık.

İpucu Bileşeni

Herhangi bir web sitesine kartlar, kalıntılar ve iksirler için Wowhead tarzı üzerine gelince açılan ipuçları ekleyin. Tek bir script etiketi, sıfır bağımlılık.

Kurulum

<script src="https://spire-codex.com/widget/spire-codex-tooltip.js"></script>

Söz dizimi

[[Strike]]Kart ipucu (varsayılan tür)
[[card:Bash]]Kart (açık)
[[relic:Burning Blood]]Kalıntı
[[potion:Fire Potion]]İksir
[[character:Ironclad]]Karakter
[[monster:Jaw Worm]]Canavar
[[power:Strength]]Güç
[[event:Neow]]Etkinlik
[[encounter:Lagavulin]]Karşılaşma
[[enchantment:Sharp]]Büyü
[[keyword:Exhaust]]Anahtar kelime
[[orb:Lightning]]Küre
[[affliction:Bound]]Rahatsızlık
[[achievement:Minimalist]]Başarım

JavaScript API'si

SpireCodex.scan()Sayfayı yeni [[...]] kalıpları için yeniden tarar (SPA'lar için)
SpireCodex.scan(element)Belirli bir DOM öğesini tarar

Değişiklik Günlüğü Bileşeni

Sürüm geçişiyle Spire Codex güncelleme geçmişini gösteren kompakt, etkileşimli bir değişiklik günlüğü görüntüleyici gömün.

Kurulum

<div id="scx-changelog"></div>
<script src="https://spire-codex.com/widget/spire-codex-changelog.js"></script>
data-version="1.0.4"Belirli bir sürümü gösterir (varsayılan: en son)

REST API

Oyunun tüm veritabanına herkese açık bir REST API üzerinden erişilebilir. Kimlik doğrulama gerekmez: IP başına web sitesi kotası gezinmeyi ve ara sıra yapılan çağrıları karşılar; anahtarsız API kullanımı aşağıdaki temel oranı alır. Betikler ve araçlar için bir API anahtarı oluşturun ve X-API-Key başlığı olarak gönderin. Profil sayfanızdan bir tane oluşturun. Bir anahtar, isteklerinizi IP yerine kimliğe göre gruplar (ağlar arasında kararlıdır, aynı NAT arkasındaki diğer kullanıcılarla asla paylaşılmaz) ve kullanım takibi sağlar; katman sınırı uç nokta başına uygulanır. Yanıtlar, istekleri ayarlayabilmeniz için X-RateLimit-Remaining / X-RateLimit-Reset taşır.

Hız sınırları

Web Sitesi Trafiği300/minuteIP başına
API anahtarı yok15/minute
Kayıtlı Kullanıcı60/minuteprofilinizden oluşturun
Akademik100/minutetalep üzerine verilir
Ücretli120/minutedestekçiler

Tüm sınırlar uç nokta başına sayılır: tablo her rotadaki kotanızdır, küresel bir havuz değil. Birkaç ağır uç noktanın, anahtardan bağımsız olarak her çağırana uygulanan kendi bütçesi vardır (aşağıdaki koşu dışa aktarımına bakın; dil ZIP'i saatte 10). X-RateLimit-Remaining'i izleyin ve 429'da geri çekilin (Retry-After ayarlanır).

Toplu koşu dışa aktarımı

GET /api/exports/runs?limit=1000&start=2026-06-01T00:00:00Z

Resmi koşuları JSONL olarak akıtır, satır başına bir koşu.

limit Sayfayı sınırlar; dolu bir sayfa bir sonraki için imleç döndürür.
start / end Yarı açık bir gönderim zamanı penceresiyle sınırlar. Sayfalarken sabit tutun; imleç bunları içermez.

Bu uç noktanın saatte 120 kredilik kendi bütçesi vardır ve anahtarlı ya da anonim tüm çağıranlar tarafından paylaşılır: sayfalanmış bir istek 1 kredi, sınırsız bir çekim (limit yok) 60 kredi tutar. Bu yüzden sürekli eşitleme en iyi ~30 sn aralıklı sayfalanmış çekimlerle çalışır; 429'da Retry-After'a uyun ve aynı imleçle devam edin.

Tüm veriyi mi istiyorsunuz? Parametresiz bir çağrı, günde bir kez yeniden oluşturulan statik dosyaya, /exports/runs-latest.jsonl.gz, aynı satır biçimiyle yönlendirir; /api/exports/runs/manifest ne zaman üretildiğini ve kaç koşu içerdiğini bildirir. Her satırda gönderen hesabın sabit takma kimliği player_token bulunur; anonim koşularda null olur.

Sadece bir sürüm mü? /api/exports/runs?version=v0.111.0, manifestin versions haritasındaki sürüme özel statik dosyaya yönlendirir: /exports/runs-v0.111.0.jsonl.gz; limit ve cursor ile birleştirilirse bunun yerine tek bir sürümü sayfalar.

Temel URL

https://spire-codex.com

Beta kanalı (Steam beta dalındaki yayınlanmamış içerik): bunu herhangi bir varlık uç noktasına ekleyin: ?channel=beta. Geçerli beta sürümü: /api/beta/version. Main ile tam fark: /api/beta/diff.

The community stats pages were reorganized: /community-stats, /leaderboards/metrics, /charts, and the /meta page now live under /stats, /leaderboards/elo is /top-players, and run submission moved to /runs/submit. Old URLs redirect.

Uç noktalar

Tam etkileşimli belgeler (arka uçtan otomatik üretilir, her zaman güncel): /docs

Varlıklar

GET/api/cardsTüm kartlar (filtre: color, type, rarity, keyword, tag, spawns, search)
GET/api/cards/{id}Tek kart
GET/api/charactersTüm karakterler
GET/api/characters/{id}Tek karakter
GET/api/relicsTüm kalıntılar (filtre: rarity, pool, ancient, search)
GET/api/relics/{id}Tek kalıntı
GET/api/potionsTüm iksirler (filtre: rarity, pool, search)
GET/api/potions/{id}Tek iksir
GET/api/monstersTüm canavarlar (filtre: type, search)
GET/api/monsters/{id}Tek canavar
GET/api/powersTüm güçler (filtre: type, stack_type, search)
GET/api/powers/{id}Tek güç
GET/api/eventsTüm olaylar (filtre: type, act, search)
GET/api/events/{id}Tek olay
GET/api/encountersTüm karşılaşmalar (filtre: room_type, act, search)
GET/api/encounters/{id}Tek karşılaşma
GET/api/enchantmentsTüm büyüler
GET/api/enchantments/{id}Tek büyü
GET/api/keywordsKart anahtar sözcükleri
GET/api/keywords/{id}Tek anahtar sözcük
GET/api/intentsTüm niyet türleri
GET/api/intents/{id}Tek niyet
GET/api/orbsTüm küre türleri
GET/api/orbs/{id}Tek küre
GET/api/afflictionsIllet türleri
GET/api/afflictions/{id}Tek illet
GET/api/modifiersÖzel mod değiştiricileri
GET/api/modifiers/{id}Tek değiştirici
GET/api/achievementsTüm başarımlar
GET/api/achievements/{id}Tek başarım
GET/api/badgesTüm rozetler
GET/api/badges/{id}Tek rozet
GET/api/epochsTüm çağlar
GET/api/epochs/{id}Tek çağ
GET/api/storiesTüm hikâyeler
GET/api/stories/{id}Tek hikâye
GET/api/actsTüm perdeler
GET/api/acts/{id}Tek perde
GET/api/ascensionsTüm yükselme seviyeleri
GET/api/ascensions/{id}Tek yükselme
GET/api/glossaryTüm sözlük terimleri
GET/api/glossary/{id}Tek terim

Toplamalar ve Aramalar

GET/api/statsVarlık sayıları
GET/api/ancient-poolsKoşullarıyla tüm kadim kalıntı havuzları
GET/api/ancient-pools/{id}Tek bir kadimin havuzları
GET/api/unlocksÇağ bağlamıyla türe göre gruplanmış açılabilir varlıklar
GET/api/history/{entity_type}/{entity_id}Değişiklik günlüklerinden varlık başına sürüm geçmişi
GET/api/update-history/{entity_type}/{entity_id}Oyun yaması bazında varlık başına güncelleme geçmişi
GET/api/names/{entity_type}/{entity_id}Bir varlık için diller arası ad arama
GET/api/searchVarlıklar, referans girdileri, mekanikler, rehberler, haberler, site sayfaları ve görsel dosyaları kapsayan, yazım hatasına toleranslı birleşik site araması (q, lang)
GET/api/search/semanticMeaning-based entity search, same item shape as /api/search (q, limit); empty when the feature is off
GET/api/merchant/configMerchant pricing config extracted from the game
GET/api/mechanics/constantsMechanics constants: room odds, gold ranges, ascension tuning
GET/api/mechanics/sectionsIndex of the mechanics pages
GET/api/mechanics/sections/{slug}One mechanics page as markdown with template tokens resolved
GET/api/changelogsTüm değişiklik günlükleri
GET/api/changelogs/recent-additionsAna sayfa şeridi için öne çıkarılan en yeni varlıklar
GET/api/changelogs/{tag}Etikete göre tek değişiklik günlüğü (ör. v1.0.20)
GET/api/newsSteam duyuruları (kalıcılık için yerel olarak yansıtılır)
GET/api/news/{gid}Temizlenmiş gövdeli tek haber makalesi
GET/api/versionsSürüm seçici için kullanılabilir beta veri sürümleri
GET/api/news/codexSpire Codex site news, newest first
GET/api/news/codex/{slug}One site news entry
GET/api/announcementsActive site banner messages

Languages

GET/api/languagesAvailable languages with display names
GET/api/translationsTranslation maps for filter values and UI strings (lang)
GET/api/localizationsThe game's own localization tables as ICU MessageFormat, all of them or the ones named in ?tables= (max 50; unknown names are 404)
GET/api/localizations/tablesNames of the available localization tables
GET/api/localizations/{table}One localization table

Topluluk ve Gönderimler

GET/api/guidesTüm rehberler (filtre: category, difficulty, tag, search)
GET/api/guides/{slug}İşlenmiş markdown ile tek rehber
POST/api/guidesRehber gönder (Discord webhook, hız sınırlı)
POST/api/runsSubmit a run for community stats and leaderboards. The run is attached to an account only with Authorization: Bearer <jwt>; a bare steam_id is kept as a hint
POST/api/runs/claimAttach the signed-in account to previously-submitted anonymous runs by hash
GET/api/runs/listGönderilen koşulara filtre ve sayfalamayla göz atın (gönderenin kazanma oranına göre ascension_min/ascension_max ve winrate_min/winrate_max dahil, yani içerik dilimleri) Her satırda gönderen hesabın sabit takma kimliği player_token bulunur; anonim koşularda null olur. total_is_lower_bound is true when the exact count ran out of time and total is a capped lower bound.
GET/api/runs/leaderboardRun leaderboards (fastest, highest_ascension); filter by character, players, game_mode, ascension_min, winrate_min (the content brackets), build_id
GET/api/runs/shared/{run_hash}Hash ile tek gönderilmiş koşu (hız sınırlı)
GET/api/runs/statsToplu topluluk istatistikleri (character, ascension, username ile filtreleyin)
GET/api/runs/community-statsThe /stats hub dataset: event decision splits, deadliest encounters, win rates by ascension/character, records. Takes the same bracket keys as the metrics tables; an unknown bracket returns HTTP 400
GET/api/charts/meta/stats/charts gezgini için grafik kaydı: kullanılabilir grafikler, filtreler, bölmeler ve koşu istatistikleri
GET/api/charts/{chart}One pre-aggregated chart (filter: players, ascension, game_mode, username, split, bracket=a10|wr30|wr50|wr75, build_id, plus per-chart params). A saved chart id from the chart builder returns that saved chart instead
POST/api/chartsSave a chart spec to your profile (bearer token, 100 per account)
PATCH/api/charts/{id}Update the title, visibility or spec of your own saved chart; DELETE removes it
GET/api/charts/mineYour saved charts, newest first (bearer token)
GET/api/charts/publicNewest public saved charts (limit)
GET/api/tierlists/shared/{share_id}Public read-only view of a shared tier list
GET/api/beta/diffGeçerli betanın varlık türü başına neler eklediği, değiştirdiği ve kaldırdığı; her BETA etiketini besler
GET/api/beta/versionGeçerli beta sürümü
GET/api/runs/scores/{type}Codex Score + Codex Elo per entity (cards/relics/potions); ?bracket= grades within a run bracket (a10|wr30|wr50|wr75, a game version, or any metrics bracket; unknown is HTTP 400) (the in-game mod sends the same via ?stat_filter=a10|a10_wr30|a10_wr50|a10_wr75); relics accept ?act=1|2|3 to rank by acquisition act; ?character= switches to that character's slice (entries gain a scope field)
GET/api/runs/leaderboard/seed-rankTek bir tohum için tohum + küresel sıralama (?seed=&steam_id=); kazanan koşu olmadan sıralama alanları null olur
POST/api/auth/steam/ticketBir Steamworks web kimlik doğrulama biletini site JWT'siyle değiştir (oyun içi sessiz oturum açma); sunucuda Steam anahtarı olana kadar 503
GET/api/runs/metrics/{type}Dense metrics table for cards/relics/potions, one row per entity: Codex Score, win_rate with a Wilson 95% win_rate_ci, hold_rate, lift and lift_n over the floor-adjusted expectation (null under 20 seats), Codex Elo and pick_rate from free choice screens for cards and relics, a wax block on relics (Toy Box copies split out), and used/use_rate on potions. Counts are per seat, so a 4P run is four seats; the response carries total_runs, total_seats, total_wins and data_through. ?bracket=all|solo|2p|3p|4p|a10|daily|custom|wr30|wr50|wr75 or a composite like solo:standard; ?character= switches to that character's slice (rows gain per-character Elo and Pick%). An unknown bracket returns HTTP 400
GET/api/runs/metrics/shopsShop shelf table, one row per card, relic or potion: seen, bought, buy_rate, and the buyers' win_rate, win_rate_ci and lift. Same bracket keys as the other metrics tables
GET/api/runs/metrics/eventsEvent option table: chosen, share of that event's choices, win_rate, win_rate_ci and lift. Same bracket keys as the other metrics tables
GET/api/runs/metrics/campfiresRest-site choice table (rest, smith, and the rest) with a localized name per ?lang=: chosen, share, low_hp_share, win_rate, win_rate_ci and lift. Same bracket keys as the other metrics tables
GET/api/runs/versionsGönderilmiş koşusu olan farklı oyun derleme kimlikleri
GET/api/runs/leaderboard/rank/{run_hash}Rank of one winning run within its ladder (category)
GET/api/leaderboards/eloTop players by Codex Elo over solo A10 standard runs, refreshed nightly; powers /top-players (limit, min_runs)
GET/api/runs/stats/{type}/{id}Community stats for one card, relic or potion, with per-bracket and per-character splits
GET/api/runs/stats/{type}/{id}/historyDaily Codex Score and Elo history for one entity (bracket=all|a10|wr30|wr50|wr75)
GET/api/runs/top/{type}/{character}Most-picked entities of a type for one character (limit)
GET/api/runs/encounter-statsPer-encounter appearances, fatal rate, avg damage and turns, per character too (act, room_type, multiplayer, bracket, build_id, encounter, page, limit)
GET/api/runs/encounter-seriesThe given encounters (max 20) rolled up per bracket and per recent game version
GET/api/runs/pulseCommunity run and win totals plus data_through
GET/api/runs/snapshot-statusWhether the stats are loaded or rebuilding
GET/api/runs/{run_hash}/similarNearest winning solo decks to a run and what they took that it didn't
GET/api/runs/archetypesCommunity deck archetypes, clustered nightly
GET/api/runs/encounter-buildsWhich archetypes die to an encounter and which walk past it (encounter)
GET/api/runs/deck-advisorWhat the winning decks nearest a partial deck carry that it doesn't yet (character, cards, relics)
GET/api/runs/pick-coachNearest archetypes for a partial deck and a score per offered card (character, cards, relics, offer, target)
GET/api/pairings/{item_type}/{item_id}Cards, relics and potions that show up in the same runs as this item
GET/api/draft-recs/{item_type}/{item_id}Cards players most often draft when they already hold this item
POST/api/draft-adviceRank the offered cards for the current deck
GET/api/replaysRuns with a replay to watch; same filters and row shape as /api/runs/list plus replay_url
GET/api/replays/summaryHow many replays are watchable, overall and per character
GET/api/runs/{run_hash}/replayThe stored replay journal as gzip; POST uploads one for a run you own, DELETE removes it
GET/api/players/{username}/insightsOne player's public insights with community comparison; 404 for unknown or private profiles
GET/api/players/{username}/statsBir oyuncunun kendi kart, kalıntı, iksir, olay, dükkan ve kamp ateşi istatistikleri ile kişisel Lift; insights ile aynı filtreler ve gizlilik
GET/api/presence/activeLive runs from the in-game mod, deepest first
GET/api/presence/{steam_id}One player's live run; 404 when they aren't in one
GET/api/thanksGitHub contributors, special thanks, and public supporters
GET/api/mod/latestLatest mod build and the game version it was verified against
GET/api/rate-limitsThe public rate-limit tiers
POST/api/feedbackGeri bildirim gönder (Discord webhook)

Toplu İndirmeler

GET/api/exports/runsResmi koşuların JSONL akışı (limit/start/end/cursor sayfalama; saatte 120 kredilik kendi bütçesi, yukarıdaki toplu koşu dışa aktarımına bakın)
GET/api/exports/runs/manifestWhen the daily full run dump was generated and how many runs it holds
GET/api/exports/{lang}Tek bir dil için tüm varlık JSON'larının ZIP'i (saatte 10)
GET/api/imagesGörsel galerisi kategorileri
GET/api/images/searchDosya adına göre görsel ara
GET/api/images/game/{version}/{category}/browseTam bir varlık dökümünün klasörlerinde sayfalı gezinme (path, offset, limit)
GET/api/images/game/{version}/{category}/downloadBir döküm klasörünün dosyalarının ZIP'i (path; en fazla 2000 dosya)

Çoklu Dil

Bu sorgu parametresini herhangi bir uç noktaya ekleyin: ?lang=jpn. 15 dil desteklenir:

eng, deu, esp, fra, ita, jpn, kor, pol, ptb, rus, spa, tha, tur, zhs, zht

Hızlı Başlangıç

cURL

curl https://spire-codex.com/api/cards?color=ironclad&rarity=Rare

Python

import requests
cards = requests.get("https://spire-codex.com/api/cards", params={"color": "ironclad"}).json()
for card in cards:
    print(f"{card['name']} - {card['type']} ({card['rarity']})")

JavaScript

const res = await fetch("https://spire-codex.com/api/relics?pool=ironclad");
const relics = await res.json();
console.log(relics.map(r => r.name));

Mini Kart Sprite'ı

Oyunun koşu içi kart küçük resmini (Koşu Geçmişi / Oyun Bitti ekranlarında kullanılır) herhangi bir web projesinde yeniden oluşturun. CSS mask-image ile birleştirilmiş altı PNG katmanı; canvas yok, WebGL yok, yalnızca renklendirilmiş sprite'lar. Renkler doğrudan derlemesi çözülmüş oyun kodundan gelir: NTinyCard, CardPoolModel.DeckEntryCardColor.

Önizleme

Ironclad / Attack / Common
Silent / Skill / Uncommon
Defect / Power / Rare
Necrobinder / Skill / Rare
Regent / Attack / Uncommon
Curse
Event
Quest

Sprite varlıkları

10 PNG'nin tamamı CORS etkin olarak sunulur; her dosya adının önüne temel URL'yi koyun. Her sprite 128×128, RGBA, saydam üzerine beyazdır (CSS ile renklendirilmek için).

https://spire-codex.com/static/images/ui/run_history_card/
  card_back.png           ← tinted by pool
  desc_box.png            ← dark description area (render at 25% opacity)
  attack_portrait.png     ← portrait per card type
  attack_portrait_shadow.png
  skill_portrait.png
  skill_portrait_shadow.png
  power_portrait.png
  power_portrait_shadow.png
  banner_shadow.png       ← render at 60% opacity
  banner.png              ← tinted by rarity

Havuz (kart arkası) renkleri

Kaynak: CardPoolModel.DeckEntryCardColor. Bunları /api/cards tarafından döndürülen color alanıyla eşleştirin.

ironclad#D62000
silent#5EBD00
defect#3EB3ED
necrobinder#CD4EED
regent#E36600
colorless#A3A3A3
event#A3A3A3
curse#585B61
quest#24476A
status#FFFFFF
token#FFFFFF

Nadirlik (afiş) renkleri

Kaynak: NTinyCard.GetBannerColor. rarity alanıyla eşleştirin.

Basic#9C9C9C
Starter#9C9C9C
Common#9C9C9C
Uncommon#64FFFF
Rare#FFDA36
Curse#E669FF
Event#13BE1A
Ancient#13BE1A
Quest#F46836
Status#9C9C9C
Token#9C9C9C

En basit HTML + CSS tarifi

Portre dosya adı: attack = Saldırı kartları, power = Güç kartları, skill = diğer her şey (Beceri, Durum, Lanet, …)

<div class="tiny-card" style="
  --back: #D62000;   /* pool color, Ironclad */
  --banner: #FFDA36; /* rarity color, Rare */
  position: relative;
  width: 64px;
  height: 64px;
">
  <!-- 1. card back, tinted by pool -->
  <div class="layer" style="
    background-color: var(--back);
    mask: url(https://spire-codex.com/static/images/ui/run_history_card/card_back.png) center/contain no-repeat;
    -webkit-mask: url(https://spire-codex.com/static/images/ui/run_history_card/card_back.png) center/contain no-repeat;
  "></div>

  <!-- 2. description box -->
  <img class="layer" src="https://spire-codex.com/static/images/ui/run_history_card/desc_box.png" style="opacity:.25">

  <!-- 3. portrait shadow + portrait (attack/skill/power) -->
  <img class="layer" src="https://spire-codex.com/static/images/ui/run_history_card/attack_portrait_shadow.png">
  <img class="layer" src="https://spire-codex.com/static/images/ui/run_history_card/attack_portrait.png"
       style="filter: brightness(.95) sepia(.15)">

  <!-- 4. banner shadow + banner tinted by rarity -->
  <img class="layer" src="https://spire-codex.com/static/images/ui/run_history_card/banner_shadow.png" style="opacity:.6">
  <div class="layer" style="
    background-color: var(--banner);
    mask: url(https://spire-codex.com/static/images/ui/run_history_card/banner.png) center/contain no-repeat;
    -webkit-mask: url(https://spire-codex.com/static/images/ui/run_history_card/banner.png) center/contain no-repeat;
  "></div>
</div>

<style>
  .tiny-card .layer {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: contain;
  }
</style>

React bileşeni

Doğrudan kullanılabilir React sürümü. Kaynak: TinyCard.tsx

import TinyCard from "./TinyCard";

// Feed in the three fields from /api/cards:
<TinyCard color="ironclad" type="Attack" rarity="Rare" className="w-16 h-16" />

Tam kart görselleri

/api/cards içindeki her kart, oyunun işlediği tam kart için (çerçeve, çizim, afiş ve metin, tam olarak oyundaki gibi) kullanıma hazır iki URL içerir. Kadim kartlar animasyonlu webp'dir.

  • image_url_card — Temel kart. İşlenmiş görseli olmayan tek kart (mad_science) için null; orada image_url'ye (portre çizimi) geri dönün.
  • image_url_card_upg — Yükseltilmiş kart. Kartın yükseltmesi yoksa null.
// e.g. /api/cards/bash
{
  "id": "BASH",
  "image_url":          "/static/images/cards/bash.webp",  // portrait art
  "image_url_card":     "https://cdn.spire-codex.com/cards-full/stable/bash.webp",
  "image_url_card_upg": "https://cdn.spire-codex.com/cards-full/stable/bash_upg.webp"
}

Yerelleştirilmiş görseller bir dil alt klasöründe bulunur, örneğin: cards-full/stable/jpn/bash.webp. 15 dilin tamamı mevcuttur.

Büyülü kart görselleri

Her kart ayrıca kurallara uygun olarak alabileceği her büyüyle, oyun içi büyü önizlemesinin çizdiği gibi (rozet, miktar ve eklenen kart metni) işlenir. URL'ler tek bir kalıbı izler:

https://cdn.spire-codex.com/cards-full/stable/ench/{enchantment}/{card}.webp        // English, base
https://cdn.spire-codex.com/cards-full/stable/ench/{enchantment}/{card}_upg.webp    // English, upgraded
https://cdn.spire-codex.com/cards-full/stable/{lang}/ench/{enchantment}/{card}.webp // localized

// e.g. Anger with Corrupted, in Japanese:
https://cdn.spire-codex.com/cards-full/stable/jpn/ench/corrupted/anger.webp
  • {enchantment} / {card}: /api/enchantments ve /api/cards'tan küçük harfli kimlikler (ör. sharp, corrupted, sown).
  • Yalnızca geçerli kart ve büyü kombinasyonları vardır (dışa aktarım oyunun kendi uygulanabilirlik kurallarını kullanır), bu yüzden geçersiz bir kombinasyon 404 döner. /api/enchantments üzerindeki card_type / applicable_to alanları hangi kartların uygun olduğunu açıklar.
  • Her kombinasyon için temel ve yükseltilmiş varyantlar 14 dilin tamamında, büyü metni tamamen yerelleştirilmiş olarak mevcuttur.

Veri Dışa Aktarımları

Tüm oyun verilerini tek bir ZIP arşivi olarak indirin. Her arşiv, her varlık türü için (kartlar, kalıntılar, canavarlar, güçler ve daha fazlası) JSON dosyaları içerir.

Etkileşimli API Belgeleri

Deneme özelliğiyle eksiksiz Swagger/OpenAPI belgeleri.

API Belgelerini Aç →

Açık Kaynak

Spire Codex açık kaynaklıdır. Veri çıkarma hattı, API ve ön uç GitHub'da mevcuttur.

GitHub'da görüntüle →