Getting Started
An introduction to CurseForge
CurseForge is the home to your modding needs. Mods are in-game content that is created by independent creators, and adds a new layer of fun to games, often altering games so much that it creates brand new and exciting experiences within these games.
Any game that supports mods can be listed on CurseForge.
What is CurseForge for Studios
CurseForge for Studios is a new way for game developers to bring their games to the forefront of modding. When logged in to the CurseForge for Studios console, game developers can set up their games to be available on the CurseForge website www.curseforge.com Once on the CurseForge Website, authors can start uploading their creations for your game, and users playing your game can then download them through various methods.
What can CurseForge for Studios do? What can you do with it?
CurseForge for Studios games are supported on multiple platforms, from PC, to consoles and more.
As a game developer, you can decide if you want your game users to download mods through various methods, such as a frame within your game launcher (if you have one), an in-game UI built using our advanced API options, plugins for different consoles, such as XBOX, Playstation, etc. In addition, you can make your game’s mods available publicly on the CurseForge website, the CurseForge client, and other 3rd party mod managers out there if you choose so.
Last but not least, you can choose to let us moderate the content created for your game, or moderate it yourself with your own moderation team.
Supported download options
- Cross-Platform plugins, SDKs
- In-Game UI, using CurseForge’s API
- Game-Launcher UI that you build, using CurseForge’s API
- Game-Launcher UI, using a pre-built customizable frame
- CurseForge Website
- CurseForge Client
- 3rd Party mod managers
Your next steps
-
Create an account on CurseForge for Studios Console
Go to the CurseForge for Studios Create account page, and create your account. You can feel free to set up your organization name on initial login, but you can always come back to this later through the settings.
-
Set up your game
Hit the “Add a game” button and follow the process. You can view the “Setting up your game” section below for additional information or contact us if you need any assistance.
-
Test your game
Once your game is set up, start testing it to make sure everything works as you intended.
-
Publish
When done testing your game, you can send your game for approval. Our moderation team will go over things as soon as possible and once approved, your game will be set to “Approved” status. When in this state, you will be prompted to publish your game whenever you’re ready.
This is the final step in publishing your game. When you click “Go Live” after being approved, your game is automatically published according to your desired settings. -
Talk to us for any help you may need
Feel free to contact us with any questions or help you may need.
Setting up a game, Step by step guide
1Login, or create an account on CurseForge for Studios
2Set up your organization account, or skip. You can always do this in the settings later
3Once on the home page, click the “Add a game” button
4Fill in the required details in the following setup screens a. Game assets
b. Game versions
c. Categories & Projects
5Once you’re done setting up your game, choose the users you want to test it in the “Testers tab”
6When you’re done testing your game and feel that you’re good to go, visit the “Status” tab and submit your game for review
7Once your game is approved, you can go ahead and publish it whenever you are ready.
8That’s it! You’re done. Your game is now published and available on the CurseForge website and the API according to your chosen settings.
If you encounter any issues we can help with, difficulties to overcome or have suggestions to share, talk to us
Accessing the service
Base URL
All endpoints use the same base URL - https://api.curseforge.com
Pagination Limits
The maximum page size is 50 results per page and capped at 10000 total results.
Note: The limit is (index + pageSize <= 10,000).
Notes
- Unless stated otherwise all int32 responses are unsigned.
Authentication
- API Key (API_KEY)
- Parameter Name: x-api-key, in: header.
The API key can be generated in the CurseForge for Studios developer console.
- Parameter Name: x-api-key, in: header.
Games
Get Games
Code samples
# You can also use wget
curl -X GET /v1/games \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/games HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/games',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/games',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/games', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/games', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/games");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/games", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/games
Get all games that are available to the provided API key.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
index | query | integer(int32) | false | A zero based index of the first item to include in the response, the limit is: (index + pageSize <= 10,000). |
pageSize | query | integer(int32) | false | The number of items to include in the response, the default/maximum value is 50. |
Example responses
200 Response
{
"data": [
{
"id": 0,
"name": "string",
"slug": "string",
"dateModified": "2019-08-24T14:15:22Z",
"assets": {
"iconUrl": "string",
"tileUrl": "string",
"coverUrl": "string"
},
"status": 1,
"apiStatus": 1
}
],
"pagination": {
"index": 0,
"pageSize": 0,
"resultCount": 0,
"totalCount": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Games Response |
500 | Internal Server Error | none | None |
Get Game
Code samples
# You can also use wget
curl -X GET /v1/games/{gameId} \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/games/{gameId} HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/games/{gameId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/games/{gameId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/games/{gameId}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/games/{gameId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/games/{gameId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/games/{gameId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/games/{gameId}
Get a single game. A private game is only accessible by its respective API key.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
gameId | path | integer(int32) | true | A game unique id |
Example responses
200 Response
{
"data": {
"id": 0,
"name": "string",
"slug": "string",
"dateModified": "2019-08-24T14:15:22Z",
"assets": {
"iconUrl": "string",
"tileUrl": "string",
"coverUrl": "string"
},
"status": 1,
"apiStatus": 1
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Game Response |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Versions
Code samples
# You can also use wget
curl -X GET /v1/games/{gameId}/versions \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/games/{gameId}/versions HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/games/{gameId}/versions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/games/{gameId}/versions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/games/{gameId}/versions', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/games/{gameId}/versions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/games/{gameId}/versions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/games/{gameId}/versions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/games/{gameId}/versions
Get all available versions for each known version type of the specified game. A private game is only accessible to its respective API key.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
gameId | path | integer(int32) | true | A game unique id |
Example responses
200 Response
{
"data": [
{
"type": 0,
"versions": [
"string"
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Versions Response - V1 |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Version Types
Code samples
# You can also use wget
curl -X GET /v1/games/{gameId}/version-types \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/games/{gameId}/version-types HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/games/{gameId}/version-types',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/games/{gameId}/version-types',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/games/{gameId}/version-types', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/games/{gameId}/version-types', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/games/{gameId}/version-types");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/games/{gameId}/version-types", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/games/{gameId}/version-types
Get all available version types of the specified game.
A private game is only accessible to its respective API key.
Currently, when creating games via the CurseForge for Studios Console, you are limited to a single game version type. This means that this endpoint is probably not useful in most cases and is relevant mostly when handling existing games that have multiple game versions such as World of Warcraft and Minecraft (e.g. 517 for wow_retail).
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
gameId | path | integer(int32) | true | A game unique id |
Example responses
200 Response
{
"data": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"isSyncable": true,
"status": 1
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Version Types Response |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Versions - V2
Code samples
# You can also use wget
curl -X GET /v2/games/{gameId}/versions \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v2/games/{gameId}/versions HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v2/games/{gameId}/versions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v2/games/{gameId}/versions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v2/games/{gameId}/versions', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v2/games/{gameId}/versions', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v2/games/{gameId}/versions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v2/games/{gameId}/versions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v2/games/{gameId}/versions
Get all available versions for each known version type of the specified game. A private game is only accessible to its respective API key.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
gameId | path | integer(int32) | true | A game unique id |
Example responses
200 Response
{
"data": [
{
"type": 0,
"versions": [
{
"id": 0,
"slug": "string",
"name": "string"
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Versions Response - V2 |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Categories
Get Categories
Code samples
# You can also use wget
curl -X GET /v1/categories?gameId=0 \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/categories?gameId=0 HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/categories?gameId=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/categories',
params: {
'gameId' => 'integer(int32)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/categories', params={
'gameId': '0'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/categories', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/categories?gameId=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/categories", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/categories
Get all available classes and categories of the specified game. Specify a game id for a list of all game categories, or a class id for a list of categories under that class. specifiy the classes Only flag to just get the classes for a given game.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
gameId | query | integer(int32) | true | A game unique id |
classId | query | integer(int32) | false | A class unique id |
classesOnly | query | boolean | false | A flag used with gameId to return only classes |
Example responses
200 Response
{
"data": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Categories Response |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Mods
Search Mods
Code samples
# You can also use wget
curl -X GET /v1/mods/search?gameId=0 \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/mods/search?gameId=0 HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/mods/search?gameId=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/mods/search',
params: {
'gameId' => 'integer(int32)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/mods/search', params={
'gameId': '0'
}, headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/mods/search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/mods/search?gameId=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/mods/search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/mods/search
Get all mods that match the search criteria.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
gameId | query | integer(int32) | true | Filter by game id. |
classId | query | integer(int32) | false | Filter by section id (discoverable via Categories) |
categoryId | query | integer(int32) | false | Filter by category id |
categoryIds | query | string | false | Filter by a list of category ids - this will override categoryId |
gameVersion | query | string | false | Filter by game version string |
gameVersions | query | string | false | Filter by a list of game version strings - this will override |
searchFilter | query | string | false | Filter by free text search in the mod name and author |
sortField | query | ModsSearchSortField | false | Filter by ModsSearchSortField enumeration |
sortOrder | query | SortOrder | false | 'asc' if sort is in ascending order, 'desc' if sort is in descending order |
modLoaderType | query | ModLoaderType | false | Filter only mods associated to a given modloader (Forge, Fabric ...). Must be coupled with gameVersion. |
modLoaderTypes | query | string | false | Filter by a list of mod loader types - this will override modLoaderType |
gameVersionTypeId | query | integer(int32) | false | Filter only mods that contain files tagged with versions of the given gameVersionTypeId |
authorId | query | integer(int32) | false | Filter only mods that the given authorId is a member of. |
primaryAuthorId | query | integer(int32) | false | Filter only mods that the given primaryAuthorId is the owner of. |
slug | query | string | false | Filter by slug (coupled with classId will result in a unique result). |
index | query | integer(int32) | false | A zero based index of the first item to include in the response, the limit is: (index + pageSize <= 10,000). |
pageSize | query | integer(int32) | false | The number of items to include in the response, the default/maximum value is 50. |
Detailed descriptions
categoryIds: Filter by a list of category ids - this will override categoryId categoryIds=[1,2,3...]
The maximum allowed category ids per query is 10
gameVersions: Filter by a list of game version strings - this will override gameVersion
gameVersions=["1.19.1", "1.19.2", "1.20.1" ...]
The maximum allowed category ids per query is 4
modLoaderTypes: Filter by a list of mod loader types - this will override modLoaderType modLoaderTypes=[Forge, Fabric, ...]
Max values = 5
Enumerated Values
Parameter | Value |
---|---|
sortField | 1 |
sortField | 2 |
sortField | 3 |
sortField | 4 |
sortField | 5 |
sortField | 6 |
sortField | 7 |
sortField | 8 |
sortField | 9 |
sortField | 10 |
sortField | 11 |
sortField | 12 |
sortOrder | asc |
sortOrder | desc |
modLoaderType | 0 |
modLoaderType | 1 |
modLoaderType | 2 |
modLoaderType | 3 |
modLoaderType | 4 |
modLoaderType | 5 |
modLoaderType | 6 |
Example responses
200 Response
{
"data": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
],
"pagination": {
"index": 0,
"pageSize": 0,
"resultCount": 0,
"totalCount": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Search Mods Response |
400 | Bad Request | none | None |
500 | Internal Server Error | none | None |
Get Mod
Code samples
# You can also use wget
curl -X GET /v1/mods/{modId} \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/mods/{modId} HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/mods/{modId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/mods/{modId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/mods/{modId}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/mods/{modId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/mods/{modId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/mods/{modId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/mods/{modId}
Get a single mod.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
modId | path | integer(int32) | true | The mod id |
Example responses
200 Response
{
"data": {
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Mod Response |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Mods
Code samples
# You can also use wget
curl -X POST /v1/mods \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
POST /v1/mods HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"modIds": [
0
],
"filterPcOnly": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/mods',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.post '/v1/mods',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.post('/v1/mods', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/mods', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/mods");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/mods", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/mods
Get a list of mods belonging the the same game.
Body parameter
{
"modIds": [
0
],
"filterPcOnly": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | GetModsByIdsListRequestBody | true | Request body containing an array of mod ids, mod ids must belong to the same game. |
Example responses
200 Response
{
"data": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Mods Response |
400 | Bad Request | none | None |
500 | Internal Server Error | none | None |
Get Featured Mods
Code samples
# You can also use wget
curl -X POST /v1/mods/featured \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
POST /v1/mods/featured HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"gameId": 0,
"excludedModIds": [
0
],
"gameVersionTypeId": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/mods/featured',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.post '/v1/mods/featured',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.post('/v1/mods/featured', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/mods/featured', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/mods/featured");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/mods/featured", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/mods/featured
Get a list of featured, popular and recently updated mods.
Body parameter
{
"gameId": 0,
"excludedModIds": [
0
],
"gameVersionTypeId": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | GetFeaturedModsRequestBody | true | Match results for a game and exclude specific mods |
Example responses
200 Response
{
"data": {
"featured": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
],
"popular": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
],
"recentlyUpdated": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Featured Mods Response |
400 | Bad Request | none | None |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Mod Description
Code samples
# You can also use wget
curl -X GET /v1/mods/{modId}/description \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/mods/{modId}/description HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/mods/{modId}/description',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/mods/{modId}/description',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/mods/{modId}/description', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/mods/{modId}/description', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/mods/{modId}/description");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/mods/{modId}/description", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/mods/{modId}/description
Get the full description of a mod in HTML format.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
modId | path | integer(int32) | true | The mod id |
raw | query | boolean | false | none |
stripped | query | boolean | false | none |
markup | query | boolean | false | none |
Example responses
200 Response
{
"data": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | String Response |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Files
Get Mod File
Code samples
# You can also use wget
curl -X GET /v1/mods/{modId}/files/{fileId} \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/mods/{modId}/files/{fileId} HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/mods/{modId}/files/{fileId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/mods/{modId}/files/{fileId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/mods/{modId}/files/{fileId}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/mods/{modId}/files/{fileId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/mods/{modId}/files/{fileId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/mods/{modId}/files/{fileId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/mods/{modId}/files/{fileId}
Get a single file of the specified mod.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
modId | path | integer(int32) | true | The mod id the file belongs to |
fileId | path | integer(int32) | true | The file id |
Example responses
200 Response
{
"data": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Mod File Response |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Mod Files
Code samples
# You can also use wget
curl -X GET /v1/mods/{modId}/files \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/mods/{modId}/files HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/mods/{modId}/files',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/mods/{modId}/files',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/mods/{modId}/files', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/mods/{modId}/files', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/mods/{modId}/files");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/mods/{modId}/files", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/mods/{modId}/files
Get all files of the specified mod.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
modId | path | integer(int32) | true | The mod id the files belong to |
gameVersion | query | string | false | Filter by game version string |
modLoaderType | query | ModLoaderType | false | ModLoaderType enumeration |
gameVersionTypeId | query | integer(int32) | false | Filter only files that are tagged with versions of the given gameVersionTypeId |
index | query | integer(int32) | false | A zero based index of the first item to include in the response, the limit is: (index + pageSize <= 10,000). |
pageSize | query | integer(int32) | false | The number of items to include in the response, the default/maximum value is 50. |
Detailed descriptions
modLoaderType: ModLoaderType enumeration Filter only files associated to a given modloader (Forge, Fabric ...).
Enumerated Values
Parameter | Value |
---|---|
modLoaderType | 0 |
modLoaderType | 1 |
modLoaderType | 2 |
modLoaderType | 3 |
modLoaderType | 4 |
modLoaderType | 5 |
modLoaderType | 6 |
Example responses
200 Response
{
"data": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"pagination": {
"index": 0,
"pageSize": 0,
"resultCount": 0,
"totalCount": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Mod Files Response |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Files
Code samples
# You can also use wget
curl -X POST /v1/mods/files \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
POST /v1/mods/files HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"fileIds": [
0
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/mods/files',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.post '/v1/mods/files',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.post('/v1/mods/files', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/mods/files', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/mods/files");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/mods/files", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/mods/files
Get a list of files.
Body parameter
{
"fileIds": [
0
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | GetModFilesRequestBody | true | Request body containing a list of file ids to fetch |
Example responses
200 Response
{
"data": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Files Response |
400 | Bad Request | none | None |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Mod File Changelog
Code samples
# You can also use wget
curl -X GET /v1/mods/{modId}/files/{fileId}/changelog \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/mods/{modId}/files/{fileId}/changelog HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/mods/{modId}/files/{fileId}/changelog',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/mods/{modId}/files/{fileId}/changelog',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/mods/{modId}/files/{fileId}/changelog', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/mods/{modId}/files/{fileId}/changelog', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/mods/{modId}/files/{fileId}/changelog");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/mods/{modId}/files/{fileId}/changelog", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/mods/{modId}/files/{fileId}/changelog
Get the changelog of a file in HTML format.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
modId | path | integer(int32) | true | The mod id the file belongs to |
fileId | path | integer(int32) | true | The file id |
Example responses
200 Response
{
"data": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | String Response |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Mod File Download URL
Code samples
# You can also use wget
curl -X GET /v1/mods/{modId}/files/{fileId}/download-url \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/mods/{modId}/files/{fileId}/download-url HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/mods/{modId}/files/{fileId}/download-url',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/mods/{modId}/files/{fileId}/download-url',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/mods/{modId}/files/{fileId}/download-url', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/mods/{modId}/files/{fileId}/download-url', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/mods/{modId}/files/{fileId}/download-url");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/mods/{modId}/files/{fileId}/download-url", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/mods/{modId}/files/{fileId}/download-url
Get a download url for a specific file.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
modId | path | integer(int32) | true | The mod id the file belongs to |
fileId | path | integer(int32) | true | The file id |
Example responses
200 Response
{
"data": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | String Response |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Fingerprints
Get Fingerprints Matches By Game Id
Code samples
# You can also use wget
curl -X POST /v1/fingerprints/{gameId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
POST /v1/fingerprints/{gameId} HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"fingerprints": [
0
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/fingerprints/{gameId}',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.post '/v1/fingerprints/{gameId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.post('/v1/fingerprints/{gameId}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/fingerprints/{gameId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/fingerprints/{gameId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/fingerprints/{gameId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/fingerprints/{gameId}
Get mod files that match a list of fingerprints for a given game id.
Body parameter
{
"fingerprints": [
0
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
gameId | path | integer(int32) | true | The game id for matching fingerprints |
body | body | GetFingerprintMatchesRequestBody | true | The request body containing an array of fingerprints |
Example responses
200 Response
{
"data": {
"isCacheBuilt": true,
"exactMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
],
"exactFingerprints": [
0
],
"partialMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
],
"partialMatchFingerprints": {
"property1": [
0
],
"property2": [
0
]
},
"installedFingerprints": [
0
],
"unmatchedFingerprints": [
0
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Fingerprint Matches Response |
400 | Bad Request | none | None |
503 | Service Unavailable | none | string |
Get Fingerprints Matches
Code samples
# You can also use wget
curl -X POST /v1/fingerprints \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
POST /v1/fingerprints HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"fingerprints": [
0
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/fingerprints',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.post '/v1/fingerprints',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.post('/v1/fingerprints', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/fingerprints', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/fingerprints");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/fingerprints", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/fingerprints
Get mod files that match a list of fingerprints.
Body parameter
{
"fingerprints": [
0
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | GetFingerprintMatchesRequestBody | true | The request body containing an array of fingerprints |
Example responses
200 Response
{
"data": {
"isCacheBuilt": true,
"exactMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
],
"exactFingerprints": [
0
],
"partialMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
],
"partialMatchFingerprints": {
"property1": [
0
],
"property2": [
0
]
},
"installedFingerprints": [
0
],
"unmatchedFingerprints": [
0
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Fingerprint Matches Response |
400 | Bad Request | none | None |
503 | Service Unavailable | none | string |
Get Fingerprints Fuzzy Matches By Game Id
Code samples
# You can also use wget
curl -X POST /v1/fingerprints/fuzzy/{gameId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
POST /v1/fingerprints/fuzzy/{gameId} HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"gameId": 0,
"fingerprints": [
{
"foldername": "string",
"fingerprints": [
0
]
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/fingerprints/fuzzy/{gameId}',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.post '/v1/fingerprints/fuzzy/{gameId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.post('/v1/fingerprints/fuzzy/{gameId}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/fingerprints/fuzzy/{gameId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/fingerprints/fuzzy/{gameId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/fingerprints/fuzzy/{gameId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/fingerprints/fuzzy/{gameId}
Get mod files that match a list of fingerprints using fuzzy matching.
Body parameter
{
"gameId": 0,
"fingerprints": [
{
"foldername": "string",
"fingerprints": [
0
]
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
gameId | path | integer(int32) | true | The game id for matching fingerprints |
body | body | GetFuzzyMatchesRequestBody | true | Game id and folder fingerprints options for the fuzzy matching |
Example responses
200 Response
{
"data": {
"fuzzyMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"fingerprints": [
0
]
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Fingerprints Fuzzy Matches Response |
400 | Bad Request | none | None |
503 | Service Unavailable | none | string |
Get Fingerprints Fuzzy Matches
Code samples
# You can also use wget
curl -X POST /v1/fingerprints/fuzzy \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
POST /v1/fingerprints/fuzzy HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '{
"gameId": 0,
"fingerprints": [
{
"foldername": "string",
"fingerprints": [
0
]
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/fingerprints/fuzzy',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.post '/v1/fingerprints/fuzzy',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.post('/v1/fingerprints/fuzzy', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1/fingerprints/fuzzy', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/fingerprints/fuzzy");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1/fingerprints/fuzzy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /v1/fingerprints/fuzzy
Get mod files that match a list of fingerprints using fuzzy matching.
Body parameter
{
"gameId": 0,
"fingerprints": [
{
"foldername": "string",
"fingerprints": [
0
]
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | GetFuzzyMatchesRequestBody | true | Game id and folder fingerprints options for the fuzzy matching |
Example responses
200 Response
{
"data": {
"fuzzyMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"fingerprints": [
0
]
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | Get Fingerprints Fuzzy Matches Response |
400 | Bad Request | none | None |
503 | Service Unavailable | none | string |
Minecraft
Get Minecraft Versions
Code samples
# You can also use wget
curl -X GET /v1/minecraft/version \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/minecraft/version HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/minecraft/version',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/minecraft/version',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/minecraft/version', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/minecraft/version', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/minecraft/version");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/minecraft/version", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/minecraft/version
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sortDescending | query | boolean | false | none |
Example responses
200 Response
{
"data": [
{
"id": 0,
"gameVersionId": 0,
"versionString": "string",
"jarDownloadUrl": "string",
"jsonDownloadUrl": "string",
"approved": true,
"dateModified": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0,
"gameVersionStatus": 1,
"gameVersionTypeStatus": 1
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | ApiResponseOfListOfMinecraftGameVersion |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Specific Minecraft Version
Code samples
# You can also use wget
curl -X GET /v1/minecraft/version/{gameVersionString} \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/minecraft/version/{gameVersionString} HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/minecraft/version/{gameVersionString}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/minecraft/version/{gameVersionString}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/minecraft/version/{gameVersionString}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/minecraft/version/{gameVersionString}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/minecraft/version/{gameVersionString}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/minecraft/version/{gameVersionString}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/minecraft/version/{gameVersionString}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
gameVersionString | path | string | true | none |
Example responses
200 Response
{
"data": {
"id": 0,
"gameVersionId": 0,
"versionString": "string",
"jarDownloadUrl": "string",
"jsonDownloadUrl": "string",
"approved": true,
"dateModified": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0,
"gameVersionStatus": 1,
"gameVersionTypeStatus": 1
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | ApiResponseOfMinecraftGameVersion |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Minecraft ModLoaders
Code samples
# You can also use wget
curl -X GET /v1/minecraft/modloader \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/minecraft/modloader HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/minecraft/modloader',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/minecraft/modloader',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/minecraft/modloader', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/minecraft/modloader', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/minecraft/modloader");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/minecraft/modloader", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/minecraft/modloader
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
version | query | string | false | none |
includeAll | query | boolean | false | none |
Example responses
200 Response
{
"data": [
{
"name": "string",
"gameVersion": "string",
"latest": true,
"recommended": true,
"dateModified": "2019-08-24T14:15:22Z",
"type": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | ApiResponseOfListOfMinecraftModLoaderIndex |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Get Specific Minecraft ModLoader
Code samples
# You can also use wget
curl -X GET /v1/minecraft/modloader/{modLoaderName} \
-H 'Accept: application/json' \
-H 'x-api-key: API_KEY'
GET /v1/minecraft/modloader/{modLoaderName} HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json',
'x-api-key':'API_KEY'
};
fetch('/v1/minecraft/modloader/{modLoaderName}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-api-key' => 'API_KEY'
}
result = RestClient.get '/v1/minecraft/modloader/{modLoaderName}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'API_KEY'
}
r = requests.get('/v1/minecraft/modloader/{modLoaderName}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-api-key' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1/minecraft/modloader/{modLoaderName}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1/minecraft/modloader/{modLoaderName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1/minecraft/modloader/{modLoaderName}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /v1/minecraft/modloader/{modLoaderName}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
modLoaderName | path | string | true | none |
Example responses
200 Response
{
"data": {
"id": 0,
"gameVersionId": 0,
"minecraftGameVersionId": 0,
"forgeVersion": "string",
"name": "string",
"type": 0,
"downloadUrl": "string",
"filename": "string",
"installMethod": 1,
"latest": true,
"recommended": true,
"approved": true,
"dateModified": "2019-08-24T14:15:22Z",
"mavenVersionString": "string",
"versionJson": "string",
"librariesInstallLocation": "string",
"minecraftVersion": "string",
"additionalFilesJson": "string",
"modLoaderGameVersionId": 0,
"modLoaderGameVersionTypeId": 0,
"modLoaderGameVersionStatus": 1,
"modLoaderGameVersionTypeStatus": 1,
"mcGameVersionId": 0,
"mcGameVersionTypeId": 0,
"mcGameVersionStatus": 1,
"mcGameVersionTypeStatus": 1,
"installProfileJson": "string"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | none | ApiResponseOfMinecraftModLoaderVersion |
404 | Not Found | none | None |
500 | Internal Server Error | none | None |
Schemas
ApiResponseOfListOfMinecraftGameVersion
{
"data": [
{
"id": 0,
"gameVersionId": 0,
"versionString": "string",
"jarDownloadUrl": "string",
"jsonDownloadUrl": "string",
"approved": true,
"dateModified": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0,
"gameVersionStatus": 1,
"gameVersionTypeStatus": 1
}
]
}
Properties
Name | Type | Description |
---|---|---|
data | [MinecraftGameVersion] | The response data |
ApiResponseOfListOfMinecraftModLoaderIndex
{
"data": [
{
"name": "string",
"gameVersion": "string",
"latest": true,
"recommended": true,
"dateModified": "2019-08-24T14:15:22Z",
"type": 0
}
]
}
Properties
Name | Type | Description |
---|---|---|
data | [MinecraftModLoaderIndex] | The response data |
ApiResponseOfMinecraftGameVersion
{
"data": {
"id": 0,
"gameVersionId": 0,
"versionString": "string",
"jarDownloadUrl": "string",
"jsonDownloadUrl": "string",
"approved": true,
"dateModified": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0,
"gameVersionStatus": 1,
"gameVersionTypeStatus": 1
}
}
Properties
Name | Type | Description |
---|---|---|
data | MinecraftGameVersion | The response data |
ApiResponseOfMinecraftModLoaderVersion
{
"data": {
"id": 0,
"gameVersionId": 0,
"minecraftGameVersionId": 0,
"forgeVersion": "string",
"name": "string",
"type": 0,
"downloadUrl": "string",
"filename": "string",
"installMethod": 1,
"latest": true,
"recommended": true,
"approved": true,
"dateModified": "2019-08-24T14:15:22Z",
"mavenVersionString": "string",
"versionJson": "string",
"librariesInstallLocation": "string",
"minecraftVersion": "string",
"additionalFilesJson": "string",
"modLoaderGameVersionId": 0,
"modLoaderGameVersionTypeId": 0,
"modLoaderGameVersionStatus": 1,
"modLoaderGameVersionTypeStatus": 1,
"mcGameVersionId": 0,
"mcGameVersionTypeId": 0,
"mcGameVersionStatus": 1,
"mcGameVersionTypeStatus": 1,
"installProfileJson": "string"
}
}
Properties
Name | Type | Description |
---|---|---|
data | MinecraftModLoaderVersion | The response data |
Category
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | The category id |
gameId | integer(int32) | The game id related to the category |
name | string | Category name |
slug | string | The category slug as it appear in the URL |
url | string | The category URL |
iconUrl | string | URL for the category icon |
dateModified | string(date-time) | Last modified date of the category |
isClass | boolean¦null | A top level category for other categories |
classId | integer(int32)¦null | The class id of the category, meaning - the class of which this category is under |
parentCategoryId | integer(int32)¦null | The parent category for this category |
displayIndex | integer(int32)¦null | The display index for this category |
CoreApiStatus
1
Possible enum values:
1=Private
2=Public
CoreStatus
1
Possible enum values:
1=Draft
2=Test
3=PendingReview
4=Rejected
5=Approved
6=Live
FeaturedModsResponse
{
"featured": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
],
"popular": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
],
"recentlyUpdated": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
]
}
Properties
Name | Type | Description |
---|---|---|
featured | [Mod] | none |
popular | [Mod] | none |
recentlyUpdated | [Mod] | none |
File
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | The file id |
gameId | integer(int32) | The game id related to the mod that this file belongs to |
modId | integer(int32) | The mod id |
isAvailable | boolean | Whether the file is available to download |
displayName | string | Display name of the file |
fileName | string | Exact file name |
releaseType | FileReleaseType | The file release type |
fileStatus | FileStatus | Status of the file |
hashes | [FileHash] | The file hash (i.e. md5 or sha1) |
fileDate | string(date-time) | The file timestamp |
fileLength | integer(int64) | The file length in bytes |
downloadCount | integer(int64) | The number of downloads for the file |
fileSizeOnDisk | integer(int64)¦null | The file's size on disk |
downloadUrl | string | The file download URL |
gameVersions | [string] | List of game versions this file is relevant for |
sortableGameVersions | [SortableGameVersion] | Metadata used for sorting by game versions |
dependencies | [FileDependency] | List of dependencies files |
exposeAsAlternative | boolean¦null | none |
parentProjectFileId | integer(int32)¦null | none |
alternateFileId | integer(int32)¦null | none |
isServerPack | boolean¦null | none |
serverPackFileId | integer(int32)¦null | none |
isEarlyAccessContent | boolean¦null | none |
earlyAccessEndDate | string(date-time)¦null | none |
fileFingerprint | integer(int64) | none |
modules | [FileModule] | none |
FileDependency
{
"modId": 0,
"relationType": 1
}
Properties
Name | Type | Description |
---|---|---|
modId | integer(int32) | none |
relationType | FileRelationType | 1 = EmbeddedLibrary 2 = OptionalDependency 3 = RequiredDependency 4 = Tool 5 = Incompatible 6 = Include |
FileHash
{
"value": "string",
"algo": 1
}
Properties
Name | Type | Description |
---|---|---|
value | string | none |
algo | HashAlgo | 1 = Sha1 2 = Md5 |
FileIndex
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
Properties
Name | Type | Description |
---|---|---|
gameVersion | string | none |
fileId | integer(int32) | none |
filename | string | none |
releaseType | FileReleaseType | 1 = Release 2 = Beta 3 = Alpha |
gameVersionTypeId | integer(int32)¦null | none |
modLoader | ModLoaderType | 0 = Any 1 = Forge 2 = Cauldron 3 = LiteLoader 4 = Fabric 5 = Quilt 6 = NeoForge |
FileModule
{
"name": "string",
"fingerprint": 0
}
Properties
Name | Type | Description |
---|---|---|
name | string | none |
fingerprint | integer(int64) | none |
FileRelationType
1
Possible enum values:
1=EmbeddedLibrary
2=OptionalDependency
3=RequiredDependency
4=Tool
5=Incompatible
6=Include
FileReleaseType
1
Possible enum values:
1=Release
2=Beta
3=Alpha
FileStatus
1
Possible enum values:
1=Processing
2=ChangesRequired
3=UnderReview
4=Approved
5=Rejected
6=MalwareDetected
7=Deleted
8=Archived
9=Testing
10=Released
11=ReadyForReview
12=Deprecated
13=Baking
14=AwaitingPublishing
15=FailedPublishing
16=Cooking
17=Cooked
18=UnderManualReview
19=ScanningForMalware
20=ProcessingFile
21=PendingRelease
22=ReadyForCooking
23=PostProcessing
FingerprintFuzzyMatch
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"fingerprints": [
0
]
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | none |
file | File | none |
latestFiles | [File] | none |
fingerprints | [integer] | none |
FingerprintFuzzyMatchResult
{
"fuzzyMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"fingerprints": [
0
]
}
]
}
Properties
Name | Type | Description |
---|---|---|
fuzzyMatches | [FingerprintFuzzyMatch] | none |
FingerprintMatch
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | none |
file | File | none |
latestFiles | [File] | none |
FingerprintsMatchesResult
{
"isCacheBuilt": true,
"exactMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
],
"exactFingerprints": [
0
],
"partialMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
],
"partialMatchFingerprints": {
"property1": [
0
],
"property2": [
0
]
},
"installedFingerprints": [
0
],
"unmatchedFingerprints": [
0
]
}
Properties
Name | Type | Description |
---|---|---|
isCacheBuilt | boolean | none |
exactMatches | [FingerprintMatch] | none |
exactFingerprints | [integer] | none |
partialMatches | [FingerprintMatch] | none |
partialMatchFingerprints | object | none |
» additionalProperties | [integer] | none |
installedFingerprints | [integer] | none |
unmatchedFingerprints | [integer] | none |
FolderFingerprint
{
"foldername": "string",
"fingerprints": [
0
]
}
Properties
Name | Type | Description |
---|---|---|
foldername | string | none |
fingerprints | [integer] | none |
Game
{
"id": 0,
"name": "string",
"slug": "string",
"dateModified": "2019-08-24T14:15:22Z",
"assets": {
"iconUrl": "string",
"tileUrl": "string",
"coverUrl": "string"
},
"status": 1,
"apiStatus": 1
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | none |
name | string | none |
slug | string | none |
dateModified | string(date-time) | none |
assets | GameAssets | none |
status | CoreStatus | 1 = Draft 2 = Test 3 = PendingReview 4 = Rejected 5 = Approved 6 = Live |
apiStatus | CoreApiStatus | 1 = Private 2 = Public |
GameAssets
{
"iconUrl": "string",
"tileUrl": "string",
"coverUrl": "string"
}
Properties
Name | Type | Description |
---|---|---|
iconUrl | string | none |
tileUrl | string | none |
coverUrl | string | none |
GameVersion
{
"id": 0,
"slug": "string",
"name": "string"
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | none |
slug | string | none |
name | string | none |
GameVersionsByType
{
"type": 0,
"versions": [
"string"
]
}
Properties
Name | Type | Description |
---|---|---|
type | integer(int32) | none |
versions | [string] | none |
GameVersionsByType2
{
"type": 0,
"versions": [
{
"id": 0,
"slug": "string",
"name": "string"
}
]
}
Properties
Name | Type | Description |
---|---|---|
type | integer(int32) | none |
versions | [GameVersion] | none |
GameVersionStatus
1
Possible enum values:
1=Approved
2=Deleted
3=New
GameVersionType
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"isSyncable": true,
"status": 1
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | none |
gameId | integer(int32) | none |
name | string | none |
slug | string | none |
isSyncable | boolean | none |
status | GameVersionTypeStatus | 1 = Normal 2 = Deleted |
GameVersionTypeStatus
1
Possible enum values:
1=Normal
2=Deleted
Get Categories Response
{
"data": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
]
}
Properties
Name | Type | Description |
---|---|---|
data | [Category] | The response data |
Get Featured Mods Response
{
"data": {
"featured": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
],
"popular": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
],
"recentlyUpdated": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
]
}
}
Properties
Name | Type | Description |
---|---|---|
data | FeaturedModsResponse | The response data |
Get Files Response
{
"data": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
Properties
Name | Type | Description |
---|---|---|
data | [File] | The response data |
Get Fingerprint Matches Response
{
"data": {
"isCacheBuilt": true,
"exactMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
],
"exactFingerprints": [
0
],
"partialMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
]
}
],
"partialMatchFingerprints": {
"property1": [
0
],
"property2": [
0
]
},
"installedFingerprints": [
0
],
"unmatchedFingerprints": [
0
]
}
}
Properties
Name | Type | Description |
---|---|---|
data | FingerprintsMatchesResult | The response data |
Get Fingerprints Fuzzy Matches Response
{
"data": {
"fuzzyMatches": [
{
"id": 0,
"file": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
},
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"fingerprints": [
0
]
}
]
}
}
Properties
Name | Type | Description |
---|---|---|
data | FingerprintFuzzyMatchResult | The response data |
Get Game Response
{
"data": {
"id": 0,
"name": "string",
"slug": "string",
"dateModified": "2019-08-24T14:15:22Z",
"assets": {
"iconUrl": "string",
"tileUrl": "string",
"coverUrl": "string"
},
"status": 1,
"apiStatus": 1
}
}
Properties
Name | Type | Description |
---|---|---|
data | Game | The response data |
Get Games Response
{
"data": [
{
"id": 0,
"name": "string",
"slug": "string",
"dateModified": "2019-08-24T14:15:22Z",
"assets": {
"iconUrl": "string",
"tileUrl": "string",
"coverUrl": "string"
},
"status": 1,
"apiStatus": 1
}
],
"pagination": {
"index": 0,
"pageSize": 0,
"resultCount": 0,
"totalCount": 0
}
}
Properties
Name | Type | Description |
---|---|---|
data | [Game] | The response data |
pagination | Pagination | The response pagination information |
Get Mod File Response
{
"data": {
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
}
Properties
Name | Type | Description |
---|---|---|
data | File | The response data |
Get Mod Files Response
{
"data": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"pagination": {
"index": 0,
"pageSize": 0,
"resultCount": 0,
"totalCount": 0
}
}
Properties
Name | Type | Description |
---|---|---|
data | [File] | The response data |
pagination | Pagination | The response pagination information |
Get Mod Response
{
"data": {
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
}
Properties
Name | Type | Description |
---|---|---|
data | Mod | The response data |
Get Mods Response
{
"data": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
]
}
Properties
Name | Type | Description |
---|---|---|
data | [Mod] | The response data |
Get Version Types Response
{
"data": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"isSyncable": true,
"status": 1
}
]
}
Properties
Name | Type | Description |
---|---|---|
data | [GameVersionType] | The response data |
Get Versions Response - V1
{
"data": [
{
"type": 0,
"versions": [
"string"
]
}
]
}
Properties
Name | Type | Description |
---|---|---|
data | [GameVersionsByType] | The response data |
Get Versions Response - V2
{
"data": [
{
"type": 0,
"versions": [
{
"id": 0,
"slug": "string",
"name": "string"
}
]
}
]
}
Properties
Name | Type | Description |
---|---|---|
data | [GameVersionsByType2] | The response data |
GetFeaturedModsRequestBody
{
"gameId": 0,
"excludedModIds": [
0
],
"gameVersionTypeId": 0
}
Properties
Name | Type | Description |
---|---|---|
gameId | integer(int32) | none |
excludedModIds | [integer] | none |
gameVersionTypeId | integer(int32)¦null | none |
GetFingerprintMatchesRequestBody
{
"fingerprints": [
0
]
}
Properties
Name | Type | Description |
---|---|---|
fingerprints | [integer] | none |
GetFuzzyMatchesRequestBody
{
"gameId": 0,
"fingerprints": [
{
"foldername": "string",
"fingerprints": [
0
]
}
]
}
Properties
Name | Type | Description |
---|---|---|
gameId | integer(int32) | none |
fingerprints | [FolderFingerprint] | none |
GetModFilesRequestBody
{
"fileIds": [
0
]
}
Properties
Name | Type | Description |
---|---|---|
fileIds | [integer] | none |
GetModsByIdsListRequestBody
{
"modIds": [
0
],
"filterPcOnly": true
}
Properties
Name | Type | Description |
---|---|---|
modIds | [integer] | none |
filterPcOnly | boolean¦null | none |
HashAlgo
1
Possible enum values:
1=Sha1
2=Md5
MinecraftGameVersion
{
"id": 0,
"gameVersionId": 0,
"versionString": "string",
"jarDownloadUrl": "string",
"jsonDownloadUrl": "string",
"approved": true,
"dateModified": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0,
"gameVersionStatus": 1,
"gameVersionTypeStatus": 1
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | none |
gameVersionId | integer(int32) | none |
versionString | string | none |
jarDownloadUrl | string | none |
jsonDownloadUrl | string | none |
approved | boolean | none |
dateModified | string(date-time) | none |
gameVersionTypeId | integer(int32) | none |
gameVersionStatus | GameVersionStatus | 1 = Approved 2 = Deleted 3 = New |
gameVersionTypeStatus | GameVersionTypeStatus | 1 = Normal 2 = Deleted |
MinecraftModLoaderIndex
{
"name": "string",
"gameVersion": "string",
"latest": true,
"recommended": true,
"dateModified": "2019-08-24T14:15:22Z",
"type": 0
}
Properties
Name | Type | Description |
---|---|---|
name | string | none |
gameVersion | string | none |
latest | boolean | none |
recommended | boolean | none |
dateModified | string(date-time) | none |
type | ModLoaderType | 0 = Any 1 = Forge 2 = Cauldron 3 = LiteLoader 4 = Fabric 5 = Quilt 6 = NeoForge |
MinecraftModLoaderVersion
{
"id": 0,
"gameVersionId": 0,
"minecraftGameVersionId": 0,
"forgeVersion": "string",
"name": "string",
"type": 0,
"downloadUrl": "string",
"filename": "string",
"installMethod": 1,
"latest": true,
"recommended": true,
"approved": true,
"dateModified": "2019-08-24T14:15:22Z",
"mavenVersionString": "string",
"versionJson": "string",
"librariesInstallLocation": "string",
"minecraftVersion": "string",
"additionalFilesJson": "string",
"modLoaderGameVersionId": 0,
"modLoaderGameVersionTypeId": 0,
"modLoaderGameVersionStatus": 1,
"modLoaderGameVersionTypeStatus": 1,
"mcGameVersionId": 0,
"mcGameVersionTypeId": 0,
"mcGameVersionStatus": 1,
"mcGameVersionTypeStatus": 1,
"installProfileJson": "string"
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | none |
gameVersionId | integer(int32) | none |
minecraftGameVersionId | integer(int32) | none |
forgeVersion | string | none |
name | string | none |
type | ModLoaderType | 0 = Any 1 = Forge 2 = Cauldron 3 = LiteLoader 4 = Fabric 5 = Quilt 6 = NeoForge |
downloadUrl | string | none |
filename | string | none |
installMethod | ModLoaderInstallMethod | 1 = ForgeInstaller 2 = ForgeJarInstall 3 = ForgeInstaller_v2 4 = FabricInstaller 5 = QuiltInstaller 6 = NeoForgeInstaller |
latest | boolean | none |
recommended | boolean | none |
approved | boolean | none |
dateModified | string(date-time) | none |
mavenVersionString | string | none |
versionJson | string | none |
librariesInstallLocation | string | none |
minecraftVersion | string | none |
additionalFilesJson | string | none |
modLoaderGameVersionId | integer(int32) | none |
modLoaderGameVersionTypeId | integer(int32) | none |
modLoaderGameVersionStatus | GameVersionStatus | 1 = Approved 2 = Deleted 3 = New |
modLoaderGameVersionTypeStatus | GameVersionTypeStatus | 1 = Normal 2 = Deleted |
mcGameVersionId | integer(int32) | none |
mcGameVersionTypeId | integer(int32) | none |
mcGameVersionStatus | GameVersionStatus | 1 = Approved 2 = Deleted 3 = New |
mcGameVersionTypeStatus | GameVersionTypeStatus | 1 = Normal 2 = Deleted |
installProfileJson | string | none |
Mod
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | The mod id |
gameId | integer(int32) | The game id this mod is for |
name | string | The name of the mod |
slug | string | The mod slug that would appear in the URL |
links | ModLinks | Relevant links for the mod such as Issue tracker and Wiki |
summary | string | Mod summary |
status | ModStatus | Current mod status |
downloadCount | integer(int64) | Number of downloads for the mod |
isFeatured | boolean | Whether the mod is included in the featured mods list |
primaryCategoryId | integer(int32) | The main category of the mod as it was chosen by the mod author |
categories | [Category] | List of categories that this mod is related to |
classId | integer(int32)¦null | The class id this mod belongs to |
authors | [ModAuthor] | List of the mod's authors |
logo | ModAsset | The mod's logo asset |
screenshots | [ModAsset] | List of screenshots assets |
mainFileId | integer(int32) | The id of the main file of the mod |
latestFiles | [File] | List of latest files of the mod |
latestFilesIndexes | [FileIndex] | List of file related details for the latest files of the mod |
latestEarlyAccessFilesIndexes | [FileIndex] | List of file related details for the latest early access files of the mod |
dateCreated | string(date-time) | The creation date of the mod |
dateModified | string(date-time) | The last time the mod was modified |
dateReleased | string(date-time) | The release date of the mod |
allowModDistribution | boolean¦null | Is mod allowed to be distributed |
gamePopularityRank | integer(int32) | The mod popularity rank for the game |
isAvailable | boolean | Is the mod available for search. This can be false when a mod is experimental, in a deleted state or has only alpha files |
thumbsUpCount | integer(int32) | The mod's thumbs up count |
rating | number(decimal)¦null | The mod's Rating |
ModAsset
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | none |
modId | integer(int32) | none |
title | string | none |
description | string | none |
thumbnailUrl | string | none |
url | string | none |
ModAuthor
{
"id": 0,
"name": "string",
"url": "string"
}
Properties
Name | Type | Description |
---|---|---|
id | integer(int32) | none |
name | string | none |
url | string | none |
ModLinks
{
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
}
Properties
Name | Type | Description |
---|---|---|
websiteUrl | string | none |
wikiUrl | string | none |
issuesUrl | string | none |
sourceUrl | string | none |
ModLoaderInstallMethod
1
Possible enum values:
1=ForgeInstaller
2=ForgeJarInstall
3=ForgeInstaller_v2
4=FabricInstaller
5=QuiltInstaller
6=NeoForgeInstaller
ModLoaderType
0
Possible enum values:
0=Any
1=Forge
2=Cauldron
3=LiteLoader
4=Fabric
5=Quilt
6=NeoForge
ModsSearchSortField
1
Possible enum values:
1=Featured
2=Popularity
3=LastUpdated
4=Name
5=Author
6=TotalDownloads
7=Category
8=GameVersion
9=EarlyAccess
10=FeaturedReleased
11=ReleasedDate
12=Rating
ModStatus
1
Possible enum values:
1=New
2=ChangesRequired
3=UnderSoftReview
4=Approved
5=Rejected
6=ChangesMade
7=Inactive
8=Abandoned
9=Deleted
10=UnderReview
Pagination
{
"index": 0,
"pageSize": 0,
"resultCount": 0,
"totalCount": 0
}
Properties
Name | Type | Description |
---|---|---|
index | integer(int32) | A zero based index of the first item that is included in the response |
pageSize | integer(int32) | The requested number of items to be included in the response |
resultCount | integer(int32) | The actual number of items that were included in the response |
totalCount | integer(int64) | The total number of items available by the request |
Search Mods Response
{
"data": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"links": {
"websiteUrl": "string",
"wikiUrl": "string",
"issuesUrl": "string",
"sourceUrl": "string"
},
"summary": "string",
"status": 1,
"downloadCount": 0,
"isFeatured": true,
"primaryCategoryId": 0,
"categories": [
{
"id": 0,
"gameId": 0,
"name": "string",
"slug": "string",
"url": "string",
"iconUrl": "string",
"dateModified": "2019-08-24T14:15:22Z",
"isClass": true,
"classId": 0,
"parentCategoryId": 0,
"displayIndex": 0
}
],
"classId": 0,
"authors": [
{
"id": 0,
"name": "string",
"url": "string"
}
],
"logo": {
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
},
"screenshots": [
{
"id": 0,
"modId": 0,
"title": "string",
"description": "string",
"thumbnailUrl": "string",
"url": "string"
}
],
"mainFileId": 0,
"latestFiles": [
{
"id": 0,
"gameId": 0,
"modId": 0,
"isAvailable": true,
"displayName": "string",
"fileName": "string",
"releaseType": 1,
"fileStatus": 1,
"hashes": [
{
"value": "string",
"algo": 1
}
],
"fileDate": "2019-08-24T14:15:22Z",
"fileLength": 0,
"downloadCount": 0,
"fileSizeOnDisk": 0,
"downloadUrl": "string",
"gameVersions": [
"string"
],
"sortableGameVersions": [
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
],
"dependencies": [
{
"modId": 0,
"relationType": 1
}
],
"exposeAsAlternative": true,
"parentProjectFileId": 0,
"alternateFileId": 0,
"isServerPack": true,
"serverPackFileId": 0,
"isEarlyAccessContent": true,
"earlyAccessEndDate": "2019-08-24T14:15:22Z",
"fileFingerprint": 0,
"modules": [
{
"name": "string",
"fingerprint": 0
}
]
}
],
"latestFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"latestEarlyAccessFilesIndexes": [
{
"gameVersion": "string",
"fileId": 0,
"filename": "string",
"releaseType": 1,
"gameVersionTypeId": 0,
"modLoader": 0
}
],
"dateCreated": "2019-08-24T14:15:22Z",
"dateModified": "2019-08-24T14:15:22Z",
"dateReleased": "2019-08-24T14:15:22Z",
"allowModDistribution": true,
"gamePopularityRank": 0,
"isAvailable": true,
"thumbsUpCount": 0,
"rating": 0
}
],
"pagination": {
"index": 0,
"pageSize": 0,
"resultCount": 0,
"totalCount": 0
}
}
Properties
Name | Type | Description |
---|---|---|
data | [Mod] | The response data |
pagination | Pagination | The response pagination information |
SortableGameVersion
{
"gameVersionName": "string",
"gameVersionPadded": "string",
"gameVersion": "string",
"gameVersionReleaseDate": "2019-08-24T14:15:22Z",
"gameVersionTypeId": 0
}
Properties
Name | Type | Description |
---|---|---|
gameVersionName | string | Original version name (e.g. 1.5b) |
gameVersionPadded | string | Used for sorting (e.g. 0000000001.0000000005) |
gameVersion | string | game version clean name (e.g. 1.5) |
gameVersionReleaseDate | string(date-time) | Game version release date |
gameVersionTypeId | integer(int32)¦null | Game version type id |
SortOrder
"asc"
String Response
{
"data": "string"
}
Properties
Name | Type | Description |
---|---|---|
data | string | The response data |
CurseForge for Studios Terms of Use
Overwolf Ltd., a company organized under the laws of the State of Israel ("Overwolf") makes available the Curseforge platform for user-generated content (“Curseforge”), as well as the CurseForge for Studios suite of tools for game developers to integrate in-game support for user-generated content (“UGC”) in their proprietary game software (the “Game”), which may include APIs, plugins and user interfaces (collectively, “CurseForge for Studios”). "You" or "Developer" means anyone who desires to use the CurseForge for Studios Platform.
Please read these Terms of Use (this “Agreement”) carefully. All use of CurseForge for Studios is subject to this Agreement, which is intended to constitute a legally binding agreement between the parties. By using or downloading CurseForge for Studios or clicking "accept", you signify your assent to both this Agreement and our Privacy Policy . If you do not agree to any terms or conditions of this Agreement, please do not use CurseForge for Studios.
CurseForge for Studios Platform. Subject to the terms and conditions hereof, Overwolf grants Developer a limited, non-exclusive license to use the CurseForge for Studios Platform, including all code made available by Overwolf as part of the CurseForge for Studios Platform, and any accompanying documentation files (“Documentation”) solely for the purpose of integrating in-game UGC support for Developer’s game (the “Purpose”). Developer has no ownership or other rights in CurseForge for Studios or any Documentation. Overwolf and its licensors and suppliers retain all right, title and interest in CurseForge for Studios, all Documentation, and all enhancement, modifications and updates thereof, including any derivative works created by Developer, and all intellectual property rights in all of the foregoing.
Restrictions. Developer shall use CurseForge for Studios solely for the Purpose and not for any purpose. Developer will not (a) rent, lease, modify, copy, loan, transfer, sublicense, distribute or create derivative works of CurseForge for Studios or Documentation; (b) reverse engineer, decompile, translate, adapt, or disassemble CurseForge for Studios; (c) attempt to disable or circumvent any security mechanism in CurseForge for Studios; or (d) remove or obscure any copyright or other notices from CurseForge for Studios. Developer will moreover not demonstrate or provide CurseForge for Studios to third parties or allow such third parties to perform any of the aforesaid actions.
Games and User-Content. Developer will retain sole ownership of any right, title or interest to the Game, but hereby provides Overwolf and users of Curseforge with a non-exclusive, royalty-free, worldwide license to the name, logo and trademarks of the Game and Developer for the purpose of indicating the availability of the Game and UGC in respect thereof. Overwolf does not assert ownership of UGC, though users may grant Overwolf a separate license in respect of Overwolf’s use thereof. Developer may enter separate agreements with end users regarding the ownership of UGC.
Payment. Overwolf currently provides CurseForge for Studios at no charge. Payment and revenue share obligations between the parties may be set forth in a separate written agreement between the parties. Developer bears all taxes that may be imposed on Developer as a result of Developer’s use of CurseForge for Studios.
The Modding Community. The Developer and Overwolf may negotiate in good faith to develop written community guidelines (the “Agreed Guidelines”) to govern the review, moderation and takedown of UGC related to the Game but, except as may be separately agreed by the parties in writing, Overwolf alone will be authorized to manage and moderate the user community, and any UGC made available by users, on the Overwolf platform or any platform controlled by Overwolf. Should the Developer wish to (a) approach any User, or (b) initiate review, moderation or takedown proceedings in respect of any UGC, then Developer shall submit a request in respect thereof to Overwolf in writing. Overwolf will make good faith, reasonable commercial efforts to process such requests in a timely manner, but reserves the right to review, moderate and takedown UGC. Developer acknowledges that, given legal and regulatory constraints applicable to Overwolf, including in respect of data protection and privacy law, Overwolf may not be able to provide any information (including identifying information) regarding any users or their activities. Developer waives any claims that it may have against Overwolf in respect of any act or omission of Overwolf in the review, moderation or takedown of any UGC by Overwolf.
Moderation Privileges. In the event that Overwolf consents to the exercise by the Developer of review, moderation or takedown privileges with regard to any UGC (“Moderation Privileges”), the Developer will (a) use its best efforts to maintain the reputation, trademarks and goodwill of Overwolf and any Overwolf related platform in its exercise of such Moderation Privileges and (b) strictly follow the Agreed Guidelines and any applicable legal obligations with respect to such moderation activities, including any applicable terms of service or any laws or regulations that may limit discretion in the moderation of UGC and (c) adopt, publish and follow written procedures and guidelines as may be reasonably required by applicable law and regulations in order to ensure that neither Developer nor Overwolf shall have any liability for any moderation activities of Developer. Developer shall promptly provide Overwolf with information as reasonably requested by Overwolf regarding the use and application of all Moderation Privileges. Overwolf reserves the right to review and audit the Developer’s compliance with its obligations pursuant to this Section 7 at any time, without prior notice, and Developer shall fully cooperate with such review and audit. Developer shall indemnify Overwolf in respect of any claims against advanced against Overwolf (or its affiliates, employees or directors) in respect of any moderation or takedown activities of Developer. Overwolf may revoke Moderation Privileges at any time upon written notice.
Representations and Warranties. Developer represents and warrants that the Game (not including CurseForge for Studios) does not (a) infringe the intellectual property rights or moral rights of any third party, (b) contain any viruses, worms, malware, time bombs or other malicious code or code that would prevent the operation of any software, or interfere with the operation of CurseForge for Studios, (c) contain any free or open source software that may impose any obligations on Overwolf or any creator of UGC.
Indemnification. Developer shall defend, indemnify and hold harmless Overwolf from and against any and all suits, proceedings, assertions, damages, costs, liabilities or expenses (including reasonable court costs and attorney fees) which Overwolf may (directly or indirectly) suffer or incur in connection with any claim, demand, action or other proceeding by any third party arising from or relating to (a) the Game (except CurseForge for Studios) or any UGC, (b) the actions or omissions of Developer, including in respect of its exercise of Moderation Privileges pursuant to Section 7 hereof or (c) a breach by Developer of its warranties in Section 8. In the event of any such claim, Company shall notify Developer of the claim and Developer shall have the right to manage, at its sole expense, the defense of the claim and the settlement thereof.
Disclaimer; Limitation of Liability. CURSEFORGE FOR STUDIOS AND ALL DOCUMENTATION ARE PROVIDED “AS-IS”. OVERWOLF EXPRESSLY DISCLAIMS ALL WARRANTIES IN RESPECT OF CURSEFORGE FOR STUDIOS AND DOCUMENTATION INCLUDING, WITHOUT LIMITATION, EXPRESS OR IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. OVERWOLF SHALL NOT HAVE ANY LIABILITY WHATSOEVER IN RESPECT OF CURSEFORGE FOR STUDIOS, ANY DOCUMENTATION OR THIS AGREEMENT. DEVELOPER UNDERSTANDS THAT OVERWOLF IS PROVIDING CURSEFORGE FOR STUDIOS AND DOCUMENTATION ONLY SUBJECT TO THE WARRANTY DISCLAIMERS AND LIMITATIONS OF LIABILITY SET FORTH HEREIN, AND DEVELOPER EXPRESSLY AGREES TO SUCH PROVISIONS. OVERWOLF FURTHERMORE EXPRESSLY DISCLAIMS ANY RESPONSIBILITY WITH REGARD TO USER-GENERATED CONTENT OR OTHER USER SUBMISSIONS UPLOADED TO ANY OVERWOLF RELATED PLATFORM AS WELL AS ITS GRANTING, CHANGING OR RESCINDING OF MODERATION PRIVILEGES.
Confidentiality. All non-public information in respect of CurseForge for Studios or the Documentation, or the methodologies of Overwolf, including in respect of the moderation of UGC, and any other non-public technical or business information provided by or in respect of Overwolf are proprietary and confidential information of Overwolf (the “Confidential Information”). Developer may not disclose such Confidential Information to any third party and may not make any use of such information except as may be strictly required by the Purpose. Developer may provide Confidential Information only for the Purpose and on a “need to know” basis to its employees who are subject to standard written non-use and non-disclosure obligations and provisions sufficient for Developer to observe its obligations and satisfy its representations and warranties under this Agreement. Developer shall be liable for the breach of the restrictions of this Agreement by its employees.
Term and Termination. This Agreement shall be in effect from the date accepted by Developer or, if earlier, the date that Developer begins to download or use CurseForge for Studios (the “Effective Date”) and shall continue in effect for a period of three years thereafter (the “Initial Term”). The term of this Agreement shall thereafter renew automatically for subsequent renewal terms of three years each (each, a “Renewal Term” and, together with the Initial Term, the “Term”), unless one party provides written notice to the other party of its intention not to renew this Agreement at least thirty days prior to commencement of the applicable Renewal Term. Overwolf may terminate this Agreement upon sixty days prior written notice at any time for any reason. Either party may with written notice terminate this Agreement for the material breach of this Agreement by the other party, where such breach has not been cured within 30 days of the provision of written notice thereof by the non-breaching Party. [Upon termination or expiration of this Agreement for any reason any licenses to names, logos and trademarks provided by the Developer under Section 3 of this Agreement shall survive as may be necessary to maintain the full and on-going operation of any User-Generated Content created during the Term. 2 – 5 and 7 – 12 shall survive the expiration or termination of this Agreement for any reason.]
Miscellaneous. This Agreement together with its exhibits and any documents referenced herein (such as any separate writing between the parties concerning payments or revenue sharing) constitute the entire agreement between the parties regarding the subject matter hereof and supersedes any and all other agreements between the parties regarding the subject matter hereof. In the event of any conflict or inconsistency between the terms of this Agreement and any referenced document the terms of this Agreement shall govern unless expressly set forth otherwise in the applicable exhibit or referenced document. Except as expressly set forth herein, this Agreement may not be modified or amended except in a writing executed by both parties. If any part of this Agreement shall be invalid or unenforceable, such part shall be interpreted to give the maximum force possible to such terms as possible under applicable law, and such invalidity or unenforceability shall not affect the validity or enforceability of any other part or provision of this Agreement. Overwolf may assign its rights or obligations under this Agreement to an affiliated company or to a successor company, including by way of a merger transaction or a purchase of all or substantially all of Overwolf’s assets or share capital, or to any other company succeeding to Overwolf’s business. Developer shall not assign any of its rights or obligations hereunder without Overwolf’s prior written consent. Assignments in violation of the foregoing shall be void. Overwolf may provide any notices required under this Agreement or any exhibits or documents referenced herein to the contact information provided by Developer as part of registration.
Dispute Resolution; Governing Law. This Agreement shall be construed in accordance with the laws of the State of Delaware, excluding any conflict of laws provisions that would result in the application of the law of another jurisdiction. The United Nations Convention on contracts for the international sale of goods (CISG) does not apply. Any and all disputes, controversies, differences, or claims arising out of or relating to the Agreement shall be resolved through binding arbitration. The arbitration proceedings shall be conducted in accordance with the Commercial Rules of the American Arbitration Association including application of the Optional Rules for Emergency Measures of Protection and shall be governed by the United States Arbitration Act and this Section 13. The seat of arbitration shall be the State of Delaware and the language of the arbitration shall be English. Notwithstanding the foregoing, either party may seek an interim injunction or other interim equitable relief in any court of competent jurisdiction. The parties agree to keep confidential the existence of the arbitration, the arbitral proceedings, the submissions made by the parties and the decisions made by the arbitral tribunal, including its awards, except as required by the applicable law and to the extent not already in the public domain. EACH PARTY WAIVES ITS RIGHT TO GO TO COURT, TO A TRIAL BY JURY, AND TO PARTICIPATE IN A CLASS ACTION, CLASS ARBITRATION, OR OTHER REPRESENTATIVE PROCEEDING WITH RESPECT TO ANY CLAIM SUBJECT TO ARBITRATION.