Skip to content
Pre vývojárov · Modpacky v launcheri

API autora katalógu

Autorský kľúč mca_live_ pre tvoje mody, modpacky, mapy a balíky: koncept, nahrávanie verzií, stránka, cena a štatistiky predaja. Endpointy API, oprávnenia kľúča, príklady požiadaviek, chyby a limity.

Aktualizované 13. októbra 2026

Všetko, čo autor robí so svojimi materiálmi na stránke, sa dá robiť aj z vlastného skriptu alebo build pipeline: vytvoriť koncept, nahrať novú verziu, upraviť stránku, zmeniť cenu a pozrieť si predaje. Na to potrebuješ autorský kľúč — reťazec ako mca_live_….

Kľúč funguje len s tvojimi materiálmi: s tými, kde si autorom. Cudziu prácu s ním nechytíš, ani keď poznáš jej adresu.

Kľúč

Kľúč sa vydáva v tvojom profile, v autorskej sekcii. Pomenuj kľúč a vyber scopes; kľúč sa zobrazí raz — ulož si ho do tajomstiev pipeline. Ak ho stratíš, zruš ho a vydaj nový. Aktívnych kľúčov môžeš mať až desať. Zmena hesla alebo e-mailu zruší všetky kľúče účtu — potom si vydaj nové.

ScopeČo povoľuje
items:writevytvoriť koncept, potvrdiť autorstvo, poslať materiál na kontrolu
versions:writezískať upload URL a zaregistrovať verziu
page:writeobrázky, koncept stránky a jeho odoslanie na kontrolu
pricing:writecena materiálu
stats:readstiahnutia, hráči a predaje

Daj pipeline len to, čo potrebuje: build kľúč zvyčajne vystačí s versions:write a stats:read.

Všetky endpointy sú pod https://api.millida.net/v2; kľúč ide do hlavičky:

Authorization: Bearer mca_live_…

Moje materiály

GET /catalog/author-api/items
[
  {
    "slug": "my-pack",
    "type": "MODPACK",
    "title": "My modpack",
    "status": "PUBLISHED",
    "moderationStatus": "PUBLISHED",
    "pricing": "ONE_TIME",
    "priceKopecks": 49900,
    "versionsCount": 12,
    "downloads": 5310,
    "publicUrl": "/modpacks/my-pack"
  }
]

Nový materiál

POST /catalog/author-api/items
{ "type": "MOD", "title": "My mod", "summary": "Briefly about the mod" }

Materiál sa objaví ako koncept. Adresa (slug) sa berie z názvu; obsadená adresa vráti 409 s návrhom voľnej. Cenu pri vytvorení (pricing, priceKopecks) možno poslať len s kľúčom, ktorý má scope pricing:write; inak odpoveď je 403 MISSING_SCOPE.

Nová verzia

1. Upload URL:

POST /catalog/author-api/items/my-pack/upload-url
{ "version": "1.4.0", "fileName": "my-pack-1.4.0.zip", "size": 734003200 }
{ "uploadUrl": "https://…", "storageKey": "catalog/packs/my-pack/…", "expiresIn": 3600 }

2. Nahraj súbor cez PUT požiadavku na uploadUrl — priamo do úložiska, bez nás v strede:

curl -X PUT --upload-file my-pack-1.4.0.zip "$UPLOAD_URL"

3. Zaregistruj verziu:

POST /catalog/author-api/items/my-pack/versions
{
  "version": "1.4.0",
  "storageKey": "catalog/packs/my-pack/…",
  "gameVersions": ["1.20.1"],
  "loaders": ["fabric"],
  "loaderVersion": "0.16.0",
  "changelog": "New quests"
}

Verzia ide na automatickú kontrolu a hráčom sa zobrazí až po nej. Každý upload je nový súbor: už publikovanú verziu prepísať nemôžeš.

Odoslanie na kontrolu

Nový materiál sa dostane do katalógu až po moderátorovi. Keď má aspoň jednu verziu, potvrď, že dielo je tvoje a že si vybral licenciu. Je to samostatná požiadavka: odoslaním na kontrolu to za teba nespraví.

POST /catalog/author-api/items/my-pack/authorship
{ "ok": true }

Potom materiál odošli:

POST /catalog/author-api/items/my-pack/submit
{ "ok": true, "status": "PENDING" }

Bez potvrdenia je odpoveď 400 „Confirm that the modpack is yours and the license was chosen by you“; bez verzie 400 „Upload the modpack file first“.

Stránka

PUT /catalog/author-api/items/my-pack/page
{ "title": "My modpack", "summary": "…", "descriptionMd": "## What's inside\n…" }

Toto je koncept: hráči vidia predchádzajúcu stránku, kým nová neprejde kontrolou. Obrázky v popise sa musia nahrávať len k nám; odkazy musia viesť len na stránky Millida. Najprv nahraj ikonu (iconUrl), screenshoty (gallery) a obrázky v popise:

curl -H "Authorization: Bearer $MCA_KEY" -F "file=@icon.png" https://api.millida.net/v2/catalog/author-api/images
{ "url": "https://…/uploads/…/icon.png" }

Podporované sú PNG, JPG, WebP a AVIF do 15 MB; GIF nie. Upload vyžaduje scope page:write; odpoveď obsahuje adresu, ktorú môžeš vložiť do stránky. Odošli na kontrolu:

POST /catalog/author-api/items/my-pack/page/submit

Cena

PUT /catalog/author-api/items/my-pack/pricing
{ "pricing": "ONE_TIME", "priceKopecks": 49900 }
pricingČo znamená
FREEzadarmo
ONE_TIMEjednorazový nákup, prístup navždy
SUBSCRIPTIONpredplatné, strháva sa raz za mesiac
  • Sumy sú v kopejkách. Minimálna cena plateného materiálu je 300 ₽ (30000), pre skiny a plášte — 50 ₽ (5000); maximum je 100 000 ₽ (10000000).
  • Platforma si z každého predaja berie 30 %; zvyšok ide do tvojej peňaženky Millida.
  • Peniaze z predaja môžeš minúť v Millide hneď, ale výber je dostupný 7 dní po nákupe.
  • Súbory plateného materiálu môžu stiahnuť len tí, čo majú prístup. Ty ako autor máš prístup vždy.

Štatistiky

GET /catalog/author-api/items/my-pack/stats
{
  "versions": [{ "version": "1.4.0", "downloads": 312, "reviewStatus": "APPROVED" }],
  "players": { "players": 1204, "playersRecent": 380, "days": [{ "day": "2026-09-24", "players": 41 }] },
  "sales": {
    "totalKopecks": 998000,
    "netKopecks": 698600,
    "count": 20,
    "refundedCount": 0,
    "holdDays": 7,
    "last30d": [{ "day": "2026-09-24", "count": 3, "netKopecks": 104790 }]
  }
}

Predaje naprieč všetkými materiálmi naraz:

GET /catalog/author-api/sales

Chyby

Odpoveď s chybou vždy obsahuje message — môžeš ju ukázať človeku tak, ako je — a často aj code — ktorý sa hodí na vetvenie v skripte.

StavcodeČo sa stalo
401INVALID_KEYkľúč chýba, je zle naformátovaný alebo sa nenašiel
401REVOKED, EXPIREDkľúč bol zrušený alebo vypršal
401OWNER_UNAVAILABLEúčet majiteľa kľúča je zablokovaný
403MISSING_SCOPEkľúču chýba potrebný scope; zoznam je v scopes
404—materiál neexistuje alebo nie je tvoj
400PRICE_TOO_LOW, PRICE_TOO_HIGH, INVALID_PRICINGcena je mimo pravidiel; hranice sú v minKopecks a maxKopecks
409UNDER_REVIEWmateriál je na kontrole u moderátora — nové súbory až po jeho odpovedi
429—priveľa požiadaviek, skús neskôr

Limity

  • 120 požiadaviek za minútu na kľúč.
  • Nové materiály — 10 za hodinu, upload URL a verzie — po 30 za hodinu, úpravy stránky — 120 za hodinu, obrázky — 60 za hodinu, zmeny ceny — 60 za hodinu.