REST API endpoints for Project Versions
Create a project version
Section titled “Create a project version”/projects/{projectId}/versions Create a version with uploaded files or external file URLs. Uploaded files must be JAR or ZIP files and each file can be at most 500 MiB.
Authentication is required.
Access token must have project:version:create scope. Organization-owned projects also require the project:version:create organization member permission.
projectIdstringRequiredThe project ID or slug.
data is a JSON string containing the version metadata. File parts must use keys referenced by files[].name when uploading files.
data.channelstringRequiredChannel ID or slug.
data.versionstringRequiredVersion identifier. Maximum 64 characters.
data.namestringRequiredVersion display name. Maximum 64 characters.
data.filesarray<object>RequiredFile descriptors. Each item can reference an uploaded multipart file or an external URL.
data.changelogstringVersion changelog in Markdown.
data.minecraft_versionsarray<string>Minecraft versions. Defaults to the channel values when omitted.
data.platformsarray<string>Platforms. Values: bukkit, spigot, paper, folia, purpur, forge, fabric, quilt, neoforge, resourcepack, datapack, or other. Defaults to the channel values when omitted.
data.dependenciesarray<object>Dependencies. Defaults to the channel values when omitted. Each dependency must reference exactly one of version_id, project_id, or name.
filesfileMultipart file parts referenced by data.files.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the version.
versionstringRequiredThe version identifier.
namestringRequiredThe display name of the version.
changelogstringVersion changelog in Markdown.
minecraft_versionsarray<string>Minecraft versions supported by this version.
platformsarray<string>RequiredPlatforms supported by this version.
dependenciesarray<object>RequiredDependencies for this version.
typestringRequiredDependency type. One of required, optional, incompatible, or embedded.
version_idstringTarget version ID.
project_idstringTarget project ID.
namestringExternal dependency name.
urlstringExternal dependency URL.
downloadsnumberRequiredDownload count for this version.
created_atstringRequiredISO 8601 timestamp of when the version was created.
channelobjectRequiredThe channel that contains this version.
idstringRequiredThe unique identifier of the channel.
namestringRequiredThe display name of the channel.
slugstringRequiredThe channel slug.
is_defaultbooleanRequiredWhether this is the default channel.
last_slug_updated_atstringISO 8601 timestamp of the last channel slug update.
filesarray<object>RequiredFiles attached to the version.
idstringRequiredThe unique identifier of the file.
namestringRequiredThe file name or external URL.
checksumobjectFile checksums for uploaded files.
sizenumberFile size in bytes for uploaded files.
external_urlstringExternal download URL when the file is not stored by the API.
is_primarybooleanRequiredWhether this is the primary file for the version.
created_atstringRequiredISO 8601 timestamp of when the file was created.
List project versions
Section titled “List project versions”/projects/{projectId}/versions projectIdstringRequiredThe project ID or slug.
pagenumberPage number. Defaults to 1.
page_sizenumberItems per page.
channelstringFilter by channel ID or slug.
minecraft_versionsarray<string>Filter by Minecraft versions.
platformsarray<string>Filter by platforms.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the version.
versionstringRequiredThe version identifier.
namestringRequiredThe display name of the version.
changelogstringVersion changelog in Markdown.
minecraft_versionsarray<string>Minecraft versions supported by this version.
platformsarray<string>RequiredPlatforms supported by this version.
dependenciesarray<object>RequiredDependencies for this version.
typestringRequiredDependency type. One of required, optional, incompatible, or embedded.
version_idstringTarget version ID.
project_idstringTarget project ID.
namestringExternal dependency name.
urlstringExternal dependency URL.
downloadsnumberRequiredDownload count for this version.
created_atstringRequiredISO 8601 timestamp of when the version was created.
channelobjectRequiredThe channel that contains this version.
idstringRequiredThe unique identifier of the channel.
namestringRequiredThe display name of the channel.
slugstringRequiredThe channel slug.
is_defaultbooleanRequiredWhether this is the default channel.
last_slug_updated_atstringISO 8601 timestamp of the last channel slug update.
Batch update project versions
Section titled “Batch update project versions”/projects/{projectId}/versions Apply the same metadata changes to multiple versions. Direct set operations cannot be combined with add/remove operations for the same field.
Authentication is required.
Access token must have project:version:update scope. Organization-owned projects also require the project:version:update organization member permission.
projectIdstringRequiredThe project ID or slug.
versionsarray<string>RequiredVersion IDs to update.
channelstringNew channel ID or slug.
namestringNew display name.
changelogstringNew changelog in Markdown.
minecraft_versionsarray<string>Replace Minecraft versions.
add_minecraft_versionsarray<string>Minecraft versions to add.
remove_minecraft_versionsarray<string>Minecraft versions to remove.
platformsarray<string>Replace platforms. Values: bukkit, spigot, paper, folia, purpur, forge, fabric, quilt, neoforge, resourcepack, datapack, or other.
add_platformsarray<string>Platforms to add.
remove_platformsarray<string>Platforms to remove.
dependenciesarray<object>Replace dependencies.
add_dependenciesarray<object>Dependencies to add.
remove_dependenciesarray<object>Dependencies to remove.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the version.
versionstringRequiredThe version identifier.
namestringRequiredThe display name of the version.
changelogstringVersion changelog in Markdown.
minecraft_versionsarray<string>Minecraft versions supported by this version.
platformsarray<string>RequiredPlatforms supported by this version.
dependenciesarray<object>RequiredDependencies for this version.
typestringRequiredDependency type. One of required, optional, incompatible, or embedded.
version_idstringTarget version ID.
project_idstringTarget project ID.
namestringExternal dependency name.
urlstringExternal dependency URL.
downloadsnumberRequiredDownload count for this version.
created_atstringRequiredISO 8601 timestamp of when the version was created.
channelobjectRequiredThe channel that contains this version.
idstringRequiredThe unique identifier of the channel.
namestringRequiredThe display name of the channel.
slugstringRequiredThe channel slug.
is_defaultbooleanRequiredWhether this is the default channel.
last_slug_updated_atstringISO 8601 timestamp of the last channel slug update.
filesarray<object>RequiredFiles attached to the version.
idstringRequiredThe unique identifier of the file.
namestringRequiredThe file name or external URL.
checksumobjectFile checksums for uploaded files.
sizenumberFile size in bytes for uploaded files.
external_urlstringExternal download URL when the file is not stored by the API.
is_primarybooleanRequiredWhether this is the primary file for the version.
created_atstringRequiredISO 8601 timestamp of when the file was created.
Batch delete project versions
Section titled “Batch delete project versions”/projects/{projectId}/versions Authentication is required.
Access token must have project:version:delete scope. Organization-owned projects also require the project:version:delete organization member permission.
projectIdstringRequiredThe project ID or slug.
versionsarray<string>RequiredVersion IDs to delete.
Get a project version
Section titled “Get a project version”/projects/{projectId}/versions/{versionId} projectIdstringRequiredThe project ID or slug.
versionIdstringRequiredThe version ID or version string.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the version.
versionstringRequiredThe version identifier.
namestringRequiredThe display name of the version.
changelogstringVersion changelog in Markdown.
minecraft_versionsarray<string>Minecraft versions supported by this version.
platformsarray<string>RequiredPlatforms supported by this version.
dependenciesarray<object>RequiredDependencies for this version.
typestringRequiredDependency type. One of required, optional, incompatible, or embedded.
version_idstringTarget version ID.
project_idstringTarget project ID.
namestringExternal dependency name.
urlstringExternal dependency URL.
downloadsnumberRequiredDownload count for this version.
created_atstringRequiredISO 8601 timestamp of when the version was created.
channelobjectRequiredThe channel that contains this version.
idstringRequiredThe unique identifier of the channel.
namestringRequiredThe display name of the channel.
slugstringRequiredThe channel slug.
is_defaultbooleanRequiredWhether this is the default channel.
last_slug_updated_atstringISO 8601 timestamp of the last channel slug update.
filesarray<object>RequiredFiles attached to the version.
idstringRequiredThe unique identifier of the file.
namestringRequiredThe file name or external URL.
checksumobjectFile checksums for uploaded files.
sizenumberFile size in bytes for uploaded files.
external_urlstringExternal download URL when the file is not stored by the API.
is_primarybooleanRequiredWhether this is the primary file for the version.
created_atstringRequiredISO 8601 timestamp of when the file was created.
Update a project version
Section titled “Update a project version”/projects/{projectId}/versions/{versionId} Authentication is required.
Access token must have project:version:update scope. Organization-owned projects also require the project:version:update organization member permission.
projectIdstringRequiredThe project ID or slug.
versionIdstringRequiredThe version ID or version string.
data is a JSON string containing optional version metadata and file changes. Uploaded file parts must use keys referenced by data.files.
data.channelstringChannel ID or slug.
data.versionstringVersion identifier.
data.namestringVersion display name.
data.changelogstringVersion changelog in Markdown.
data.minecraft_versionsarray<string>Minecraft versions.
data.platformsarray<string>Platforms. Values: bukkit, spigot, paper, folia, purpur, forge, fabric, quilt, neoforge, resourcepack, datapack, or other.
data.dependenciesarray<object>Dependencies.
data.filesarray<object>File descriptors to add, replace, or remove.
filesfileMultipart file parts referenced by data.files.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the version.
versionstringRequiredThe version identifier.
namestringRequiredThe display name of the version.
changelogstringVersion changelog in Markdown.
minecraft_versionsarray<string>Minecraft versions supported by this version.
platformsarray<string>RequiredPlatforms supported by this version.
dependenciesarray<object>RequiredDependencies for this version.
typestringRequiredDependency type. One of required, optional, incompatible, or embedded.
version_idstringTarget version ID.
project_idstringTarget project ID.
namestringExternal dependency name.
urlstringExternal dependency URL.
downloadsnumberRequiredDownload count for this version.
created_atstringRequiredISO 8601 timestamp of when the version was created.
channelobjectRequiredThe channel that contains this version.
idstringRequiredThe unique identifier of the channel.
namestringRequiredThe display name of the channel.
slugstringRequiredThe channel slug.
is_defaultbooleanRequiredWhether this is the default channel.
last_slug_updated_atstringISO 8601 timestamp of the last channel slug update.
filesarray<object>RequiredFiles attached to the version.
idstringRequiredThe unique identifier of the file.
namestringRequiredThe file name or external URL.
checksumobjectFile checksums for uploaded files.
sizenumberFile size in bytes for uploaded files.
external_urlstringExternal download URL when the file is not stored by the API.
is_primarybooleanRequiredWhether this is the primary file for the version.
created_atstringRequiredISO 8601 timestamp of when the file was created.
Delete a project version
Section titled “Delete a project version”/projects/{projectId}/versions/{versionId} Authentication is required.
Access token must have project:version:delete scope. Organization-owned projects also require the project:version:delete organization member permission.
projectIdstringRequiredThe project ID or slug.
versionIdstringRequiredThe version ID or version string.
Download a version file
Section titled “Download a version file”/projects/{projectId}/versions/{versionId}/download/{fileId} Redirects to the requested file download. If fileId is omitted, the primary file is downloaded.
projectIdstringRequiredThe project ID or slug.
versionIdstringRequiredThe version ID or version string.
fileIdstringOptional file ID.
Returns a redirect to the stored file or external URL.
Get a version directly
Section titled “Get a version directly”/versions/{versionId} versionIdstringRequiredThe version ID.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the version.
versionstringRequiredThe version identifier.
namestringRequiredThe display name of the version.
changelogstringVersion changelog in Markdown.
minecraft_versionsarray<string>Minecraft versions supported by this version.
platformsarray<string>RequiredPlatforms supported by this version.
dependenciesarray<object>RequiredDependencies for this version.
typestringRequiredDependency type. One of required, optional, incompatible, or embedded.
version_idstringTarget version ID.
project_idstringTarget project ID.
namestringExternal dependency name.
urlstringExternal dependency URL.
downloadsnumberRequiredDownload count for this version.
created_atstringRequiredISO 8601 timestamp of when the version was created.
channelobjectRequiredThe channel that contains this version.
idstringRequiredThe unique identifier of the channel.
namestringRequiredThe display name of the channel.
slugstringRequiredThe channel slug.
is_defaultbooleanRequiredWhether this is the default channel.
last_slug_updated_atstringISO 8601 timestamp of the last channel slug update.
filesarray<object>RequiredFiles attached to the version.
idstringRequiredThe unique identifier of the file.
namestringRequiredThe file name or external URL.
checksumobjectFile checksums for uploaded files.
sizenumberFile size in bytes for uploaded files.
external_urlstringExternal download URL when the file is not stored by the API.
is_primarybooleanRequiredWhether this is the primary file for the version.
created_atstringRequiredISO 8601 timestamp of when the file was created.
project_idstringRequiredThe project ID that owns this version.