Packs
Give an asset in game
What an asset's Give in game button does, for whoever is linked to receive a push (see POST /packs/{pack}/push): a model, block or item lands in their hands, a GUI or dialog opens, an icon or text effect is said in chat, a sound plays, an armour set is worn, a VFX is cast and a 3D shader object is placed in front of them. The command is built from the pack, never sent: you name the asset, by the kind and name the asset listing reports (shader/<id> and vfx/<id> for those two).
The pack itself has to be on their client for most of these to look right, so push it first. Free.
/packs/{pack}/assets/{kind}/{name}/givePath parameters
packstringrequiredThe pack's slug, as returned by the packs endpoints.
kindstringrequiredThe asset's kind from the listing, or shader or vfx.
Options: texture, model, font, sound, shader, vfx
namestringrequiredThe asset's name from the listing.
Body
versionstringFor a model or item: which Minecraft version's command syntax to use. The pack's own by default.
animationstringFor an animated model: which of its animations the placed copy plays.
scalenumberFor a model: how big the placed copy is, one of the Studio's size choices.
pagestringFor a dialog with pages: which page to open, by its page id. The first by default.
Response · 200
Done in game.
packstringrequiredThe pack.
statusstringrequiredAlways given.
playerstringrequiredWho it reached.
Error codes
Branch on error.code, never on the message.
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.
not_linked409Nobody is linked to receive a push: your code for this pack (GET /packs/{pack}/link) has not been claimed with /rp sync, and you are not on the test server with /permlink.
still_generating409The asset exists but isn't finished. Poll its job until it's ready.
push_failed502The pack was built but the server holding the player could not be reached, or refused it. message says which.