REST API endpoints for Project Versions
Create a project version
Section titled “Create a project version”/projects/{projectId}/versionsCreate a version with uploaded files or external file URLs.
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 be keyed by their filename, and each uploaded filename must appear in data.files.
data.channelstringRequiredChannel ID or slug.
data.versionstringRequiredVersion identifier. Maximum 32 characters.
data.namestringRequiredVersion display name. Maximum 64 characters.
data.filesarray<string>RequiredFiles of this version. Each item is either the name of an uploaded multipart file part (the part key must equal the filename; maximum 128 characters) or an external http(s) URL (maximum 256 characters).
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; duplicate identifiers are rejected.
typestringRequiredRelationship to this version. Values: required, optional, incompatible, embedded.
version_idstring8-character ID of a specific version on Guizhan Resources.
project_idstring8-character ID of a project. Any compatible version of the project satisfies the dependency.
namestringExternal dependency display name. 1-64 visible characters. May be paired with url.
urlstringHTTP(S) URL of the external dependency’s homepage or download page.
filesfileMultipart file parts keyed by filename, 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}/versionsprojectIdstringRequiredThe project ID or slug.
pagenumberPage number. Defaults to 1.
page_sizenumberItems per page.
channelstringFilter by channel ID or slug. May be repeated to filter by multiple channels.
minecraft_versionstringFilter by a Minecraft version. May be repeated to filter by multiple versions.
searchstringSearch versions by version string or display name.
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}/versionsApply 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.
idsstringRequiredComma-separated version 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.
typestringRequiredRelationship to this version. Values: required, optional, incompatible, embedded.
version_idstring8-character ID of a specific version on Guizhan Resources.
project_idstring8-character ID of a project. Any compatible version of the project satisfies the dependency.
namestringExternal dependency display name. 1-64 visible characters. May be paired with url.
urlstringHTTP(S) URL of the external dependency’s homepage or download page.
add_dependenciesarray<object>Dependencies to add.
typestringRequiredRelationship to this version. Values: required, optional, incompatible, embedded.
version_idstring8-character ID of a specific version on Guizhan Resources.
project_idstring8-character ID of a project. Any compatible version of the project satisfies the dependency.
namestringExternal dependency display name. 1-64 visible characters. May be paired with url.
urlstringHTTP(S) URL of the external dependency’s homepage or download page.
remove_dependenciesarray<object>Dependencies to remove.
typestringRequiredRelationship to this version. Values: required, optional, incompatible, embedded.
version_idstring8-character ID of a specific version on Guizhan Resources.
project_idstring8-character ID of a project. Any compatible version of the project satisfies the dependency.
namestringExternal dependency display name. 1-64 visible characters. May be paired with url.
urlstringHTTP(S) URL of the external dependency’s homepage or download page.
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}/versionsAuthentication 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.
idsstringRequiredComma-separated version 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. File parts must be keyed by their filename, and each uploaded filename must appear in 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.
typestringRequiredRelationship to this version. Values: required, optional, incompatible, embedded.
version_idstring8-character ID of a specific version on Guizhan Resources.
project_idstring8-character ID of a project. Any compatible version of the project satisfies the dependency.
namestringExternal dependency display name. 1-64 visible characters. May be paired with url.
urlstringHTTP(S) URL of the external dependency’s homepage or download page.
data.filesarray<string>Files to add, replace, or remove. Each item is either the name of an uploaded multipart file part (the part key must equal the filename) or an external http(s) URL.
filesfileMultipart file parts keyed by filename, 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.
