Getting Started

Everything you need to integrate with the 8 Pool Ultra API

Base URL

https://api.8ballpro.com/api/v1

Authentication

The 8 Pool Ultra API uses JWT (JSON Web Tokens) for authentication. To access protected endpoints, include the token in the Authorization header:

Authorization: Bearer <your_jwt_token>

Auth Flow

  • Register or login to receive an accessToken and refreshToken
  • Include the access token in all authenticated requests
  • When the access token expires (15 min), use the refresh token to get a new one via POST /auth/refresh
  • Refresh tokens are valid for 30 days

Rate Limiting

API requests are limited to 100 requests per minute per user. Exceeding this returns 429 Too Many Requests. Admin endpoints have a separate limit of 200/min.

Error Format

All errors follow a consistent format:

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Email is required",
    "details": []
  }
}

Common Error Codes

  • 400 - Bad Request (invalid parameters)
  • 401 - Unauthorized (missing or invalid token)
  • 403 - Forbidden (insufficient permissions)
  • 404 - Not Found
  • 409 - Conflict (duplicate resource)
  • 429 - Rate limit exceeded
  • 500 - Internal Server Error