Threads 2 endpoints

POST /thread/{id}
operationId: Threads_sendMessage

Parameters

Name In Required Type Description
id path optional string

The ID of the thread

Request Body

The message to be sent. Note that you only need the fields applicable for the text type.

application/json
schema ThreadMessageBody
Property Type Required
body string optional
type string required
private boolean optional
new_status string optional
old_status string optional
replying_to string optional

Responses

200

Expected response to a valid request

400

Request was invalid, see given error

404

The requested item(s) were not found or no authorization to access the requested item(s)

POST /thread/{id}
GET /threads
operationId: Threads_listThreads

Parameters

Name In Required Type Description
ids query required string

The IDs of the threads

Responses

200

Expected response to a valid request

404

The requested item(s) were not found or no authorization to access the requested item(s)

GET /threads

Users 9 endpoints

GET /user
operationId: Users_getUserFromAuthHeader

Responses

200

Expected response to a valid request

401

Incorrect token scopes or no authorization to access the requested item(s)

GET /user
GET /user/{id|username}
operationId: Users_getUserByIdOrUsername

Parameters

Name In Required Type Description
id|username path optional string

The ID or username of the user

Responses

200

Expected response to a valid request

404

The requested item(s) were not found or no authorization to access the requested item(s)

GET /user/{id|username}
PATCH /user/{id|username}
operationId: Users_modifyUserPatch

Parameters

Name In Required Type Description
id|username path optional string

The ID or username of the user

Request Body

Modified user fields

application/json
schema EditableUser
Property Type Required
bio string optional
name string optional
email string optional
username string required
payout_data object optional
balance integer optional
payout_wallet string optional
payout_address string optional
payout_wallet_type string optional

Responses

204

Expected response to a valid request

401

Incorrect token scopes or no authorization to access the requested item(s)

404

The requested item(s) were not found or no authorization to access the requested item(s)

PATCH /user/{id|username}
GET /user/{id|username}/follows
operationId: Users_getFollowedProjects

Parameters

Name In Required Type Description
id|username path optional string

The ID or username of the user

Responses

200

Expected response to a valid request

401

Incorrect token scopes or no authorization to access the requested item(s)

404

The requested item(s) were not found or no authorization to access the requested item(s)

GET /user/{id|username}/follows
PATCH /user/{id|username}/icon

The new avatar may be up to 2MiB in size.

operationId: Users_changeAvatar

Parameters

Name In Required Type Description
id|username path optional string

The ID or username of the user

Request Body

image/bmp
schema ProjectsChangeProjectIconRequest2
string
image/gif
schema ProjectsChangeProjectIconRequest3
string
image/png
schema ProjectsChangeProjectIconRequest
string
image/rgb
schema ProjectsChangeProjectIconRequest7
string
image/svg
schema ProjectsChangeProjectIconRequest5
string
image/jpeg
schema ProjectsChangeProjectIconRequest1
string
image/svgz
schema ProjectsChangeProjectIconRequest6
string
image/webp
schema ProjectsChangeProjectIconRequest4
string

Responses

204

Expected response to a valid request

400

Request was invalid, see given error

404

The requested item(s) were not found or no authorization to access the requested item(s)

PATCH /user/{id|username}/icon
GET /user/{id|username}/payouts
operationId: Users_getPayouts

Parameters

Name In Required Type Description
id|username path optional string

The ID or username of the user

Responses

200

Expected response to a valid request

401

Incorrect token scopes or no authorization to access the requested item(s)

404

The requested item(s) were not found or no authorization to access the requested item(s)

GET /user/{id|username}/payouts
POST /user/{id|username}/payouts

Warning: certain amounts get withheld for fees. Please do not call this API endpoint without first acknowledging the warnings on the corresponding frontend page.

operationId: Users_withdrawPayoutBalanceToPaypal

Parameters

Name In Required Type Description
id|username path optional string

The ID or username of the user

amount query required integer

Amount to withdraw

Responses

204

Expected response to a valid request

401

Incorrect token scopes or no authorization to access the requested item(s)

404

The requested item(s) were not found or no authorization to access the requested item(s)

POST /user/{id|username}/payouts
GET /user/{id|username}/projects
operationId: Users_getUserProjects

Parameters

Name In Required Type Description
id|username path optional string

The ID or username of the user

Responses

200

Expected response to a valid request

404

The requested item(s) were not found or no authorization to access the requested item(s)

GET /user/{id|username}/projects
GET /users
operationId: Users_getMultipleUsers

Parameters

Name In Required Type Description
ids query required string

The IDs of the users

Responses

200

Expected response to a valid request

GET /users

Versionfiles 5 endpoints

DELETE /version_file/{hash}
operationId: Versionfiles_deleteByHash

Parameters

Name In Required Type Description
hash path optional string

The hash of the file, considering its byte content, and encoded in hexadecimal

algorithm query optional string

The algorithm of the hash

version_id query optional string

Version ID to delete the version from, if multiple files of the same hash exist

Responses

204

Expected response to a valid request

401

Incorrect token scopes or no authorization to access the requested item(s)

404

The requested item(s) were not found or no authorization to access the requested item(s)

DELETE /version_file/{hash}
GET /version_file/{hash}
operationId: Versionfiles_getVersionFromHash

Parameters

Name In Required Type Description
hash path optional string

The hash of the file, considering its byte content, and encoded in hexadecimal

algorithm query optional string

The algorithm of the hash

multiple query optional boolean

Whether to return multiple results when looking for this hash

Responses

200

Expected response to a valid request

404

The requested item(s) were not found or no authorization to access the requested item(s)

GET /version_file/{hash}
POST /version_file/{hash}/update
operationId: Versionfiles_updateFromHashes

Parameters

Name In Required Type Description
hash path optional string

The hash of the file, considering its byte content, and encoded in hexadecimal

algorithm query optional string

The algorithm of the hash

Request Body

Parameters of the updated version requested

application/json
schema GetLatestVersionFromHashBody
Property Type Required
loaders array required
game_versions array required

Responses

200

Expected response to a valid request

400

Request was invalid, see given error

404

The requested item(s) were not found or no authorization to access the requested item(s)

POST /version_file/{hash}/update
POST /version_files

This is the same as /version_file/{hash} except it accepts multiple hashes.

operationId: Versionfiles_getVersionsFromHashes

Request Body

Hashes and algorithm of the versions requested

application/json
schema HashList
Property Type Required
hashes array required
algorithm string required

Responses

200

Expected response to a valid request

400

Request was invalid, see given error

POST /version_files
POST /version_files/update

This is the same as /version_file/{hash}/update except it accepts multiple hashes.

operationId: Versionfiles_updateMultipleVersions

Request Body

Parameters of the updated version requested

application/json
schema GetLatestVersionsFromHashesBody
Property Type Required
hashes array required
algorithm string required
loaders array required
game_versions array required

Responses

200

Expected response to a valid request

400

Request was invalid, see given error

POST /version_files/update

Versions 9 endpoints

GET /project/{id|slug}/version
operationId: Versions_listProjectVersions

Parameters

Name In Required Type Description
id|slug path optional string

The ID or slug of the project

loaders query optional string

The types of loaders to filter for

game_versions query optional string

The game versions to filter for

featured query optional boolean

Allows to filter for featured or non-featured versions only

Responses

200

Expected response to a valid request

404

The requested item(s) were not found or no authorization to access the requested item(s)

GET /project/{id|slug}/version
GET /project/{id|slug}/version/{id|number}

Please note that, if the version number provided matches multiple versions, only the oldest matching version will be returned.

operationId: Versions_getByVersionIdOrNumber

Parameters

Name In Required Type Description
id|slug path optional string

The ID or slug of the project

id|number path required string

The version ID or version number

Responses

200

Expected response to a valid request

404

The requested item(s) were not found or no authorization to access the requested item(s)

GET /project/{id|slug}/version/{id|number}
POST /version

This route creates a version on an existing project. There must be at least one file attached to each new version, unless the new version’s status is draft. .mrpack, .jar, .zip, and .litemod files are accepted.

The request is a multipart request with at least two form fields: one is data, which includes a JSON body with the version metadata as shown below, and at least one field containing an upload file.

You can name the file parts anything you would like, but you must list each of the parts’ names in file_parts, and optionally, provide one to use as the primary file in primary_file.

operationId: Versions_createNewVersion

Request Body

New version

multipart/form-data
schema CreateVersionBody
Property Type Required
data object required
name string required
status string optional
loaders array required
featured boolean required
changelog string optional
dependencies array required
file_name string optional
project_id string optional
version_id string optional
dependency_type string required
version_type string required
game_versions array required
version_number string required
requested_status string optional
file_parts array required
project_id string required
primary_file string optional

Responses

200

Expected response to a valid request

400

Request was invalid, see given error

401

Incorrect token scopes or no authorization to access the requested item(s)

POST /version
DELETE /version/{id}
operationId: Versions_deleteVersionById

Parameters

Name In Required Type Description
id path optional string

The ID of the version

Responses

204

Expected response to a valid request

401

Incorrect token scopes or no authorization to access the requested item(s)

404

The requested item(s) were not found or no authorization to access the requested item(s)

DELETE /version/{id}
GET /version/{id}
operationId: Versions_getById

Parameters

Name In Required Type Description
id path optional string

The ID of the version

Responses

200

Expected response to a valid request

404

The requested item(s) were not found or no authorization to access the requested item(s)

GET /version/{id}
PATCH /version/{id}
operationId: Versions_modifyVersionById

Parameters

Name In Required Type Description
id path optional string

The ID of the version

Request Body

Modified version fields

application/json
schema EditableVersion
Property Type Required
name string optional
status string optional
loaders array optional
featured boolean optional
changelog string optional
dependencies array optional
file_name string optional
project_id string optional
version_id string optional
dependency_type string required
version_type string optional
game_versions array optional
version_number string optional
requested_status string optional
file_types array optional
hash string required
algorithm string required
file_type string required
primary_file array optional

Responses

204

Expected response to a valid request

401

Incorrect token scopes or no authorization to access the requested item(s)

404

The requested item(s) were not found or no authorization to access the requested item(s)

PATCH /version/{id}
POST /version/{id}/file

Project files are attached. .mrpack and .jar files are accepted.

operationId: Versions_addFilesToVersion

Parameters

Name In Required Type Description
id path optional string

The ID of the version

Request Body

New version files

multipart/form-data
schema VersionsAddFilesToVersionRequest
Property Type Required
data object optional

Responses

204

Expected response to a valid request

401

Incorrect token scopes or no authorization to access the requested item(s)

404

The requested item(s) were not found or no authorization to access the requested item(s)

POST /version/{id}/file
POST /version/{id}/schedule
operationId: Versions_scheduleVersion

Parameters

Name In Required Type Description
id path optional string

The ID of the version

Request Body

Information about date and requested status

application/json
schema Schedule
Property Type Required
time string required
requested_status string required

Responses

204

Expected response to a valid request

400

Request was invalid, see given error

401

Incorrect token scopes or no authorization to access the requested item(s)

POST /version/{id}/schedule
GET /versions
operationId: Versions_list

Parameters

Name In Required Type Description
ids query required string

The IDs of the versions

Responses

200

Expected response to a valid request

GET /versions