resourcepack.ai
DOCS

Distribution

Change a pack's distribution

The Distribution tab's settings. enabled: false stops every bound server handing the pack out and takes down its stable url at once; true serves the live release again, with nothing rebuilt. versions chooses what the next release is built for (from availableVersions; anything older than minVersion is refused), and defaultVersion which of them the stable url serves. Choosing versions builds nothing: players get them on the next POST /packs/{pack}/publish.

Send any of the three. Needs the distribute permission on the pack. Free.

POST/packs/{pack}/distribution

Path parameters

packstringrequired

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

Body

enabledboolean

Whether bound servers serve the pack at all.

versionsarray of string

The Minecraft versions a release is built for. Replaces the saved choice.

defaultVersionstring

Which of the versions the stable download address serves. Absent with versions is the first.

Response · 200

Saved. The distribution as it is now, the same shape GET answers.

packstringrequired

The pack.

enabledbooleanrequired

Whether bound servers are serving it at all.

versionsarray of stringrequired

The versions a release is built for.

defaultVersionstringrequired

The version the stable url serves.

urlstringrequired

The stable download address.

minVersionstringrequired

The oldest version the pack can be published for: the newest of its assets' own floors.

minVersionReasonstringrequired

Which asset sets minVersion, in words, or null when nothing raises it.

availableVersionsarray of objectrequired

Every version a release can be built for, newest first: the versions the Studio's publish picker offers.

versionstringrequired

What to send in versions.

labelstringrequired

The releases it covers, as the Studio shows it.

liveobjectrequired

The release players get now, or null before the first.

idstringrequired

The release's id.

statusstringrequired

Where the build is.

Options: building, ready, failed

errorstring

Why it failed. Absent otherwise.

createdAtstringrequired

ISO 8601.

readyAtstringrequired

ISO 8601, once built.

artifactsarray of objectrequired

One per version, plus bedrock when the pack has anything that crosses over.

versionstringrequired

A Minecraft version, or bedrock.

statusstringrequired

Where this build is.

Options: building, ready, failed

errorstring

Why it failed. Absent otherwise.

bytesintegerrequired

Its size, once built.

latestobjectrequired

The newest release, live or not, or null before the first.

idstringrequired

The release's id.

statusstringrequired

Where the build is.

Options: building, ready, failed

errorstring

Why it failed. Absent otherwise.

createdAtstringrequired

ISO 8601.

readyAtstringrequired

ISO 8601, once built.

artifactsarray of objectrequired

One per version, plus bedrock when the pack has anything that crosses over.

versionstringrequired

A Minecraft version, or bedrock.

statusstringrequired

Where this build is.

Options: building, ready, failed

errorstring

Why it failed. Absent otherwise.

bytesintegerrequired

Its size, once built.

Error codes

Branch on error.code, never on the message.

invalid_json400

The request body wasn't a JSON object.

invalid_request400

Something in the body or query is wrong. message says what.

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's plan does not include the API.

not_found404

No such pack, asset or job.