Authentication API

Complete API reference for user authentication, registration, and account management endpoints.

Base URL

https://api.loopingbinary.com

Register User

POST/api/auth/register

Create a new user account with email and password.

Request Body

JSON
{
  "email": "user@example.com",
  "password": "SecurePass123!",
  "fullName": "John Doe"
}

Parameters

FieldTypeRequiredDescription
emailstringYesValid email address
passwordstringYesMin 8 characters
fullNamestringYesUser's full name

Response (201 Created)

{
  "message": "User registered successfully",
  "user": {
    "id": 123,
    "email": "user@example.com",
    "fullName": "John Doe",
    "role": "USER",
    "isVerified": false
  },
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Login

POST/api/auth/login

Authenticate user and receive JWT token.

Request Body

{
  "email": "user@example.com",
  "password": "SecurePass123!"
}

Response (200 OK)

{
  "message": "Login successful",
  "user": {
    "id": 123,
    "email": "user@example.com",
    "fullName": "John Doe",
    "role": "USER",
    "isVerified": true
  },
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Get Current User

GET/api/auth/me

Get authenticated user's profile information.

Headers

Authorization: Bearer <token>

Response (200 OK)

{
  "user": {
    "id": 123,
    "email": "user@example.com",
    "fullName": "John Doe",
    "role": "USER",
    "isVerified": true,
    "createdAt": "2025-01-15T10:30:00Z",
    "wallet": {
      "balance": 250.50
    }
  }
}

Verify Email

POST/api/auth/verify-email

Verify user's email address using token from email.

Request Body

{
  "token": "verification_token_from_email"
}

Response (200 OK)

{
  "message": "Email verified successfully"
}

Forgot Password

POST/api/auth/forgot-password

Request password reset email.

Request Body

{
  "email": "user@example.com"
}

Response (200 OK)

{
  "message": "Password reset email sent"
}

Reset Password

POST/api/auth/reset-password

Reset password using token from email.

Request Body

{
  "token": "reset_token_from_email",
  "newPassword": "NewSecurePass123!"
}

Response (200 OK)

{
  "message": "Password reset successful"
}

OAuth Endpoints

GET/api/auth/lb-oauth

Initiate Looping Binary OAuth login flow

Error Responses

Status CodeErrorDescription
400Bad RequestInvalid input data
401UnauthorizedInvalid credentials or token
404Not FoundUser not found
409ConflictEmail already exists
500Internal Server ErrorServer error occurred