API Documentation
Public endpoints for accessing Ashes Nexus data programmatically
Base URL
https://ashes-nexus.vercel.app/apiAll endpoints return JSON responses. No authentication required for public endpoints.
ItemsGET
/api/itemsBrowse and search the item database
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| page | number | 1 | Page number |
| limit | number | 50 | Items per page (max 50) |
| search | string | - | Search by name |
| category | string | - | Filter by category (weapon, armor, accessory, consumable, resource, quest, cosmetic, mount, pet, misc) |
| slot | string | - | Filter by equipment slot |
| rarity | string | - | Filter by rarity (common, uncommon, rare, heroic, epic, legendary) |
| ids | string | - | Comma-separated list of item IDs for direct lookup |
| levelMin | number | - | Minimum level requirement |
| levelMax | number | - | Maximum level requirement |
Example Response
{
"items": [
{
"id": 123,
"name": "Iron Sword",
"slug": "iron-sword",
"category": "weapon",
"rarity_min": "common",
"rarity_max": "rare",
"level_requirement": 5,
"icon_url": "https://...",
"stats": {...}
}
],
"total": 1234,
"page": 1,
"limit": 50,
"totalPages": 25
}BuildsGET
/api/buildsBrowse public character builds
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| page | number | 1 | Page number |
| limit | number | 20 | Builds per page (max 50) |
| sort | string | votes | Sort by: votes, views, or recent |
| class | number | - | Filter by primary class ID |
| tag | string | - | Filter by tag |
| search | string | - | Search name/description |
Example Response
{
"builds": [
{
"id": 1,
"name": "Tank Build",
"description": "...",
"primary_class": { "id": 1, "name": "Tank" },
"secondary_class": { "id": 2, "name": "Fighter" },
"votes": 42,
"views": 150,
"tags": ["PvE", "Tank"]
}
],
"total": 56,
"page": 1,
"limit": 20,
"totalPages": 3
}Map MarkersGET
/api/map/markersGet map markers for mobs, NPCs, and points of interest
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| page | number | 1 | Page number |
| limit | number | 500 | Markers per page (max 5000) |
| categories | string | - | Comma-separated category list (monster, boss, elite, vendor, etc.) |
| mobTypes | string | - | Filter by specific mob names |
| levelMin | number | - | Minimum level |
| levelMax | number | - | Maximum level |
| zone | string | - | Filter by zone name |
| search | string | - | Search by name |
Example Response
{
"markers": [
{
"id": 1,
"name": "Wolf",
"category": "monster",
"x_coord": 1234.5,
"y_coord": 5678.9,
"level_min": 5,
"level_max": 8,
"zone": "Starting Area"
}
],
"total": 2500,
"page": 1,
"limit": 500,
"totalPages": 5
}GuidesGET
/api/guidesBrowse published community guides
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| page | number | 1 | Page number |
| limit | number | 20 | Guides per page (max 50) |
| sort | string | votes | Sort by: votes, views, or recent |
| category | string | - | Filter by category (class_guide, pvp, pve, crafting, etc.) |
| class | number | - | Filter by associated class ID |
| search | string | - | Search title/summary |
Example Response
{
"guides": [
{
"id": 1,
"title": "Beginner's Guide to Tanking",
"slug": "beginners-guide-tanking",
"summary": "...",
"category": "class_guide",
"votes": 25,
"views": 500,
"author": { "username": "player123" }
}
],
"total": 45,
"page": 1,
"limit": 20,
"totalPages": 3
}NewsGET
/api/newsGet latest news and announcements
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| page | number | 1 | Page number |
| limit | number | 20 | News per page (max 50) |
| source | string | - | Filter by source: custom, official_rss, or all |
| featured | boolean | - | Featured items only (true/false) |
Example Response
{
"news": [
{
"id": 1,
"title": "Alpha 2 Update",
"slug": "alpha-2-update",
"summary": "...",
"source": "official_rss",
"external_url": "https://...",
"published_at": "2024-01-15T..."
}
],
"total": 120,
"page": 1,
"limit": 20,
"totalPages": 6
}Rate Limiting
API requests are rate limited to ensure fair usage. Current limits:
- 100 requests per minute per IP address
- Large batch requests (high limits) may be throttled
For higher limits or questions, please open an issue on our feedback repository.
