Skip to main content

Authentication

Indygo uses JWT-based authentication via Supabase Auth.

Sign Up

email
string
required
User’s email address
password
string
required
Password (minimum 6 characters)
name
string
User’s full name
POST /api/v1/auth/signup

{
  "email": "user@example.com",
  "password": "securepass123",
  "name": "Jane Doe"
}
Response (201):
{
  "id": "uuid",
  "email": "user@example.com",
  "name": "Jane Doe"
}

Login

POST /api/v1/auth/login

{
  "email": "user@example.com",
  "password": "securepass123"
}
Response (200):
{
  "access_token": "eyJ...",
  "token_type": "bearer",
  "email": "user@example.com",
  "role": "User"
}

Get Current User

GET /api/v1/auth/me
Authorization: Bearer <access_token>
Response (200):
{
  "id": "uuid",
  "email": "user@example.com",
  "name": "Jane Doe",
  "role": "User"
}