कैटलॉग ऑथर API
आपके मॉड, मॉडपैक, मैप और पैक के लिए mca_live_ ऑथर की: ड्राफ़्ट, वर्शन अपलोड करना, पेज, कीमत और सेल्स स्टैटिस्टिक्स। API एंडपॉइंट, की की अनुमतियाँ, रिक्वेस्ट के उदाहरण, एरर और लिमिट।
13 अक्टूबर 2026 को अपडेट किया गया
साइट पर अपनी सामग्री के साथ लेखक जो कुछ भी करता है, वह सब आप अपनी स्क्रिप्ट या बिल्ड पाइपलाइन से कर सकते हैं: ड्राफ़्ट बनाना, नया वर्शन अपलोड करना, पेज एडिट करना, कीमत बदलना और सेल्स देखना। इसके लिए आपको लेखक की (author key) चाहिए — mca_live_… जैसी एक स्ट्रिंग।
की सिर्फ़ आपकी सामग्री के साथ काम करती है: वही जिनमें आप लेखक हैं। किसी और का काम आप इससे नहीं छू सकते, भले ही आपको उसका पता मालूम हो।
की
की आपकी प्रोफ़ाइल में, लेखक सेक्शन में जारी होती है। की को नाम दें और स्कोप चुनें; की एक बार दिखाई जाती है — इसे अपनी पाइपलाइन के सीक्रेट्स में सेव करें। अगर खो जाए, तो उसे रिवोक करें और नई जारी करें। आपके पास दस तक एक्टिव की हो सकती हैं। पासवर्ड या ईमेल बदलने पर अकाउंट की सभी की रिवोक हो जाती हैं — उसके बाद नई जारी करें।
| स्कोप | यह क्या देता है |
|---|---|
items:write | ड्राफ़्ट बनाना, लेखकत्व कन्फ़र्म करना, सामग्री को रिव्यू के लिए भेजना |
versions:write | अपलोड URL लेना और वर्शन रजिस्टर करना |
page:write | इमेज, पेज ड्राफ़्ट, और उसे रिव्यू के लिए भेजना |
pricing:write | सामग्री की कीमत |
stats:read | डाउनलोड, प्लेयर और सेल्स |
पाइपलाइन को सिर्फ़ वही दें जो उसे चाहिए: बिल्ड की आम तौर पर versions:write और stats:read के साथ रहती है।
सभी एंडपॉइंट https://api.millida.net/v2 के अंतर्गत हैं; की हेडर में जाती है:
Authorization: Bearer mca_live_…
मेरी सामग्री
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"
}
]
नई सामग्री
POST /catalog/author-api/items
{ "type": "MOD", "title": "My mod", "summary": "Briefly about the mod" }
सामग्री ड्राफ़्ट के रूप में दिखाई देती है। पता (slug) नाम से लिया जाता है; पहले से लिया हुआ पता 409 लौटाता है, साथ में खाली पते का सुझाव। बनाते समय कीमत (pricing, priceKopecks) सिर्फ़ उसी की से पास की जा सकती है जिसमें pricing:write स्कोप हो; वरना जवाब 403 MISSING_SCOPE होता है।
नया वर्शन
1. अपलोड 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. फ़ाइल अपलोड करें — uploadUrl पर PUT रिक्वेस्ट से, सीधे स्टोरेज पर, बीच में हमारे बिना:
curl -X PUT --upload-file my-pack-1.4.0.zip "$UPLOAD_URL"
3. वर्शन रजिस्टर करें:
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"
}
वर्शन ऑटोमैटिक रिव्यू में जाता है और उसके बाद प्लेयर्स को दिखता है। हर अपलोड एक नई फ़ाइल है: पहले से पब्लिश किए गए वर्शन को आप ओवरराइट नहीं कर सकते।
रिव्यू के लिए भेजना
नई सामग्री मॉडरेटर के बाद कैटलॉग में आती है। जब उसका कम से कम एक वर्शन हो, तो कन्फ़र्म करें कि काम आपका है और लाइसेंस आपने चुना है। यह अलग रिक्वेस्ट है: रिव्यू के लिए भेजना यह आपके लिए नहीं करता।
POST /catalog/author-api/items/my-pack/authorship
{ "ok": true }
फिर सामग्री सबमिट करें:
POST /catalog/author-api/items/my-pack/submit
{ "ok": true, "status": "PENDING" }
कन्फ़र्मेशन के बिना जवाब 400 “Confirm that the modpack is yours and the license was chosen by you” होता है; वर्शन के बिना 400 “Upload the modpack file first”।
पेज
PUT /catalog/author-api/items/my-pack/page
{ "title": "My modpack", "summary": "…", "descriptionMd": "## What's inside\n…" }
यह ड्राफ़्ट है: नया पेज रिव्यू पास करने तक प्लेयर्स पिछला पेज देखते हैं। डिस्क्रिप्शन की इमेज सिर्फ़ हम पर अपलोड होनी चाहिए; लिंक सिर्फ़ Millida पेजों पर होने चाहिए। पहले आइकन (iconUrl), स्क्रीनशॉट (gallery) और डिस्क्रिप्शन की इमेज अपलोड करें:
curl -H "Authorization: Bearer $MCA_KEY" -F "file=@icon.png" https://api.millida.net/v2/catalog/author-api/images
{ "url": "https://…/uploads/…/icon.png" }
PNG, JPG, WebP और AVIF 15 MB तक सपोर्टेड हैं; GIF नहीं। अपलोड के लिए page:write स्कोप चाहिए; जवाब में एक पता आता है जिसे आप पेज में डाल सकते हैं। रिव्यू के लिए भेजें:
POST /catalog/author-api/items/my-pack/page/submit
कीमत
PUT /catalog/author-api/items/my-pack/pricing
{ "pricing": "ONE_TIME", "priceKopecks": 49900 }
pricing | इसका मतलब |
|---|---|
FREE | मुफ़्त |
ONE_TIME | एक बार की खरीद, हमेशा के लिए एक्सेस |
SUBSCRIPTION | सब्सक्रिप्शन, महीने में एक बार चार्ज |
- रकमें कोपेक में हैं। पेड सामग्री की कम से कम कीमत 300 ₽ (
30000) है, स्किन और केप के लिए — 50 ₽ (5000); ज़्यादा से ज़्यादा 100,000 ₽ (10000000)। - प्लेटफ़ॉर्म हर सेल से 30% लेता है; बाकी आपके Millida वॉलेट में जाता है।
- सेल का पैसा तुरंत Millida के अंदर खर्च किया जा सकता है, लेकिन निकासी खरीद के 7 दिन बाद उपलब्ध होती है।
- पेड सामग्री की फ़ाइलें सिर्फ़ एक्सेस वाले डाउनलोड कर सकते हैं। लेखक के रूप में आपके पास हमेशा एक्सेस रहता है।
स्टैटिस्टिक्स
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 }]
}
}
एक साथ सभी सामग्री की सेल्स:
GET /catalog/author-api/sales
एरर
एरर जवाब में हमेशा message होता है — इसे आप किसी को जैसा है वैसा दिखा सकते हैं — और अक्सर code — जो स्क्रिप्ट में ब्रांचिंग के लिए सुविधाजनक है।
| स्टेटस | code | क्या हुआ |
|---|---|---|
| 401 | INVALID_KEY | की मौजूद नहीं, गलत फ़ॉर्मैट में, या नहीं मिली |
| 401 | REVOKED, EXPIRED | की रिवोक हो गई या एक्सपायर हो गई |
| 401 | OWNER_UNAVAILABLE | की के मालिक का अकाउंट ब्लॉक है |
| 403 | MISSING_SCOPE | की में ज़रूरी स्कोप नहीं है; लिस्ट scopes में है |
| 404 | — | सामग्री मौजूद नहीं या आपकी नहीं |
| 400 | PRICE_TOO_LOW, PRICE_TOO_HIGH, INVALID_PRICING | कीमत नियमों से बाहर है; सीमाएँ minKopecks और maxKopecks में हैं |
| 409 | UNDER_REVIEW | सामग्री मॉडरेटर रिव्यू में है — नई फ़ाइलें उनके जवाब के बाद |
| 429 | — | बहुत ज़्यादा रिक्वेस्ट, बाद में फिर कोशिश करें |
सीमाएँ
- हर की के लिए 120 रिक्वेस्ट प्रति मिनट।
- नई सामग्री — 10 प्रति घंटा, अपलोड URL और वर्शन — 30 प्रति घंटा (हर एक), पेज एडिट — 120 प्रति घंटा, इमेज — 60 प्रति घंटा, कीमत बदलना — 60 प्रति घंटा।