Skip to main content
All endpoints require authentication.

GET /v1/services

List all services (subscriptions) for the authenticated user. Response (200):
{
  "success": true,
  "data": [
    {
      "id": 1,
      "plan": {
        "id": 2,
        "name": "Premium"
      },
      "cycle": {
        "name": "Monthly",
        "duration_days": 30,
        "price": "9.99"
      },
      "status": "active",
      "starts_at": "2026-01-01T00:00:00Z",
      "expires_at": "2026-02-01T00:00:00Z",
      "auto_renew": true
    }
  ]
}

GET /v1/services/current

Get the user’s current active service. Response (200):
{
  "success": true,
  "data": {
    "id": 1,
    "plan": {
      "id": 2,
      "name": "Premium",
      "bandwidth_limit_gb": 100,
      "speed_limit_mbps": null
    },
    "status": "active",
    "expires_at": "2026-02-01T00:00:00Z",
    "auto_renew": true
  }
}
Returns 404 if no active service exists.

GET /v1/services/

Get details of a specific service by ID.

PUT /v1/services//auto-renew

Toggle auto-renewal for a service. Request:
{
  "auto_renew": false
}
Response (200):
{
  "success": true,
  "message": "Auto-renewal disabled.",
  "data": {
    "auto_renew": false
  }
}

GET /v1/services//bandwidth

Get bandwidth usage for a specific service. Response (200):
{
  "success": true,
  "data": {
    "used_bytes": 5368709120,
    "limit_bytes": 107374182400,
    "used_formatted": "5.00 GB",
    "limit_formatted": "100.00 GB",
    "percentage": 5.0,
    "unlimited": false,
    "reset_date": "2026-02-01"
  }
}