Packs
Change a pack's settings
Its name, its description (the line Minecraft shows under the name in the pack list) and whose AI Credits a generation in it spends, as the Studio's pack settings change them. Send only what changes; an empty description clears it.
Only the pack's owner, or an admin of its team, may: the credit source decides whose balance every collaborator's generations draw on. The slug never changes, so nothing that names the pack breaks.
/packs/{pack}Path parameters
packstringrequiredThe pack's slug, as returned by the packs endpoints.
Body
namestringmax 100 charactersThe display name.
descriptionstringWhat Minecraft shows under the name. Empty clears it.
creditSourcestringWhose credits a generation spends: the pack owner's, or whoever asked for it. Ignored on a team pack, which the team pays for.
Options: owner, prompter
Response · 200
Saved. The pack as it now stands.
packobjectrequiredThe pack.
slugstringrequiredThe pack's id. Every other path takes this.
namestringrequiredIts display name.
minecraftVersionstringrequiredThe version the pack is authored against.
rolestringrequiredWhether this key's owner owns the pack or was added to it.
Options: owner, collaborator
descriptionstringrequiredWhat Minecraft shows under the pack's name. Null when none is set.
creditSourcestringrequiredWhose AI Credits a generation in it spends: the owner's, or whoever asked for it. A team pack is paid by the team either way.
Options: owner, prompter
hasIconbooleanrequiredWhether the pack has an icon of its own.
createdAtstringrequiredISO 8601.
updatedAtstringrequiredISO 8601.
assetCountsobjectrequiredHow much the pack holds, by kind.
texturesintegerrequiredBlock textures, item sprites and GUI sheets.
modelsintegerrequired3D models.
iconsintegerrequiredFont glyphs.
soundsintegerrequiredSound events.
minVersionstringrequiredOldest Minecraft version this pack's contents will load on.
Error codes
Branch on error.code, never on the message.
invalid_json400The request body wasn't a JSON object.
invalid_request400Something in the body or query is wrong. message says what.
invalid_api_key401The key isn't one of ours, or it has been revoked.
missing_api_key401No Authorization: Bearer header was sent.
wrong_key_kind401An MCP key sent to the REST API, or an API key sent to the MCP server. Each only opens its own.
account_suspended403The account is suspended, so its keys open nothing. message says until when, if the suspension has an end date.
forbidden403Valid key, but not permitted to do this in this pack.
plan_required403The key is valid, but its account's plan does not include the API.
not_found404No such pack, asset or job.