Actions & Cooldowns
Every interaction your character makes with the game world is an action — moving, fighting, crafting, trading, and more. Each action is a POST request to /my/{name}/action/... and returns the result immediately along with a cooldown.
How Actions Work
Section titled “How Actions Work”- Send a
POSTrequest to the appropriate action endpoint. - The API returns the action result and a
CooldownSchemain the response. - Your character enters a cooldown period — you must wait before sending another action for that character.
- If you send an action while in cooldown, you receive error 499 with the remaining time.
CooldownSchema
Section titled “CooldownSchema”Every action response includes a cooldown object:
{ "cooldown": { "total_seconds": 5, "remaining_seconds": 5, "started_at": "2025-01-15T12:00:00Z", "expiration": "2025-01-15T12:00:05Z", "reason": "movement" }}| Field | Description |
|---|---|
total_seconds | Total cooldown duration in seconds. |
remaining_seconds | Seconds remaining until the cooldown expires. |
started_at | When the cooldown started. |
expiration | When the cooldown expires. |
reason | What caused the cooldown (e.g., movement, fight, crafting). |
Cooldown Durations
Section titled “Cooldown Durations”| Action | Duration | Notes |
|---|---|---|
| Movement | 5s per tile | — |
| Fight | 2s per turn | Reduced with haste |
| Rest | 1s per 5 HP (min 3s) | — |
| Gathering | 30s + resource level/2 | Reduced with tools |
| Crafting | 5s per item | — |
| Recycling | 3s per item | — |
| Deposit/Withdraw | 3s per different item | — |
| Give item | 3s per different item | — |
| Others | 3s | Default cooldown |
All Available Actions
Section titled “All Available Actions”| Action | Endpoint | Documentation |
|---|---|---|
| Move | /my/{name}/action/move | Maps & Movement |
| Transition | /my/{name}/action/transition | Maps & Movement |
| Fight | /my/{name}/action/fight | Combat & Stats |
| Rest | /my/{name}/action/rest | Combat & Stats |
| Use item | /my/{name}/action/use | Resting & Using items |
| Gathering | /my/{name}/action/gathering | Skills |
| Crafting | /my/{name}/action/crafting | Skills |
| Recycling | /my/{name}/action/recycling | Recycling |
| Equip item | /my/{name}/action/equip | Equipment |
| Unequip item | /my/{name}/action/unequip | Equipment |
| Delete item | /my/{name}/action/delete | |
| Deposit item | /my/{name}/action/bank/deposit/item | Inventory & Bank |
| Deposit gold | /my/{name}/action/bank/deposit/gold | Inventory & Bank |
| Withdraw item | /my/{name}/action/bank/withdraw/item | Inventory & Bank |
| Withdraw gold | /my/{name}/action/bank/withdraw/gold | Inventory & Bank |
| Buy expansion | /my/{name}/action/bank/buy_expansion | Inventory & Bank |
| Buy item (GE) | /my/{name}/action/grandexchange/buy | Grand Exchange |
| Sell order (GE) | /my/{name}/action/grandexchange/sell | Grand Exchange |
| Buy order (GE) | /my/{name}/action/grandexchange/create_buy_order | Grand Exchange |
| Fill order (GE) | /my/{name}/action/grandexchange/fill | Grand Exchange |
| Cancel order (GE) | /my/{name}/action/grandexchange/cancel | Grand Exchange |
| Buy item (NPC) | /my/{name}/action/npc/buy | NPCs & Trading |
| Sell item (NPC) | /my/{name}/action/npc/sell | NPCs & Trading |
| Give items | /my/{name}/action/give | Characters & Account |
| Accept task | /my/{name}/action/task/new | Tasks |
| Complete task | /my/{name}/action/task/complete | Tasks |
| Exchange (task) | /my/{name}/action/task/exchange | Tasks |
| Cancel task | /my/{name}/action/task/cancel | Tasks |
| Claim pending item | /my/{name}/action/claim/{id} | Characters & Account |
| Change skin | /my/{name}/action/change_skin | Characters & Account |
Every action your character performs is recorded in a log journal. Logs are paginated and include the action type, description, timestamp, and result.
Character
Section titled “Character”To retrieve logs for a specific character, use the following endpoint:
Endpoint: POST /my/{name}/logs
curl --request GET \--url 'https://api.artifactsmmo.com/my/logs/{name}?page=1&size=50' \--header 'Accept: application/json' \--header 'Authorization: Bearer YOUR_TOKEN'const url = 'https://api.artifactsmmo.com/my/logs/{name}?page=1&size=50';const options = {method: 'GET',headers: { Accept: 'application/json', Authorization: 'Bearer YOUR_TOKEN'}};
try {const response = await fetch(url, options);const data = await response.json();console.log(data);} catch (error) {console.error(error);}import requests
url = "https://api.artifactsmmo.com/my/logs/{name}"headers = { "Accept": "application/json", "Authorization": "Bearer YOUR_TOKEN"}
response = requests.get(url, params={"page": 1, "size": 50}, headers=headers)print(response.json())Account
Section titled “Account”To retrieve logs for all your characters across your account, use the following endpoint:
Endpoint: POST /my/logs
curl --request GET \--url 'https://api.artifactsmmo.com/my/logs?page=1&size=50' \--header 'Accept: application/json' \--header 'Authorization: Bearer YOUR_TOKEN'const url = 'https://api.artifactsmmo.com/my/logs?page=1&size=50';const options = {method: 'GET',headers: { Accept: 'application/json', Authorization: 'Bearer YOUR_TOKEN'}};
try {const response = await fetch(url, options);const data = await response.json();console.log(data);} catch (error) {console.error(error);}import requests
url = "https://api.artifactsmmo.com/my/logs"headers = { "Accept": "application/json", "Authorization": "Bearer YOUR_TOKEN"}
response = requests.get(url, params={"page": 1, "size": 50}, headers=headers)print(response.json())