Gems Shop
The Gems Shop lets you spend gems on cosmetic skins, community spawn events, and subscription time. The catalog is public, but purchases require authentication.
You can obtain gems from season rewards, a paid subscription, or gem packs purchased in your member area.
View the Shop
Section titled “View the Shop”Use GET /gems_shop/ to retrieve the current catalog and prices.
curl --request GET \--url 'https://api.artifactsmmo.com/gems_shop/' \--header 'Accept: application/json'const url = 'https://api.artifactsmmo.com/gems_shop/';const options = {method: 'GET',headers: { Accept: 'application/json' }};
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/gems_shop/"headers = {"Accept": "application/json"}
response = requests.get(url, headers=headers)print(response.json())The response is divided into:
| Field | Description |
|---|---|
skins | Purchasable skins with their code, name, description, and gem price. |
spawn_events | Purchasable events with their content, duration, and gem price. |
subscriptions | Subscription offers with their duration and gem price. |
Your gem balance is available from GET /my/details, and your gem transactions are available from GET /my/gems_history.
Buy a skin with POST /gems_shop/skin. Send the skin code from the catalog.
curl --request POST \--url https://api.artifactsmmo.com/gems_shop/skin \--header 'Accept: application/json' \--header 'Authorization: Bearer YOUR_TOKEN' \--header 'Content-Type: application/json' \--data '{"code": "gladiator"}'const url = 'https://api.artifactsmmo.com/gems_shop/skin';const options = {method: 'POST',headers: { Accept: 'application/json', Authorization: 'Bearer YOUR_TOKEN', 'Content-Type': 'application/json'},body: JSON.stringify({ code: 'gladiator' })};
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/gems_shop/skin"headers = { "Accept": "application/json", "Authorization": "Bearer YOUR_TOKEN", "Content-Type": "application/json"}data = {"code": "gladiator"}
response = requests.post(url, headers=headers, json=data)print(response.json())The skin is permanently added to your account. A skin cannot be purchased twice, and skins without a catalog price are not purchasable.
Spawn Events
Section titled “Spawn Events”Buy and immediately spawn a community event with POST /gems_shop/spawn_event.
curl --request POST \--url https://api.artifactsmmo.com/gems_shop/spawn_event \--header 'Accept: application/json' \--header 'Authorization: Bearer YOUR_TOKEN' \--header 'Content-Type: application/json' \--data '{"code": "bandit_camp"}'const url = 'https://api.artifactsmmo.com/gems_shop/spawn_event';const options = {method: 'POST',headers: { Accept: 'application/json', Authorization: 'Bearer YOUR_TOKEN', 'Content-Type': 'application/json'},body: JSON.stringify({ code: 'bandit_camp' })};
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/gems_shop/spawn_event"headers = { "Accept": "application/json", "Authorization": "Bearer YOUR_TOKEN", "Content-Type": "application/json"}data = {"code": "bandit_camp"}
response = requests.post(url, headers=headers, json=data)print(response.json())Only events listed in the Gems Shop catalog can be purchased. A purchase can fail when the event is already active, is on cooldown, or the maximum number of active events has been reached. See Events for more information.
Buy a Subscription with Gems
Section titled “Buy a Subscription with Gems”Use POST /gems_shop/subscription to buy the subscription offer shown in the catalog.
curl --request POST \--url https://api.artifactsmmo.com/gems_shop/subscription \--header 'Accept: application/json' \--header 'Authorization: Bearer YOUR_TOKEN'const url = 'https://api.artifactsmmo.com/gems_shop/subscription';const options = {method: 'POST',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/gems_shop/subscription"headers = { "Accept": "application/json", "Authorization": "Bearer YOUR_TOKEN"}
response = requests.post(url, headers=headers)print(response.json())The current offer grants one month of membership. You cannot buy it while your account already has an active subscription. Check the catalog for the current duration and price before purchasing.
Gem History
Section titled “Gem History”Use GET /my/gems_history to list your gem credits and debits, including Gems Shop purchases.
curl --request GET \--url https://api.artifactsmmo.com/my/gems_history \--header 'Accept: application/json' \--header 'Authorization: Bearer YOUR_TOKEN'const url = 'https://api.artifactsmmo.com/my/gems_history';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/gems_history"headers = { "Accept": "application/json", "Authorization": "Bearer YOUR_TOKEN"}
response = requests.get(url, headers=headers)print(response.json())The response contains a data array with one entry per gem transaction:
| Field | Description |
|---|---|
type | Gem transaction type. |
gems | Signed gem delta. Positive values add gems, negative values spend gems. |
description | Human-readable transaction description. |
metadata | Additional transaction metadata. |
created_at | Transaction creation date. |