Skip to content
開発者向け · ランチャーのModパック

カタログ作者向けAPI

MOD、Modパック、マップ、パック用のmca_live_作者キーについて説明します。下書き、バージョンのアップロード、ページ、価格、販売統計を扱います。APIエンドポイント、キーの権限、リクエスト例、エラー、制限について解説します。

更新日 2026年10月13日

サイト上で作者が素材に対して行える操作は、すべて自分のスクリプトやビルドパイプラインから実行できます。下書きの作成、新しいバージョンのアップロード、ページの編集、価格の変更、売上の確認が可能です。そのためには作者キーが必要です。mca_live_… のような文字列です。

キーは自分の素材、つまり自分が作者である素材に対してのみ機能します。アドレスを知っていても、他人の作品に触れることはできません。

キー

キーはプロフィールの作者セクションで発行します。キーに名前を付け、スコープを選択してください。キーは一度だけ表示されるので、パイプラインのシークレットに保存してください。紛失した場合は、失効させて新しいキーを発行します。有効なキーは最大10個まで保持できます。パスワードやメールアドレスを変更すると、アカウントのすべてのキーが失効します。その後、新しいキーを発行してください。

スコープ付与される権限
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"
}

バージョンは自動審査に送られ、通過後にプレイヤーへ公開されます。各アップロードは新しいファイルです。公開済みのバージョンを上書きすることはできません。

審査への提出

新しい素材は、モデレーターの確認後にカタログへ掲載されます。バージョンが1つ以上ある状態で、作品が自分のものであること、およびライセンスを自分が選択したことを確認してください。これは別のリクエストです。審査への提出だけではこの確認は行われません。

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サブスクリプション、毎月1回課金
  • 金額はコペイカ単位です。有料素材の最低価格は 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発生内容
401INVALID_KEYキーが欠落している、形式が不正、または見つからない
401REVOKED、EXPIREDキーが失効または期限切れ
401OWNER_UNAVAILABLEキーの所有者のアカウントがブロックされている
403MISSING_SCOPEキーに必要なスコープがない。一覧は scopes に含まれる
404—素材が存在しない、または自分のものではない
400PRICE_TOO_LOW、PRICE_TOO_HIGH、INVALID_PRICING価格がルールの範囲外。上限と下限は minKopecks と maxKopecks に含まれる
409UNDER_REVIEW素材がモデレーターの審査中。新しいファイルはその回答後に
429—リクエストが多すぎます。後で再試行してください

制限

  • キーごとに1分あたり120リクエスト。
  • 新しい素材は1時間あたり10件、アップロードURLとバージョンはそれぞれ1時間あたり30件、ページ編集は1時間あたり120件、画像は1時間あたり60件、価格変更は1時間あたり60件。