Builds¶
POST /api/modpack/{slug}/build¶
Create a new build for a modpack.
Permission required: modpacks_manage + access to the modpack
Path Parameters¶
| Parameter | Type | Description |
|---|---|---|
slug |
string | The modpack slug. |
Request Body¶
| Field | Type | Required | Description |
|---|---|---|---|
version |
string | Yes | Build version string (e.g. 1.0.0). Must be unique within the modpack. |
minecraft |
string | Yes | Minecraft version (e.g. 1.20.1). |
forge |
string | No | Forge version string. |
is_published |
boolean | No | Whether the build is visible in the API. Defaults to false. |
private |
boolean | No | Restrict to authorized clients. Defaults to false. |
min_java |
string | No | Minimum Java version (e.g. 17). |
min_memory |
integer | No | Minimum memory in MB (e.g. 2048). |
clone_from |
string | No | Version string of an existing build in this modpack. All mod assignments from the source build will be copied to the new build. |
Example Request¶
curl -X POST https://solder.yourdomain.com/api/modpack/hexxit/build \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"version": "1.0.0",
"minecraft": "1.20.1",
"forge": "47.2.0",
"is_published": true,
"min_java": "17",
"min_memory": 2048
}'
Response (201)¶
{
"id": 1,
"modpack_id": 1,
"version": "1.0.0",
"minecraft": "1.20.1",
"forge": "47.2.0",
"is_published": true,
"private": false,
"min_java": "17",
"min_memory": 2048,
"created_at": "2026-03-31T12:00:00.000000Z",
"updated_at": "2026-03-31T12:00:00.000000Z"
}
Cloning Mods from Another Build¶
Use the clone_from parameter to copy all mod assignments from an existing build. This is useful when creating a new version that starts with the same mod list.
curl -X POST https://solder.yourdomain.com/api/modpack/hexxit/build \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"version": "1.0.1",
"minecraft": "1.20.1",
"clone_from": "1.0.0"
}'
If the source build version does not exist, the build is still created -- the clone_from parameter is silently ignored.
Error Responses¶
Modpack not found (404):
Duplicate version (422):
Validation error (422):
{
"error": {
"version": ["The version field is required."],
"minecraft": ["The minecraft field is required."]
}
}
PUT /api/modpack/{slug}/{version}¶
Update an existing build.
Permission required: modpacks_manage + access to the modpack
Path Parameters¶
| Parameter | Type | Description |
|---|---|---|
slug |
string | The modpack slug. |
version |
string | The current build version string. |
Request Body¶
All fields are optional. Only included fields are updated.
| Field | Type | Description |
|---|---|---|
version |
string | Build version string. |
minecraft |
string | Minecraft version. |
forge |
string | Forge version. |
is_published |
boolean | Whether the build is visible in the API. |
private |
boolean | Restrict to authorized clients. |
min_java |
string | Minimum Java version. |
min_memory |
integer | Minimum memory in MB. |
Example Request¶
curl -X PUT https://solder.yourdomain.com/api/modpack/hexxit/1.0.0 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_published": true,
"forge": "47.2.1"
}'
Response (200)¶
{
"id": 1,
"modpack_id": 1,
"version": "1.0.0",
"minecraft": "1.20.1",
"forge": "47.2.1",
"is_published": true,
"private": false,
"min_java": "17",
"min_memory": 2048,
"created_at": "2026-03-31T12:00:00.000000Z",
"updated_at": "2026-03-31T12:10:00.000000Z"
}
Error Responses¶
Modpack not found (404):
Build not found (404):
DELETE /api/modpack/{slug}/{version}¶
Delete a build from a modpack.
Permission required: modpacks_manage + access to the modpack
Path Parameters¶
| Parameter | Type | Description |
|---|---|---|
slug |
string | The modpack slug. |
version |
string | The build version string. |
Example Request¶
curl -X DELETE https://solder.yourdomain.com/api/modpack/hexxit/1.0.0 \
-H "Authorization: Bearer YOUR_TOKEN"
Response (200)¶
Error Responses¶
Modpack not found (404):
Build not found (404):
Note
Deleting a build detaches all mod assignments from that build. The mods and mod versions themselves are not deleted.