Skip to main content

Getting Started

Base URL

Dev (local): http://localhost:8080/api/
Production: https://ayakamods.com/api/ (not live yet)

All endpoint paths in these docs are relative to /api/.

Your first call

Send your API key as a header on every request:

curl https://ayakamods.com/api/mods/ \
-H "XF-Api-Key: your-api-key-here"

A game-scoped key returns only that game's mods. An unrestricted (mod-manager) key returns mods across all public games.

Response shape

Standard XenForo API JSON:

{
"mods": [
{
"mod_id": 42,
"title": "Example Mod",
"tag_line": "Short blurb",
"game_id": 3,
"mod_type": "download_local",
"download_count": 1200,
"rating_avg": 4.6,
"view_url": "https://ayakamods.com/mods/example-mod.42/"
}
],
"pagination": {
"current_page": 1,
"last_page": 5,
"per_page": 20,
"total": 96
}
}

Paginate by passing page; read pagination.last_page / pagination.total from the response. Per-page is server-configured.

Errors

{ "errors": [ { "code": "no_permission", "message": "You do not have permission ..." } ] }
  • 403 - out of scope (wrong game for your key) or missing scope
  • 404 - record does not exist
  • 4xx with an errors array - validation failure on a write