REST API endpoints for Projects
Search projects
Section titled “Search projects”/projects Search projects.
qstringSearch query matched against project names, summaries, and keywords.
pagenumberPage number. Defaults to 1.
page_sizenumberItems per page.
sort_bystringSort key, can be: relevance, downloads, created_at, or updated_at.
typestringFilter by project type. One of project, plugin, mod, or resource.
platformsarray<string>Filter by supported platforms.
minecraft_versionsarray<string>Filter by supported Minecraft versions.
tagsarray<string>Filter by tag slugs.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
List of matching projects.
idstringRequiredThe unique identifier of the project.
namestringRequiredThe display name of the project.
slugstringRequiredThe project slug, used for vanity URLs.
summarystringRequiredA short summary of the project.
typestringRequiredThe project type. One of project, plugin, mod, or resource.
icon_urlstringURL to the project icon, derived from the icon API.
downloadsnumberRequiredTotal download count for the project.
minecraft_versionsarray<string>RequiredMinecraft versions supported by the project.
platformsarray<string>RequiredPlatforms supported by the project.
created_atstringRequiredISO 8601 timestamp of when the project was created.
updated_atstringRequiredISO 8601 timestamp of when the project was last updated.
owner_typestringRequiredThe owner type. Either user or organization.
ownerobjectRequiredBasic information about the project owner.
tagsarray<object>RequiredTags attached to the project.
List user projects
Section titled “List user projects”/users/{userId}/projects Authentication may enable this endpoint return more information.
The requested user receives private ProjectOwnedInList fields when authenticated as themselves.
userIdstringRequiredThe username, ID, or @me alias of the user.
pageintegerPage number.
page_sizeintegerItems per page.
sort_bystringname, slug, created_at, updated_at, or status.
sort_orderstringasc or desc.
searchstringSearch term. Maximum 48 characters.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
Projects owned by the user.
idstringRequiredThe unique identifier of the project.
namestringRequiredThe display name of the project.
slugstringRequiredThe project slug, used for vanity URLs.
summarystringRequiredA short summary of the project.
typestringRequiredThe project type. One of project, plugin, mod, or resource.
icon_urlstringURL to the project icon, derived from the icon API.
downloadsnumberRequiredTotal download count for the project.
minecraft_versionsarray<string>RequiredMinecraft versions supported by the project.
platformsarray<string>RequiredPlatforms supported by the project.
created_atstringRequiredISO 8601 timestamp of when the project was created.
updated_atstringRequiredISO 8601 timestamp of when the project was last updated.
owner_typestringRequiredThe owner type. Either user or organization.
ownerobjectRequiredBasic information about the project owner.
tagsarray<object>RequiredTags attached to the project.
List organization projects
Section titled “List organization projects”/orgs/{orgId}/projects Authentication may enable this endpoint return more information.
Members with project:read permission receive private ProjectOwnedInList fields.
orgIdstringRequiredThe slug or ID of the organization.
pageintegerPage number.
page_sizeintegerItems per page.
sort_bystringname, slug, created_at, updated_at, or status.
sort_orderstringasc or desc.
searchstringSearch term. Maximum 48 characters.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
Projects owned by the organization.
idstringRequiredThe unique identifier of the project.
namestringRequiredThe display name of the project.
slugstringRequiredThe project slug, used for vanity URLs.
summarystringRequiredA short summary of the project.
typestringRequiredThe project type. One of project, plugin, mod, or resource.
icon_urlstringURL to the project icon, derived from the icon API.
downloadsnumberRequiredTotal download count for the project.
minecraft_versionsarray<string>RequiredMinecraft versions supported by the project.
platformsarray<string>RequiredPlatforms supported by the project.
created_atstringRequiredISO 8601 timestamp of when the project was created.
updated_atstringRequiredISO 8601 timestamp of when the project was last updated.
owner_typestringRequiredThe owner type. Either user or organization.
ownerobjectRequiredBasic information about the project owner.
tagsarray<object>RequiredTags attached to the project.
Create a user project
Section titled “Create a user project”/users/{userId}/projects Authentication is required.
Access token must have project:create scope and the authenticated user must match userId.
userIdstringRequiredThe username, ID, or @me alias of the user.
slugstringRequiredThe project slug. Case-insensitive.
Regex: /^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$/i
namestringRequiredThe project display name.
Regex: /^[\p{L}\p{N} _\-()]+$/u
summarystringShort project summary. Maximum 128 characters.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the project.
namestringRequiredThe display name of the project.
slugstringRequiredThe project slug, used for vanity URLs.
summarystringRequiredA short summary of the project.
typestringRequiredThe project type. One of project, plugin, mod, or resource.
icon_urlstringURL to the project icon, derived from the icon API.
downloadsnumberRequiredTotal download count for the project.
minecraft_versionsarray<string>RequiredMinecraft versions supported by the project.
platformsarray<string>RequiredPlatforms supported by the project.
created_atstringRequiredISO 8601 timestamp of when the project was created.
updated_atstringRequiredISO 8601 timestamp of when the project was last updated.
owner_typestringRequiredThe owner type. Either user or organization.
ownerobjectRequiredBasic information about the project owner.
idstringRequiredThe unique identifier of the user or organization that owns the project.
namestringRequiredThe display name of the project owner.
usernamestringThe username when the project owner is a user.
slugstringThe slug when the project owner is an organization.
tagsarray<object>RequiredTags attached to the project.
idstringRequiredThe unique identifier of the tag.
slugstringRequiredThe tag slug.
namestringRequiredThe localized tag name.
descriptionstringRequiredThe full project description in Markdown.
license_typestringRequiredThe project license identifier.
license_urlstringCustom license URL when license_type is Custom.
homepage_urlstringProject homepage URL.
wiki_urlstringProject wiki URL.
issues_urlstringProject issue tracker URL.
source_urlstringProject source code URL.
statusstringRequiredPrivate moderation status of the project.
visibilitystringRequiredPrivate visibility state of the project.
moderator_messagestringModerator message attached to the current project status.
last_slug_updated_atstringISO 8601 timestamp of the last project slug update.
Create an organization project
Section titled “Create an organization project”/orgs/{orgId}/projects Authentication is required.
Access token must have project:create scope and the organization member must have project:create permission.
orgIdstringRequiredThe slug or ID of the organization.
slugstringRequiredThe project slug. Case-insensitive.
Regex: /^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$/i
namestringRequiredThe project display name.
Regex: /^[\p{L}\p{N} _\-()]+$/u
summarystringShort project summary. Maximum 128 characters.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the project.
namestringRequiredThe display name of the project.
slugstringRequiredThe project slug, used for vanity URLs.
summarystringRequiredA short summary of the project.
typestringRequiredThe project type. One of project, plugin, mod, or resource.
icon_urlstringURL to the project icon, derived from the icon API.
downloadsnumberRequiredTotal download count for the project.
minecraft_versionsarray<string>RequiredMinecraft versions supported by the project.
platformsarray<string>RequiredPlatforms supported by the project.
created_atstringRequiredISO 8601 timestamp of when the project was created.
updated_atstringRequiredISO 8601 timestamp of when the project was last updated.
owner_typestringRequiredThe owner type. Either user or organization.
ownerobjectRequiredBasic information about the project owner.
idstringRequiredThe unique identifier of the user or organization that owns the project.
namestringRequiredThe display name of the project owner.
usernamestringThe username when the project owner is a user.
slugstringThe slug when the project owner is an organization.
tagsarray<object>RequiredTags attached to the project.
idstringRequiredThe unique identifier of the tag.
slugstringRequiredThe tag slug.
namestringRequiredThe localized tag name.
descriptionstringRequiredThe full project description in Markdown.
license_typestringRequiredThe project license identifier.
license_urlstringCustom license URL when license_type is Custom.
homepage_urlstringProject homepage URL.
wiki_urlstringProject wiki URL.
issues_urlstringProject issue tracker URL.
source_urlstringProject source code URL.
statusstringRequiredPrivate moderation status of the project.
visibilitystringRequiredPrivate visibility state of the project.
moderator_messagestringModerator message attached to the current project status.
last_slug_updated_atstringISO 8601 timestamp of the last project slug update.
Get a project
Section titled “Get a project”/projects/{projectId} Authentication may enable this endpoint return more information.
Authentication allows private project fields to be returned for projects the caller can manage.
projectIdstringRequiredThe project ID or slug.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the project.
namestringRequiredThe display name of the project.
slugstringRequiredThe project slug, used for vanity URLs.
summarystringRequiredA short summary of the project.
typestringRequiredThe project type. One of project, plugin, mod, or resource.
icon_urlstringURL to the project icon, derived from the icon API.
downloadsnumberRequiredTotal download count for the project.
minecraft_versionsarray<string>RequiredMinecraft versions supported by the project.
platformsarray<string>RequiredPlatforms supported by the project.
created_atstringRequiredISO 8601 timestamp of when the project was created.
updated_atstringRequiredISO 8601 timestamp of when the project was last updated.
owner_typestringRequiredThe owner type. Either user or organization.
ownerobjectRequiredBasic information about the project owner.
idstringRequiredThe unique identifier of the user or organization that owns the project.
namestringRequiredThe display name of the project owner.
usernamestringThe username when the project owner is a user.
slugstringThe slug when the project owner is an organization.
tagsarray<object>RequiredTags attached to the project.
idstringRequiredThe unique identifier of the tag.
slugstringRequiredThe tag slug.
namestringRequiredThe localized tag name.
descriptionstringRequiredThe full project description in Markdown.
license_typestringRequiredThe project license identifier.
license_urlstringCustom license URL when license_type is Custom.
homepage_urlstringProject homepage URL.
wiki_urlstringProject wiki URL.
issues_urlstringProject issue tracker URL.
source_urlstringProject source code URL.
Update a project
Section titled “Update a project”/projects/{projectId} Authentication is required.
Access token must have project:update scope. Organization-owned projects also require the project:update organization member permission.
projectIdstringRequiredThe project ID or slug.
All fields are optional. URL fields may be set to null to remove them. When license_type is Custom, license_url is required.
slugstringProject slug. Uses the same slug regex as project creation.
namestringProject display name. Maximum 64 characters.
summarystringShort project summary. Maximum 256 characters.
typestringProject type. One of project, plugin, mod, or resource.
visibilitystringVisibility state. One of public, unlisted, or private.
descriptionstringFull project description in Markdown.
license_typestringLicense identifier. One of ARR, Custom, Apache-2.0, Zlib, BSD-2-Clause, BSD-3-Clause, MIT, ISC, AGPL-3.0, LGPL-2.1, LGPL-3.0, GPL-2.0, GPL-3.0, CC0-1.0, CC-BY-4.0, CC-BY-NC-4.0, or CC-BY-NC-SA-4.0.
license_urlstring | nullCustom license URL when license_type is Custom.
homepage_urlstring | nullProject homepage URL.
wiki_urlstring | nullProject wiki URL.
issues_urlstring | nullProject issue tracker URL.
source_urlstring | nullProject source code URL.
tagsarray<string>Tag slugs attached to the project.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the project.
namestringRequiredThe display name of the project.
slugstringRequiredThe project slug, used for vanity URLs.
summarystringRequiredA short summary of the project.
typestringRequiredThe project type. One of project, plugin, mod, or resource.
icon_urlstringURL to the project icon, derived from the icon API.
downloadsnumberRequiredTotal download count for the project.
minecraft_versionsarray<string>RequiredMinecraft versions supported by the project.
platformsarray<string>RequiredPlatforms supported by the project.
created_atstringRequiredISO 8601 timestamp of when the project was created.
updated_atstringRequiredISO 8601 timestamp of when the project was last updated.
owner_typestringRequiredThe owner type. Either user or organization.
ownerobjectRequiredBasic information about the project owner.
idstringRequiredThe unique identifier of the user or organization that owns the project.
namestringRequiredThe display name of the project owner.
usernamestringThe username when the project owner is a user.
slugstringThe slug when the project owner is an organization.
tagsarray<object>RequiredTags attached to the project.
idstringRequiredThe unique identifier of the tag.
slugstringRequiredThe tag slug.
namestringRequiredThe localized tag name.
descriptionstringRequiredThe full project description in Markdown.
license_typestringRequiredThe project license identifier.
license_urlstringCustom license URL when license_type is Custom.
homepage_urlstringProject homepage URL.
wiki_urlstringProject wiki URL.
issues_urlstringProject issue tracker URL.
source_urlstringProject source code URL.
statusstringRequiredPrivate moderation status of the project.
visibilitystringRequiredPrivate visibility state of the project.
moderator_messagestringModerator message attached to the current project status.
last_slug_updated_atstringISO 8601 timestamp of the last project slug update.
Delete a project
Section titled “Delete a project”/projects/{projectId} Authentication is required.
Access token must have project:delete scope. Organization-owned projects also require the project:delete organization member permission.
projectIdstringRequiredThe project ID or slug.
Submit a project for review
Section titled “Submit a project for review”/projects/{projectId}/submit Submit a draft or rejected project for moderation review.
Authentication is required.
Access token must have project:update scope. Organization-owned projects also require the project:update organization member permission.
projectIdstringRequiredThe project ID or slug.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the project.
namestringRequiredThe display name of the project.
slugstringRequiredThe project slug, used for vanity URLs.
summarystringRequiredA short summary of the project.
typestringRequiredThe project type. One of project, plugin, mod, or resource.
icon_urlstringURL to the project icon, derived from the icon API.
downloadsnumberRequiredTotal download count for the project.
minecraft_versionsarray<string>RequiredMinecraft versions supported by the project.
platformsarray<string>RequiredPlatforms supported by the project.
created_atstringRequiredISO 8601 timestamp of when the project was created.
updated_atstringRequiredISO 8601 timestamp of when the project was last updated.
owner_typestringRequiredThe owner type. Either user or organization.
ownerobjectRequiredBasic information about the project owner.
idstringRequiredThe unique identifier of the user or organization that owns the project.
namestringRequiredThe display name of the project owner.
usernamestringThe username when the project owner is a user.
slugstringThe slug when the project owner is an organization.
tagsarray<object>RequiredTags attached to the project.
idstringRequiredThe unique identifier of the tag.
slugstringRequiredThe tag slug.
namestringRequiredThe localized tag name.
descriptionstringRequiredThe full project description in Markdown.
license_typestringRequiredThe project license identifier.
license_urlstringCustom license URL when license_type is Custom.
homepage_urlstringProject homepage URL.
wiki_urlstringProject wiki URL.
issues_urlstringProject issue tracker URL.
source_urlstringProject source code URL.
statusstringRequiredPrivate moderation status of the project.
visibilitystringRequiredPrivate visibility state of the project.
moderator_messagestringModerator message attached to the current project status.
last_slug_updated_atstringISO 8601 timestamp of the last project slug update.
List project keywords
Section titled “List project keywords”/projects/{projectId}/keywords projectIdstringRequiredThe project ID or slug.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the keyword.
keywordstringRequiredThe keyword text.
Add a project keyword
Section titled “Add a project keyword”/projects/{projectId}/keywords Authentication is required.
Access token must have project:update scope. Organization-owned projects also require the project:update organization member permission.
projectIdstringRequiredThe project ID or slug.
keywordstringRequiredKeyword text. Maximum 64 characters.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the keyword.
keywordstringRequiredThe keyword text.
Update a project keyword
Section titled “Update a project keyword”/projects/{projectId}/keywords/{keywordId} Authentication is required.
Access token must have project:update scope. Organization-owned projects also require the project:update organization member permission.
projectIdstringRequiredThe project ID or slug.
keywordIdstringRequiredThe keyword ID.
keywordstringRequiredKeyword text. Maximum 64 characters.
This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more
idstringRequiredThe unique identifier of the keyword.
keywordstringRequiredThe keyword text.
Delete a project keyword
Section titled “Delete a project keyword”/projects/{projectId}/keywords/{keywordId} Authentication is required.
Access token must have project:update scope. Organization-owned projects also require the project:update organization member permission.
projectIdstringRequiredThe project ID or slug.
keywordIdstringRequiredThe keyword ID.