Tasks
Tasks assign you random objectives (such as killing monsters, collecting resources, bringing back items) and when you complete tasks, you get some gold and a currency: tasks coins. Tasks coins can be exchanged at all Tasks Masters. For 6 coins, you can get a random reward. You can also trade them for a higher cost at the NPC Tasks Trader to get the item you want.
You can check your objective and its progress directly on your character by using this request (opens in a new tab).
Task Types
Tasks come in two types:
| Type | Description |
|---|---|
monsters | Kill a specific number of a monster. |
items | Gather or craft a specific number of an item. |
Rewards by level
Completing a task rewards gold and tasks coins based on the task type and level:
| Type | Level | Gold | Tasks Coins |
|---|---|---|---|
items | 1–14 | 150 | 2 |
items | 15–29 | 250 | 3 |
items | 30–40 | 350 | 4 |
items | 41+ | 300 | 4 |
monsters | 1–14 | 200 | 3 |
monsters | 15–29 | 300 | 4 |
monsters | 30+ | 500 | 5 |
Tasks List
You can use this GET request to view the list of all existing tasks.
curl --location --request GET 'https://api.artifactsmmo.com/tasks/all' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'var myHeaders = new Headers();
myHeaders.append("Accept", "application/json");
myHeaders.append("Content-Type", "application/json");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.artifactsmmo.com/tasks/all", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));View the API Reference (opens in a new tab)
Rewards
You can use this GET request to see the list of all the rewards you can get when you exchange 6 coins at a Tasks Master.
curl --location --request GET 'https://api.artifactsmmo.com/tasks/rewards' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'var myHeaders = new Headers();
myHeaders.append("Accept", "application/json");
myHeaders.append("Content-Type", "application/json");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.artifactsmmo.com/tasks/rewards", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));View the API Reference (opens in a new tab)
Actions
To get a new task or to complete it, you need to be on a map with a tasks master.
You must be at a Tasks Master that matches your task type. A monsters task must be completed/cancelled at a monsters Tasks Master, and an items task at an items Tasks Master.
All task actions (new, complete, exchange, trade, cancel) have a 3-second cooldown. Completing a task or exchanging coins requires at least 1 free inventory slot.
You can use this POST request to accept a new task.
curl --request POST \
--url https://api.artifactsmmo.com/my/{name}/action/task/new \
--header 'Accept: application/json' \
--header 'Authorization: Bearer INSERT_YOUR_TOKEN_HERE' \
--header 'Content-Type: application/json' \const url = 'https://api.artifactsmmo.com/my/{name}/action/task/new';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: 'Bearer INSERT_YOUR_TOKEN_HERE'
}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}View the API Reference (opens in a new tab)
You can use this POST request to complete a task
curl --request POST \
--url https://api.artifactsmmo.com/my/{name}/action/task/complete \
--header 'Accept: application/json' \
--header 'Authorization: Bearer INSERT_YOUR_TOKEN_HERE' \
--header 'Content-Type: application/json' \const url = 'https://api.artifactsmmo.com/my/{name}/action/task/complete';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: 'Bearer INSERT_YOUR_TOKEN_HERE'
}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}View the API Reference (opens in a new tab)
You can use this POST request to exchange 6 coins tasks for a random reward.
curl --request POST \
--url https://api.artifactsmmo.com/my/{name}/action/task/exchange \
--header 'Accept: application/json' \
--header 'Authorization: Bearer INSERT_YOUR_TOKEN_HERE' \
--header 'Content-Type: application/json' \const url = 'https://api.artifactsmmo.com/my/{name}/action/task/exchange';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: 'Bearer INSERT_YOUR_TOKEN_HERE'
}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}View the API Reference (opens in a new tab)
You can use this POST request to trade items at a Task Master (Items).
curl --location -g --request POST 'https://api.artifactsmmo.com/my/{name}/action/task/trade' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer INSERT_YOUR_TOKEN_HERE' \
--data-raw '{
"item": "name",
"quantity":0
}' var myHeaders = new Headers();
myHeaders.append("Accept", "application/json");
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer INSERT_YOUR_TOKEN_HERE");
var raw = JSON.stringify({
"item": "name",
"quantity":0
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.artifactsmmo.com/my/{name}/action/task/trade", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));| Field | Description |
|---|---|
code | The item code to trade. |
quantity | Number of items to trade. |
Trade is only available for items type tasks. You cannot deliver more items than the remaining quantity needed to complete the task.
View the API Reference (opens in a new tab)
You can use this POST request to cancel a task at the cost of a task coin.
curl --request POST \
--url https://api.artifactsmmo.com/my/{name}/action/task/cancel \
--header 'Accept: application/json' \
--header 'Authorization: Bearer INSERT_YOUR_TOKEN_HERE' \
--header 'Content-Type: application/json' \const url = 'https://api.artifactsmmo.com/my/{name}/action/task/cancel';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: 'Bearer INSERT_YOUR_TOKEN_HERE'
}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}Canceling a task costs 1 tasks coin. You must have at least 1 tasks coin in your inventory.