/cardsCatalogue des cartes
Parcours le catalogue, y compris les cartes inactives. active indique leur disponibilité dans les boosters ; les illustrations utilisent des URL absolues.
Card[]Filtres q, rarity, category, dimensionConnecte ton projet à MineCards. Une API simple pour explorer les cartes et retrouver tes données, en lecture seule.
https://minecards.vercel.app/api/v1Connecte-toi à MineCards, ouvre Paramètres → Tes clés API et donne un nom à ta connexion. Le code secret n’est affiché qu’une seule fois.
Dans ton environnement serveur, définis MINECARDS_API_KEY avec ce code, puis exécute cet exemple. La variable reste sur ton appareil ou ton serveur.
curl --get 'https://minecards.vercel.app/api/v1/cards' \
--header "Authorization: Bearer $MINECARDS_API_KEY" \
--data-urlencode 'q=creeper' \
--data-urlencode 'limit=25'Toutes les routes de données exigent l’en-tête Authorization: Bearer <clé>, y compris le catalogue et les profils publics. Une session navigateur ou un cookie ne remplace pas une clé.
Garde la clé côté serveur. Ne l’intègre pas dans le JavaScript public d’un site, une URL ou un dépôt. Si elle est exposée, révoque-la dans tes paramètres et crée-en une autre.
Tu peux conserver 5 clés actives et créer au maximum 20 clés par heure. La révocation coupe leur accès. Aucune clé ne peut acheter, échanger, ouvrir un booster ou modifier un compte.
Les listes acceptent page (1 à 1 000, défaut 1) et limit (1 à 100, défaut 25). Suis nextPage jusqu’à ce qu’il soit nul. hasMore signale des résultats supplémentaires ; la navigation s’arrête à la page 1 000. Aucun total n’est calculé.
{
"data": [],
"pagination": {
"page": 1,
"limit": 25,
"hasMore": false,
"nextPage": null
}
}Les filtres textuels sont limités à 100 caractères. q recherche un nom ou un identifiant de carte ; category et dimension filtrent les cartes. rarity accepte CHARBON, CUIVRE, FER, OR, DIAMANT ou NETHERITE. Les paramètres inconnus ou répétés sont refusés (400).
Les détails renvoient {data: objet} et n’acceptent pas les paramètres de pagination. Les dates sont au format ISO 8601 UTC ; les intervalles sont exprimés en secondes.
/cardsParcours le catalogue, y compris les cartes inactives. active indique leur disponibilité dans les boosters ; les illustrations utilisent des URL absolues.
Card[]Filtres q, rarity, category, dimension/cards/{id}Retrouve une carte du catalogue par son identifiant stable, par exemple creeper.
Card/me/cardsLes cartes disponibles du compte auquel appartient la clé, avec leur stock total et la répartition standard/holographique. Les cartes réservées ne sont pas disponibles.
OwnCard[]Filtres q, rarity, category, dimension/me/boostersConsulte les réserves, dons et prochaines disponibilités sans réclamer ni ouvrir de booster.
Boosters/profilesRecherche les profils visibles. Une collection privée n’est jamais exposée par cette liste.
Profile[]Filtres q/profiles/{id}Consulte les informations publiques d’un joueur. Un profil masqué ou inexistant renvoie 404.
Profile/arenasDécouvre les arènes publiées, leurs adversaires et leurs badges.
Arena[]/arenas/{id}Consulte les caractéristiques d’une arène sans lancer de bataille.
Arena/auctionsLe filtre status concerne le statut enregistré. Une enchère ACTIVE peut être échue mais encore en attente de règlement.
Auction[]Filtres status=ACTIVE | SOLD | EXPIRED | CANCELLED | ALL, rarity/auctions/{id}effectiveStatus tient compte de l’échéance ; settled confirme le règlement. Cette lecture ne déclenche aucun transfert.
Auction/leaderboardConsulte le classement public paginé.
LeaderboardEntry[]id, name, nameEn, description, descriptionEn, category, dimension, minecraftVersion, image, wikiUrl, rarity, attack, defense, power, active, isSecret
image est une URL absolue, ou une chaîne vide si le brouillon n’a pas encore d’illustration. Les textes sont fournis en français et en anglais. rarity peut être nulle si la carte n’est pas encore classée. active reste distinct de sa rareté.
power est la puissance entière de la carte, calculée avec attack + Math.floor(defense * 0.65). Ce calcul est déterministe, sans bonus aléatoire de combat. Elle est présente partout où une carte est renvoyée : catalogue, collection, vitrine de profil, enchères et défense d’arène.
La finition est purement visuelle : elle ne change ni l’identifiant, ni la rareté, ni les statistiques. finish vaut STANDARD ou HOLOGRAPHIC pour une carte de vitrine ou d’enchère ; le catalogue et la collection agrégée décrivent la carte de base sans ce champ.
{
"attack": 35,
"defense": 100,
"power": 100
}isSecret identifie une découverte Mythique. Ces cartes restent absentes de /cards et /cards/{id}, même pour leur propriétaire. Une carte obtenue peut apparaître dans /me/cards, une vitrine de profil ou une enchère autorisée. Son wikiUrl est null et sa finition est toujours HOLOGRAPHIC.
Le filtre rarity accepte MYTHIQUE sur les listes de cartes, de collection personnelle et d’enchères. Le catalogue public renvoie simplement une liste vide pour cette rareté.
cardId, quantity, standardQuantity, holographicQuantity, card: Card
Une ligne représente une carte de base. quantity reste le stock total disponible : standardQuantity + holographicQuantity. Les exemplaires réservés dans un échange ou une enchère sont exclus des trois compteurs.
{
"cardId": "creeper",
"quantity": 3,
"standardQuantity": 2,
"holographicQuantity": 1
}available, capacity, intervalSeconds, accruedAt, giftedStandard, giftedPremium, nextAt, premiumAvailable, premiumNextAt, premiumIntervalSeconds, specialAvailable, specialNextAt, specialIntervalSeconds, dailyPremiumAvailable, serverTime
Les délais classiques suivent le compte (600 s ou 180 s). Le booster MineCards+ à taux améliorés suit un délai de 18 000 s. Le booster Éclipse est réservé aux MineCards+ : délai de 43 200 s après chaque ouverture, sans cumul, avec une carte Diamant et une carte Netherite garanties sur 5 cartes. specialAvailable indique sa disponibilité ; specialNextAt est nul sans abonnement actif ou lorsque le booster est disponible. nextAt est nul si la réserve est pleine. dailyPremiumAvailable reste un alias de compatibilité de premiumAvailable.
id, username, bio, avatarId, bannerId, createdAt, premium, showCollection, showActivity
Le détail ajoute jusqu’à 6 showcaseCards et 3 showcaseBadges choisis par le joueur, collection (uniqueCards, totalCards) ou null, et activity (20 entrées maximum) ou null selon ses réglages. La vitrine affiche la finition holographique si le joueur en possède un exemplaire disponible. Les statistiques comptent toujours les cartes de base distinctes et le total des exemplaires. Aucun inventaire complet d’un autre joueur n’est renvoyé.
id, name, nameEn, description, descriptionEn, dimension, color, badge, champion, defense, score
champion contient id, username, usernameEn, avatarId et isNpc. Pour un PNJ, id et avatarId sont nuls. defense contient jusqu’à 3 cartes. Leurs attack, defense et power utilisent les statistiques enregistrées pour cette défense et peuvent différer du catalogue actuel ; badge peut être nul.
rank, id, username, avatarId, premium, score
score compte les cartes différentes disponibles dans la collection. Les joueurs privés ou bannis sont exclus du classement.
id, card, finish, startingPrice, currentBid, status, effectiveStatus, hasEnded, settled, createdAt, endsAt, settledAt, seller, highestBidder, bidCount
finish indique la finition de l’exemplaire vendu : STANDARD ou HOLOGRAPHIC, également présente dans card.finish. seller et highestBidder contiennent id, username et avatarId ; highestBidder peut être nul. effectiveStatus = SOLD ne garantit pas encore le transfert si settled = false.
Les modèles complets et les types sont décrits dans le fichier OpenAPI téléchargeable. OpenAPI 3.1
Le quota de 60 requêtes par minute est partagé par toutes les clés d’un même compte. Respecte Retry-After sur une réponse 429 et espace tes lectures. X-RateLimit-Limit et X-RateLimit-Remaining indiquent le quota ; X-RateLimit-Reset donne sa réinitialisation en secondes Unix. Les réponses utilisent Cache-Control: no-store.
| HTTP | Signification |
|---|---|
400 | Paramètre incorrect ou non reconnu. |
401 | Clé absente, invalide ou révoquée. |
404 | Ressource introuvable ou non visible. |
405 | Méthode non autorisée : utilise GET. |
429 | Quota dépassé : attends Retry-After. |
503 | Service indisponible : réessaie plus tard. |
{
"error": {
"code": "invalid_api_key",
"message": "A valid API key is required."
}
}OPTIONS répond aux vérifications CORS. Access-Control-Allow-Origin: * permet les intégrations, sans donner d’accès anonyme aux données. Les cookies ne servent pas à l’authentification de cette API.