-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Projects should have metadata determined by uploaded JARs or manually set. Mod IDs are important because they will be used in ballotbox and modpack scripts.
Structure
In the project data
In the submission data
{
"id": "abcde", // Submission ID
"theme_id": "abcde", // Theme ID
"time_submitted": 1234567890,
"project": {
"id": "abcde", // Project ID
"type": "mod", // The type of the project
"metadata": {
"mod_id": "mod_id", // Unchangeable (from latest JAR), only for mod projects
"name": "Mod Name",
"description": "Mod Description", // Short-form Mod Description
"source_url": "https://github.com/ModOwner/Mod"
},
"team": {
"abcde": "Member" // User IDs
},
"permissions": {
"abcde": "1" // 64-bit permission bitfield, 1 being Project Administrator
},
"submissions": [
"abcde" // Submission ID
]
},
"platform": {
// Because `type` can be an arbitrary string, clients are required to fail safe when an unexpected value is encountered.
"type": "modrinth", // modrinth or download_url
// type: modrinth
"project_id": "aBCjdxoap", // Modrinth ID
"version_id": "aBCjdxoap", // Modrinth Version ID
// "type": "download_url"
"download_url": "https://example.com/mod.jar"
}
}Endpoints
Base: https://api.modgarden.net/v2
GET Project by ID
/projects/{project_id}
GET Project by mod ID
/projects/{mod_id}?by=mod_id
GET Submission by ID
/submissions/{submission_id}
GET Submission by mod ID
/submissions/{mod_id}?by=mod_id
Example: /submissions/spud_slingers?by=mod_id
POST Create Project (Auth)
/projects
POST Create Submission in Project (Auth)
/submissions
{
"project_id": "abcde",
"theme_id": "abcde",
"platform": {
// "type": "modrinth"
"project_id": "aBCjdxoap", // Modrinth ID
"version_id": "aBCjdxoap", // Modrinth Version ID
// "type": "download_url"
"download_url": "https://example.com/mod.jar"
}
}Response Headers
Location: */submissions/{submission_id}
POST Transfer Submission to Project (Auth)
/submissions/{submission_id}/transfer/{project_id}
DELETE Delete Submission (Auth)
/submissions/{submission_id}
DELETE Delete Project (Auth)
/projects/{project_id}
GET Team Members
/projects/{project_id}/members
{
"abcde": "Member",
"mgacc": "" // No role name
}PATCH Modify Team Members (Auth)
/projects/{project_id}/members
{
"abcde": "Member",
"mgacc": "", // No role name
"grbot": null // Removes a member
}PATCH Set Team Member Permissions (Auth)
/projects/{project_id}/permissions
{
"abcde": "1"
}Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
{ "id": "abcde", // Project ID "type": "mod", // The type of the project "metadata": { "mod_id": "mod_id", // Unchangeable (from latest JAR), only for mod projects "name": "Mod Name", "description": "Mod Description", // Short-form Mod Description "source_url": "https://github.com/ModOwner/Mod" }, "team": { "abcde": "Member" // User IDs }, "permissions": { "abcde": "1" // 64-bit permission bitfield, 1 being Administrator (All Permissions) }, "submissions": [ "abcde" // Submission ID ] }