API Documentation

Build powerful integrations with the GameServersHub API

Categories
Rate Limiting

All API endpoints are rate limited. Limits are specified per endpoint.

Authenticated requests get 5x higher limits.

Rate limit headers are included in all responses.

GET
/api/pot/servers
Get all Path of Titans servers from official API and database

Rate Limit

30 req/min

Authentication

Optional

Parameters

page, limit, search, filter

Response

{
  "success": true,
  "items": "[Array of PoT servers]",
  "total": "number",
  "page": "number"
}
GET
/api/pot/server
Get single Path of Titans server details

Rate Limit

60 req/min

Authentication

Optional

Parameters

id or ip:port

Response

{
  "success": true,
  "server": "{server object}"
}
GET
/api/pot/version
Get latest Path of Titans game version

Rate Limit

60 req/min

Authentication

None

Response

{
  "success": true,
  "version": "string",
  "lastUpdated": "timestamp"
}
GET
/api/servers/query-players
Query real-time player list from game server

Rate Limit

30 req/min

Authentication

Optional

Parameters

serverId or host:port

Response

{
  "success": true,
  "players": "[Array of players]",
  "playerCount": "number"
}
POST
/api/servers/claim/initiate
Initiate server ownership claim

Rate Limit

10 req/min

Authentication

Required

Request Body

{
  "serverId": "string",
  "method": "rcon|file|dns"
}

Response

{
  "success": true,
  "claimId": "string",
  "verificationCode": "string"
}
POST
/api/servers/claim/verify
Verify server ownership claim

Rate Limit

10 req/min

Authentication

Required

Request Body

{
  "claimId": "string",
  "verificationCode": "string"
}

Response

{
  "success": true,
  "verified": "boolean"
}
GET
/api/servers/claim/my-servers
Get list of user's claimed servers

Rate Limit

60 req/min

Authentication

Required

Response

{
  "success": true,
  "servers": "[Array of claimed servers]"
}
GET
/api/auth/me
Get current user information

Rate Limit

120 req/min

Authentication

Required

Response

{
  "success": true,
  "user": "{user object}"
}
GET
/api/auth/session
Check current session status

Rate Limit

120 req/min

Authentication

Optional

Response

{
  "authenticated": "boolean",
  "user": "{user or null}"
}
POST
/api/auth/logout
Logout current user

Rate Limit

60 req/min

Authentication

Required

Response

{
  "success": true,
  "message": "Logged out"
}
POST
/api/votes/submit/[serverUuid]
Submit a vote for a server

Rate Limit

1 vote/12 hours per server

Authentication

Optional

Parameters

serverUuid

Request Body

{
  "username": "string (if not authenticated)"
}

Response

{
  "success": true,
  "nextVoteTime": "timestamp",
  "totalVotes": "number"
}
GET
/api/votes/stats/[serverUuid]
Get voting statistics for a server

Rate Limit

60 req/min

Authentication

None

Parameters

serverUuid

Response

{
  "success": true,
  "votes": {
    "daily": "number",
    "weekly": "number",
    "monthly": "number",
    "total": "number"
  }
}
POST
/api/player-activity/track
Track player activity on a server

Rate Limit

60 req/min

Authentication

Optional

Request Body

{
  "serverId": "string",
  "players": "[Array of player names]"
}

Response

{
  "success": true,
  "tracked": "number"
}
GET
/api/player-activity/history
Get player activity history

Rate Limit

60 req/min

Authentication

Optional

Parameters

serverId, timeframe, limit

Response

{
  "success": true,
  "history": "[Array of records]"
}
GET
/api/user/profile
Get user profile information

Rate Limit

60 req/min

Authentication

Required

Response

{
  "success": true,
  "user": "{user profile}"
}
PUT
/api/user/profile
Update user profile

Rate Limit

30 req/min

Authentication

Required

Request Body

{
  "displayName": "string",
  "bio": "string",
  "website": "string"
}

Response

{
  "success": true,
  "updated": "boolean"
}
POST
/api/reviews/submit
Submit a server review

Rate Limit

10 req/min

Authentication

Required

Request Body

{
  "serverId": "string",
  "rating": "number 1-5",
  "content": "string"
}

Response

{
  "success": true,
  "reviewId": "string"
}
GET
/api/reviews/[serverId]
Get reviews for a server

Rate Limit

60 req/min

Authentication

Optional

Parameters

serverId, page, limit, sort

Response

{
  "success": true,
  "reviews": "[Array of reviews]",
  "total": "number"
}
POST
/api/favorites/add
Add server to favorites

Rate Limit

60 req/min

Authentication

Required

Request Body

{
  "serverId": "string"
}

Response

{
  "success": true,
  "added": "boolean"
}
DELETE
/api/favorites/remove
Remove server from favorites

Rate Limit

60 req/min

Authentication

Required

Request Body

{
  "serverId": "string"
}

Response

{
  "success": true,
  "removed": "boolean"
}
GET
/api/favorites/list
Get user's favorite servers

Rate Limit

60 req/min

Authentication

Required

Response

{
  "success": true,
  "favorites": "[Array of servers]"
}