API Documentation

Public endpoints for accessing Ashes Nexus data programmatically

Base URL

https://ashes-nexus.vercel.app/api

All endpoints return JSON responses. No authentication required for public endpoints.

ItemsGET

/api/items

Browse and search the item database

Parameters

NameTypeDefaultDescription
pagenumber1Page number
limitnumber50Items per page (max 50)
searchstring-Search by name
categorystring-Filter by category (weapon, armor, accessory, consumable, resource, quest, cosmetic, mount, pet, misc)
slotstring-Filter by equipment slot
raritystring-Filter by rarity (common, uncommon, rare, heroic, epic, legendary)
idsstring-Comma-separated list of item IDs for direct lookup
levelMinnumber-Minimum level requirement
levelMaxnumber-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/builds

Browse public character builds

Parameters

NameTypeDefaultDescription
pagenumber1Page number
limitnumber20Builds per page (max 50)
sortstringvotesSort by: votes, views, or recent
classnumber-Filter by primary class ID
tagstring-Filter by tag
searchstring-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/markers

Get map markers for mobs, NPCs, and points of interest

Parameters

NameTypeDefaultDescription
pagenumber1Page number
limitnumber500Markers per page (max 5000)
categoriesstring-Comma-separated category list (monster, boss, elite, vendor, etc.)
mobTypesstring-Filter by specific mob names
levelMinnumber-Minimum level
levelMaxnumber-Maximum level
zonestring-Filter by zone name
searchstring-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/guides

Browse published community guides

Parameters

NameTypeDefaultDescription
pagenumber1Page number
limitnumber20Guides per page (max 50)
sortstringvotesSort by: votes, views, or recent
categorystring-Filter by category (class_guide, pvp, pve, crafting, etc.)
classnumber-Filter by associated class ID
searchstring-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/news

Get latest news and announcements

Parameters

NameTypeDefaultDescription
pagenumber1Page number
limitnumber20News per page (max 50)
sourcestring-Filter by source: custom, official_rss, or all
featuredboolean-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.