Endpoints
+ Health
1 endpoint
GET
/health
Server status check
M Myths (Heroes)
15 endpoints
GET
/api/myths
Get all myths
GET
/api/myths/:id
Get myth by ID
GET
/api/myths/name/:name
Get myth by name
GET
/api/myths/class/:class
Get myths by class
GET
/api/myths/region/:region
Get myths by region
GET
/api/myths?filters
Filter by difficulty, rangeType, damageType
POST
/api/mythsAdmin
Create new myth
PUT
/api/myths/:idAdmin
Full myth replacement
PATCH
/api/myths/:idAdmin
Partial myth update
DELETE
/api/myths/:idAdmin
Delete myth
PATCH
/api/myths/:id/abilities/:slotAdmin
Update single ability
PATCH
/api/myths/:id/baseStatsAdmin
Update base stats
PATCH
/api/myths/:id/levelUpStatsAdmin
Update level-up stats
POST
/api/myths/:id/skinsAdmin
Add new skin
DELETE
/api/myths/:id/skins/:skinNameAdmin
Remove skin
I Items
2 endpoints
GET
/api/items
Get all items
GET
/api/items/:id
Get item by ID
C Characters
2 endpoints
GET
/api/characters
Get all characters
GET
/api/characters/:id
Get character by ID
P Players
3 endpoints
GET
/api/players/:id
Get player profile
GET
/api/players/:id/progress
Get player progress
POST
/api/players/:id/progress
Update player progress
G Game State
2 endpoints
GET
/api/game-state
Get current game state
GET
/api/game-state/leaderboard
Get leaderboard
R Realms
7 endpoints
GET
/api/realms
Get all realms
GET
/api/realms/:id
Get realm by ID
GET
/api/realms/name/:name
Get realm by name
POST
/api/realmsAdmin
Create new realm
PUT
/api/realms/:idAdmin
Full realm replacement
PATCH
/api/realms/:idAdmin
Partial realm update
DELETE
/api/realms/:idAdmin
Delete realm
C Classes
7 endpoints
GET
/api/classes
Get all myth classes
GET
/api/classes/:id
Get class by ID
GET
/api/classes/name/:name
Get class by name
POST
/api/classesAdmin
Create new class
PUT
/api/classes/:idAdmin
Full class replacement
PATCH
/api/classes/:idAdmin
Partial class update
DELETE
/api/classes/:idAdmin
Delete class
L Lanes
7 endpoints
GET
/api/lanes
Get all lanes/roles
GET
/api/lanes/:id
Get lane by ID
GET
/api/lanes/name/:name
Get lane by name
POST
/api/lanesAdmin
Create new lane
PUT
/api/lanes/:idAdmin
Full lane replacement
PATCH
/api/lanes/:idAdmin
Partial lane update
DELETE
/api/lanes/:idAdmin
Delete lane
B Branding
3 endpoints
GET
/api/branding
Get game logo and icon
GET
/api/branding/icon
Get game icon only
GET
/api/branding/logo
Get game logo only
U Upload
3 endpoints
POST
/api/upload
Upload single file
POST
/api/upload/multiple
Upload multiple files (max 10)
DELETE
/api/upload
Delete file by URL
I Images
1 endpoint
GET
/api/images/*path?w=&h=&q=
Resize image on-demand
Quick Start
Authentication: All API requests require an API key passed via the
x-api-key header.
Contact Menhir Interactive to obtain your API key.
JavaScript / TypeScript
const API_URL = 'https://api.menhirinteractive.com'; const API_KEY = 'your-api-key-here'; // Fetch all myths async function fetchMyths() { const response = await fetch(`${API_URL}/api/myths`, { headers: { 'x-api-key': API_KEY, }, }); const data = await response.json(); return data.data; // Array of myths } // Fetch a specific myth by name async function fetchMythByName(name) { const response = await fetch( `${API_URL}/api/myths/name/${name}`, { headers: { 'x-api-key': API_KEY } } ); const data = await response.json(); return data.data; } // Usage const myths = await fetchMyths(); const arawn = await fetchMythByName('Arawn');
cURL
# Get all myths curl -X GET "https://api.menhirinteractive.com/api/myths" \ -H "x-api-key: your-api-key-here" # Get myth by name curl -X GET "https://api.menhirinteractive.com/api/myths/name/Arawn" \ -H "x-api-key: your-api-key-here" # Get all classes curl -X GET "https://api.menhirinteractive.com/api/classes" \ -H "x-api-key: your-api-key-here" # Get all realms curl -X GET "https://api.menhirinteractive.com/api/realms" \ -H "x-api-key: your-api-key-here" # Get branding assets (logo/icon) curl -X GET "https://api.menhirinteractive.com/api/branding" \ -H "x-api-key: your-api-key-here"
Example Response - GET /api/myths
{
"success": true,
"count": 3,
"data": [
{
"id": "abc123",
"name": "Arawn",
"title": "Lord of the Underworld",
"class": "Fighter",
"difficulty": "Medium",
"rangeType": "Melee",
"damageType": "Physical",
"region": "Kraxus",
"squareIcon": "https://pub-xxx.r2.dev/images/myths/arawn/square-icon.webp",
"previewImage": "https://pub-xxx.r2.dev/images/myths/arawn/splash-original.webp",
"abilities": [...],
"skins": [...],
"baseStats": { "health": 650, "mana": 300, ... },
"images": {
"squareIcon": { "url": "...", "width": 256, "height": 256 },
"splash": {
"original": { "url": "...", "width": 3840, "height": 2160 },
"1080p": { "url": "...", "width": 1920, "height": 1080 }
}
}
}
]
}