-
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
"event": "abcde", // Event 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
/project/{project_id}
GET Project by mod ID
/project/mod_id/{mod_id}
GET Submission by ID
/submission/{submission_id}
GET Submission by mod ID
/event/{event_type_slug}/{event_slug}/mod_id/{mod_id}
Example: /events/mod-garden/nature/mod_id/spud_slingers
POST Create Project (Auth)
/project/{project_slug}/create
POST Create Submission in Project (Auth)
/submission/{submission_slug}/create
POST Transfer Submission to Project (Auth)
/submission/{submission_id}/transfer
DELETE Delete Submission (Auth)
/submission/{submission_id}/delete
DELETE Delete Project (Auth)
/project/{project_id}/delete
PUT Add Existing Submission to Project (Auth)
/project/{project_id}/add_submission
PUT Set Team Member Role (Auth)
/project/{project_id}/set_role
{
"abcde": "Meowmber"
}PUT Set Team Member Permissions (Auth)
/project/{project_id}/set_permissions
{
"abcde": "1"
}PUT Add Team Member (Auth)
/project/{project_id}/add_member
"abcde"PUT Remove Team Member (Auth)
/project/{project_id}/remove_member
"abcde"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 ] }