resourcepack.ai
DOCS

Packs

Push a pack into Minecraft

What the Studio's Sync button does: builds the pack and sends it straight to a player in game, who gets it without rejoining. It reaches the key owner: their account if it is linked with /permlink and they are on the test server, otherwise whoever claimed this pack's /link code on a server running RP Engine. Anybody else is out of reach on purpose.

When nothing has changed since the last push to the same person in this session, nothing is built and status is unchanged; send force: true to push anyway. Free.

Emotes are pushed with the default player model rather than each player's own skin, which only the Studio can fetch. Press Sync in the Studio for skinned emotes.

POST/packs/{pack}/push

Path parameters

packstringrequired

The pack's slug, as returned by the packs endpoints.

Body

forcebooleandefault false

Push even when nothing has changed.

Response · 200

Delivered, or already there.

packstringrequired

The pack.

statusstringrequired

applied when it was sent, unchanged when they already had it.

Options: applied, unchanged

playerstringrequired

Who it reached, when the server said.

Error codes

Branch on error.code, never on the message.

invalid_api_key401

The key isn't one of ours, or it has been revoked.

missing_api_key401

No Authorization: Bearer header was sent.

wrong_key_kind401

An MCP key sent to the REST API, or an API key sent to the MCP server. Each only opens its own.

account_suspended403

The account is suspended, so its keys open nothing. message says until when, if the suspension has an end date.

forbidden403

Valid key, but not permitted to do this in this pack.

plan_required403

The key is valid, but its account is on Starter. The API needs a paid plan.

not_found404

No such pack, asset or job.

not_linked409

Nobody is linked to receive a push: no /link code for this pack has been claimed by a player of yours, and you are not on the test server with /permlink.

rate_limited429

Too many requests. message says how long to wait; see Rate limits.

push_failed502

The pack was built but the server holding the player could not be reached, or refused it. message says which.