Skip to content

REST API endpoints for Projects

GET /projects

Search projects.

Query Parameters
qstring

Search query matched against project names, summaries, and keywords.

pagenumber

Page number. Defaults to 1.

page_sizenumber

Items per page.

sort_bystring

Sort key, can be: relevance, downloads, created_at, or updated_at.

typestring

Filter 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.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

arrayRequired

List of matching projects.

idstringRequired

The unique identifier of the project.

namestringRequired

The display name of the project.

slugstringRequired

The project slug, used for vanity URLs.

summarystringRequired

A short summary of the project.

typestringRequired

The project type. One of project, plugin, mod, or resource.

icon_urlstring

URL to the project icon, derived from the icon API.

downloadsnumberRequired

Total download count for the project.

minecraft_versionsarray<string>Required

Minecraft versions supported by the project.

platformsarray<string>Required

Platforms supported by the project.

created_atstringRequired

ISO 8601 timestamp of when the project was created.

updated_atstringRequired

ISO 8601 timestamp of when the project was last updated.

owner_typestringRequired

The owner type. Either user or organization.

ownerobjectRequired

Basic information about the project owner.

tagsarray<object>Required

Tags attached to the project.

GET /users/{userId}/projects
Authentication

Authentication may enable this endpoint return more information.

The requested user receives private ProjectOwnedInList fields when authenticated as themselves.

Learn more about authentication

Path Parameters
userIdstringRequired

The username, ID, or @me alias of the user.

Query Parameters
pageinteger

Page number.

page_sizeinteger

Items per page.

sort_bystring

name, slug, created_at, updated_at, or status.

sort_orderstring

asc or desc.

searchstring

Search term. Maximum 48 characters.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

arrayRequired

Projects owned by the user.

idstringRequired

The unique identifier of the project.

namestringRequired

The display name of the project.

slugstringRequired

The project slug, used for vanity URLs.

summarystringRequired

A short summary of the project.

typestringRequired

The project type. One of project, plugin, mod, or resource.

icon_urlstring

URL to the project icon, derived from the icon API.

downloadsnumberRequired

Total download count for the project.

minecraft_versionsarray<string>Required

Minecraft versions supported by the project.

platformsarray<string>Required

Platforms supported by the project.

created_atstringRequired

ISO 8601 timestamp of when the project was created.

updated_atstringRequired

ISO 8601 timestamp of when the project was last updated.

owner_typestringRequired

The owner type. Either user or organization.

ownerobjectRequired

Basic information about the project owner.

tagsarray<object>Required

Tags attached to the project.

GET /orgs/{orgId}/projects
Authentication

Authentication may enable this endpoint return more information.

Members with project:read permission receive private ProjectOwnedInList fields.

Learn more about authentication

Path Parameters
orgIdstringRequired

The slug or ID of the organization.

Query Parameters
pageinteger

Page number.

page_sizeinteger

Items per page.

sort_bystring

name, slug, created_at, updated_at, or status.

sort_orderstring

asc or desc.

searchstring

Search term. Maximum 48 characters.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

arrayRequired

Projects owned by the organization.

idstringRequired

The unique identifier of the project.

namestringRequired

The display name of the project.

slugstringRequired

The project slug, used for vanity URLs.

summarystringRequired

A short summary of the project.

typestringRequired

The project type. One of project, plugin, mod, or resource.

icon_urlstring

URL to the project icon, derived from the icon API.

downloadsnumberRequired

Total download count for the project.

minecraft_versionsarray<string>Required

Minecraft versions supported by the project.

platformsarray<string>Required

Platforms supported by the project.

created_atstringRequired

ISO 8601 timestamp of when the project was created.

updated_atstringRequired

ISO 8601 timestamp of when the project was last updated.

owner_typestringRequired

The owner type. Either user or organization.

ownerobjectRequired

Basic information about the project owner.

tagsarray<object>Required

Tags attached to the project.

POST /users/{userId}/projects
Authentication

Authentication is required.

Access token must have project:create scope and the authenticated user must match userId.

Learn more about authentication

Path Parameters
userIdstringRequired

The username, ID, or @me alias of the user.

Request Body Content-Type: application/json
slugstringRequired

The project slug. Case-insensitive.
Regex: /^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$/i

namestringRequired

The project display name.
Regex: /^[\p{L}\p{N} _\-()]+$/u

summarystring

Short project summary. Maximum 128 characters.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

idstringRequired

The unique identifier of the project.

namestringRequired

The display name of the project.

slugstringRequired

The project slug, used for vanity URLs.

summarystringRequired

A short summary of the project.

typestringRequired

The project type. One of project, plugin, mod, or resource.

icon_urlstring

URL to the project icon, derived from the icon API.

downloadsnumberRequired

Total download count for the project.

minecraft_versionsarray<string>Required

Minecraft versions supported by the project.

platformsarray<string>Required

Platforms supported by the project.

created_atstringRequired

ISO 8601 timestamp of when the project was created.

updated_atstringRequired

ISO 8601 timestamp of when the project was last updated.

owner_typestringRequired

The owner type. Either user or organization.

ownerobjectRequired

Basic information about the project owner.

idstringRequired

The unique identifier of the user or organization that owns the project.

namestringRequired

The display name of the project owner.

usernamestring

The username when the project owner is a user.

slugstring

The slug when the project owner is an organization.

tagsarray<object>Required

Tags attached to the project.

idstringRequired

The unique identifier of the tag.

slugstringRequired

The tag slug.

namestringRequired

The localized tag name.

descriptionstringRequired

The full project description in Markdown.

license_typestringRequired

The project license identifier.

license_urlstring

Custom license URL when license_type is Custom.

homepage_urlstring

Project homepage URL.

wiki_urlstring

Project wiki URL.

issues_urlstring

Project issue tracker URL.

source_urlstring

Project source code URL.

statusstringRequired

Private moderation status of the project.

visibilitystringRequired

Private visibility state of the project.

moderator_messagestring

Moderator message attached to the current project status.

last_slug_updated_atstring

ISO 8601 timestamp of the last project slug update.

POST /orgs/{orgId}/projects
Authentication

Authentication is required.

Access token must have project:create scope and the organization member must have project:create permission.

Learn more about authentication

Path Parameters
orgIdstringRequired

The slug or ID of the organization.

Request Body Content-Type: application/json
slugstringRequired

The project slug. Case-insensitive.
Regex: /^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$/i

namestringRequired

The project display name.
Regex: /^[\p{L}\p{N} _\-()]+$/u

summarystring

Short project summary. Maximum 128 characters.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

idstringRequired

The unique identifier of the project.

namestringRequired

The display name of the project.

slugstringRequired

The project slug, used for vanity URLs.

summarystringRequired

A short summary of the project.

typestringRequired

The project type. One of project, plugin, mod, or resource.

icon_urlstring

URL to the project icon, derived from the icon API.

downloadsnumberRequired

Total download count for the project.

minecraft_versionsarray<string>Required

Minecraft versions supported by the project.

platformsarray<string>Required

Platforms supported by the project.

created_atstringRequired

ISO 8601 timestamp of when the project was created.

updated_atstringRequired

ISO 8601 timestamp of when the project was last updated.

owner_typestringRequired

The owner type. Either user or organization.

ownerobjectRequired

Basic information about the project owner.

idstringRequired

The unique identifier of the user or organization that owns the project.

namestringRequired

The display name of the project owner.

usernamestring

The username when the project owner is a user.

slugstring

The slug when the project owner is an organization.

tagsarray<object>Required

Tags attached to the project.

idstringRequired

The unique identifier of the tag.

slugstringRequired

The tag slug.

namestringRequired

The localized tag name.

descriptionstringRequired

The full project description in Markdown.

license_typestringRequired

The project license identifier.

license_urlstring

Custom license URL when license_type is Custom.

homepage_urlstring

Project homepage URL.

wiki_urlstring

Project wiki URL.

issues_urlstring

Project issue tracker URL.

source_urlstring

Project source code URL.

statusstringRequired

Private moderation status of the project.

visibilitystringRequired

Private visibility state of the project.

moderator_messagestring

Moderator message attached to the current project status.

last_slug_updated_atstring

ISO 8601 timestamp of the last project slug update.

GET /projects/{projectId}
Authentication

Authentication may enable this endpoint return more information.

Authentication allows private project fields to be returned for projects the caller can manage.

Learn more about authentication

Path Parameters
projectIdstringRequired

The project ID or slug.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

idstringRequired

The unique identifier of the project.

namestringRequired

The display name of the project.

slugstringRequired

The project slug, used for vanity URLs.

summarystringRequired

A short summary of the project.

typestringRequired

The project type. One of project, plugin, mod, or resource.

icon_urlstring

URL to the project icon, derived from the icon API.

downloadsnumberRequired

Total download count for the project.

minecraft_versionsarray<string>Required

Minecraft versions supported by the project.

platformsarray<string>Required

Platforms supported by the project.

created_atstringRequired

ISO 8601 timestamp of when the project was created.

updated_atstringRequired

ISO 8601 timestamp of when the project was last updated.

owner_typestringRequired

The owner type. Either user or organization.

ownerobjectRequired

Basic information about the project owner.

idstringRequired

The unique identifier of the user or organization that owns the project.

namestringRequired

The display name of the project owner.

usernamestring

The username when the project owner is a user.

slugstring

The slug when the project owner is an organization.

tagsarray<object>Required

Tags attached to the project.

idstringRequired

The unique identifier of the tag.

slugstringRequired

The tag slug.

namestringRequired

The localized tag name.

descriptionstringRequired

The full project description in Markdown.

license_typestringRequired

The project license identifier.

license_urlstring

Custom license URL when license_type is Custom.

homepage_urlstring

Project homepage URL.

wiki_urlstring

Project wiki URL.

issues_urlstring

Project issue tracker URL.

source_urlstring

Project source code URL.

PATCH /projects/{projectId}
Authentication

Authentication is required.

Access token must have project:update scope. Organization-owned projects also require the project:update organization member permission.

Learn more about authentication

Path Parameters
projectIdstringRequired

The project ID or slug.

Request Body Content-Type: application/json

All fields are optional. URL fields may be set to null to remove them. When license_type is Custom, license_url is required.

slugstring

Project slug. Uses the same slug regex as project creation.

namestring

Project display name. Maximum 64 characters.

summarystring

Short project summary. Maximum 256 characters.

typestring

Project type. One of project, plugin, mod, or resource.

visibilitystring

Visibility state. One of public, unlisted, or private.

descriptionstring

Full project description in Markdown.

license_typestring

License 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 | null

Custom license URL when license_type is Custom.

homepage_urlstring | null

Project homepage URL.

wiki_urlstring | null

Project wiki URL.

issues_urlstring | null

Project issue tracker URL.

source_urlstring | null

Project source code URL.

tagsarray<string>

Tag slugs attached to the project.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

idstringRequired

The unique identifier of the project.

namestringRequired

The display name of the project.

slugstringRequired

The project slug, used for vanity URLs.

summarystringRequired

A short summary of the project.

typestringRequired

The project type. One of project, plugin, mod, or resource.

icon_urlstring

URL to the project icon, derived from the icon API.

downloadsnumberRequired

Total download count for the project.

minecraft_versionsarray<string>Required

Minecraft versions supported by the project.

platformsarray<string>Required

Platforms supported by the project.

created_atstringRequired

ISO 8601 timestamp of when the project was created.

updated_atstringRequired

ISO 8601 timestamp of when the project was last updated.

owner_typestringRequired

The owner type. Either user or organization.

ownerobjectRequired

Basic information about the project owner.

idstringRequired

The unique identifier of the user or organization that owns the project.

namestringRequired

The display name of the project owner.

usernamestring

The username when the project owner is a user.

slugstring

The slug when the project owner is an organization.

tagsarray<object>Required

Tags attached to the project.

idstringRequired

The unique identifier of the tag.

slugstringRequired

The tag slug.

namestringRequired

The localized tag name.

descriptionstringRequired

The full project description in Markdown.

license_typestringRequired

The project license identifier.

license_urlstring

Custom license URL when license_type is Custom.

homepage_urlstring

Project homepage URL.

wiki_urlstring

Project wiki URL.

issues_urlstring

Project issue tracker URL.

source_urlstring

Project source code URL.

statusstringRequired

Private moderation status of the project.

visibilitystringRequired

Private visibility state of the project.

moderator_messagestring

Moderator message attached to the current project status.

last_slug_updated_atstring

ISO 8601 timestamp of the last project slug update.

DELETE /projects/{projectId}
Authentication

Authentication is required.

Access token must have project:delete scope. Organization-owned projects also require the project:delete organization member permission.

Learn more about authentication

Path Parameters
projectIdstringRequired

The project ID or slug.

POST /projects/{projectId}/submit

Submit a draft or rejected project for moderation review.

Authentication

Authentication is required.

Access token must have project:update scope. Organization-owned projects also require the project:update organization member permission.

Learn more about authentication

Path Parameters
projectIdstringRequired

The project ID or slug.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

idstringRequired

The unique identifier of the project.

namestringRequired

The display name of the project.

slugstringRequired

The project slug, used for vanity URLs.

summarystringRequired

A short summary of the project.

typestringRequired

The project type. One of project, plugin, mod, or resource.

icon_urlstring

URL to the project icon, derived from the icon API.

downloadsnumberRequired

Total download count for the project.

minecraft_versionsarray<string>Required

Minecraft versions supported by the project.

platformsarray<string>Required

Platforms supported by the project.

created_atstringRequired

ISO 8601 timestamp of when the project was created.

updated_atstringRequired

ISO 8601 timestamp of when the project was last updated.

owner_typestringRequired

The owner type. Either user or organization.

ownerobjectRequired

Basic information about the project owner.

idstringRequired

The unique identifier of the user or organization that owns the project.

namestringRequired

The display name of the project owner.

usernamestring

The username when the project owner is a user.

slugstring

The slug when the project owner is an organization.

tagsarray<object>Required

Tags attached to the project.

idstringRequired

The unique identifier of the tag.

slugstringRequired

The tag slug.

namestringRequired

The localized tag name.

descriptionstringRequired

The full project description in Markdown.

license_typestringRequired

The project license identifier.

license_urlstring

Custom license URL when license_type is Custom.

homepage_urlstring

Project homepage URL.

wiki_urlstring

Project wiki URL.

issues_urlstring

Project issue tracker URL.

source_urlstring

Project source code URL.

statusstringRequired

Private moderation status of the project.

visibilitystringRequired

Private visibility state of the project.

moderator_messagestring

Moderator message attached to the current project status.

last_slug_updated_atstring

ISO 8601 timestamp of the last project slug update.

GET /projects/{projectId}/keywords
Path Parameters
projectIdstringRequired

The project ID or slug.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

idstringRequired

The unique identifier of the keyword.

keywordstringRequired

The keyword text.

POST /projects/{projectId}/keywords
Authentication

Authentication is required.

Access token must have project:update scope. Organization-owned projects also require the project:update organization member permission.

Learn more about authentication

Path Parameters
projectIdstringRequired

The project ID or slug.

Request Body Content-Type: application/json
keywordstringRequired

Keyword text. Maximum 64 characters.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

idstringRequired

The unique identifier of the keyword.

keywordstringRequired

The keyword text.

PUT /projects/{projectId}/keywords/{keywordId}
Authentication

Authentication is required.

Access token must have project:update scope. Organization-owned projects also require the project:update organization member permission.

Learn more about authentication

Path Parameters
projectIdstringRequired

The project ID or slug.

keywordIdstringRequired

The keyword ID.

Request Body Content-Type: application/json
keywordstringRequired

Keyword text. Maximum 64 characters.

Response Body Content-Type: application/json

This API endpoint returns standard API response format. The following fields are fields of the data object. Learn more

idstringRequired

The unique identifier of the keyword.

keywordstringRequired

The keyword text.

DELETE /projects/{projectId}/keywords/{keywordId}
Authentication

Authentication is required.

Access token must have project:update scope. Organization-owned projects also require the project:update organization member permission.

Learn more about authentication

Path Parameters
projectIdstringRequired

The project ID or slug.

keywordIdstringRequired

The keyword ID.