Drops the /flash and /html5 sections (old URLs redirect to /browse), the GitHub star count endpoint, the unused HOME_RECENT_HOURS setting, upstream's design notes and code review docs, and the issue template's link to upstream discussions.
9.3 KiB
9.3 KiB
API Reference Documentation
Complete REST API reference for Dotcom Arcade backend service.
Base URL
Development: http://localhost:3100/api Production: Configure via DOMAIN
environment variable
Authentication
Most endpoints require JWT token in Authorization header:
Authorization: Bearer <access_token>
Obtain tokens via /api/auth/login or /api/auth/register.
Response Format
Success Response
{
"data": { ... },
"pagination": { "page": 1, "limit": 50, "total": 1234, "totalPages": 25 }
}
Error Response
{
"error": { "code": 400, "message": "Validation error: ..." }
}
HTTP Status Codes
200 OK- Successful201 Created- Resource created400 Bad Request- Invalid parameters401 Unauthorized- Missing/invalid token403 Forbidden- Insufficient permissions404 Not Found- Resource not found409 Conflict- Resource exists500 Internal Server Error- Server error
Rate Limiting
Default: 100 requests per 15 minutes. Headers: X-RateLimit-Limit,
X-RateLimit-Remaining, X-RateLimit-Reset.
API Endpoints
Authentication
- POST /api/auth/login
- POST /api/auth/register
- POST /api/auth/refresh
- POST /api/auth/logout
- GET /api/auth/me
- GET /api/auth/setup-status
Games
- GET /api/games
- GET /api/games/filter-options
- GET /api/games/random
- GET /api/games/most-played
- GET /api/games/:id
- GET /api/games/:id/launch
- GET /api/games/:id/related
Discovery
Users
- GET /api/users
- GET /api/users/:id
- POST /api/users
- PATCH /api/users/:id
- DELETE /api/users/:id
- POST /api/users/:id/change-password
- GET /api/users/me/settings
- PATCH /api/users/me/settings
- GET /api/users/me/theme
- PATCH /api/users/me/theme
Roles & Permissions
- GET /api/roles
- GET /api/roles/permissions
- GET /api/roles/:id
- POST /api/roles
- PATCH /api/roles/:id
- PUT /api/roles/:id/permissions
- DELETE /api/roles/:id
Playlists (Flashpoint)
- GET /api/playlists
- GET /api/playlists/:id
- POST /api/playlists
- POST /api/playlists/:id/games
- DELETE /api/playlists/:id/games
- DELETE /api/playlists/:id
User Playlists
- GET /api/user-playlists
- GET /api/user-playlists/stats
- GET /api/user-playlists/:id
- POST /api/user-playlists
- PATCH /api/user-playlists/:id
- DELETE /api/user-playlists/:id
- POST /api/user-playlists/:id/games
- DELETE /api/user-playlists/:id/games
- POST /api/user-playlists/:id/share/enable
- POST /api/user-playlists/:id/share/disable
- POST /api/user-playlists/copy-flashpoint
Favorites
- GET /api/favorites
- GET /api/favorites/game-ids
- GET /api/favorites/games
- GET /api/favorites/stats
- POST /api/favorites/toggle
- POST /api/favorites
- DELETE /api/favorites/:gameId
- POST /api/favorites/batch
- DELETE /api/favorites/batch
- DELETE /api/favorites
Play Tracking
- POST /api/play/start
- POST /api/play/end
- GET /api/play/stats
- GET /api/play/game-stats
- GET /api/play/history
- GET /api/play/top-games
- GET /api/play/activity-over-time
- GET /api/play/games-distribution
Shared Playlists
- GET /api/shared-playlists/:shareToken
- GET /api/shared-playlists/:shareToken/games
- GET /api/shared-playlists/:shareToken/games/:gameId/validate
- POST /api/shared-playlists/:shareToken/generate-access-token
- POST /api/shared-playlists/:shareToken/clone
Community Playlists
Downloads
- POST /api/downloads/:id/download
- GET /api/downloads/:id/download/progress
- DELETE /api/downloads/:id/download
Jobs
- GET /api/jobs
- GET /api/jobs/logs/all
- GET /api/jobs/:jobId
- PATCH /api/jobs/:jobId
- POST /api/jobs/:jobId/start
- POST /api/jobs/:jobId/stop
- POST /api/jobs/:jobId/trigger
- GET /api/jobs/:jobId/logs
Platforms & Tags
Activities & Audit Logs
- GET /api/activities
- GET /api/activities/stats
- GET /api/activities/trend
- GET /api/activities/top-actions
- GET /api/activities/breakdown
Admin & Operations
- GET /api/health
- GET /api/health/detailed
- GET /api/cache/stats
- POST /api/cache/clear
- GET /api/database/status
- POST /api/database/reload
- GET /api/metrics/summary
- GET /api/metrics/endpoints
- GET /api/jobs
- GET /api/settings/auth
- PATCH /api/settings/auth
- GET /game-files/*
Domains
System Settings
- GET /api/settings
- GET /api/settings/:category
- PATCH /api/settings/:category
- PATCH /api/settings/:category/:key
- GET /api/settings/_cache/stats
- POST /api/settings/_cache/clear
- GET /api/settings/_cache/permissions/stats
- POST /api/settings/_cache/permissions/clear
Support
Documentation: docs/README.md