Skip to main content
All authentication endpoints are handled by Better-Auth through a catch-all route at /api/auth/*.

Implementation

From src/app/api/auth/[...all]/route.ts:1-5:
This configuration automatically handles all Better-Auth endpoints.

Base URL

All endpoints are prefixed with /api/auth. The base URL is configured in src/lib/auth/auth.ts:20:

Email & Password Endpoints

Sign Up

string
required
User’s email address
string
required
User’s password (minimum requirements defined by Better-Auth)
string
required
User’s display name
object
Created user object
object
Session object if auto-signin is enabled

Sign In

string
required
User’s email address
string
required
User’s password
object
Authenticated user object
object
Created session

Forget Password

string
required
Email address to send reset link
string
URL to redirect after clicking reset link

Reset Password

string
required
New password
string
required
Reset token from email

Email OTP Endpoints

Send OTP

string
required
Email to send OTP code
string
required
OTP type: sign-in, email-verification, or forget-password
Configuration (from src/lib/auth/auth.ts:186-188):
  • OTP Length: 6 digits
  • Expiration: 15 minutes
  • Delivery: Via configured email service

Verify OTP

string
required
Email address
string
required
6-digit OTP code from email
object
Authenticated user object
object
Created session

OAuth Endpoints

Initiate OAuth Flow

string
required
OAuth provider: google, github, microsoft, or facebook
string
URL to redirect after authentication
Supported Providers (from src/lib/auth/auth.ts:45-78):
Required Environment Variables:
  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET
Scopes: email, profile
Required Environment Variables:
  • GITHUB_CLIENT_ID
  • GITHUB_CLIENT_SECRET
Scopes: user:email
Required Environment Variables:
  • MICROSOFT_CLIENT_ID
  • MICROSOFT_CLIENT_SECRET
  • MICROSOFT_TENANT_ID (optional, defaults to ‘common’)
Required Environment Variables:
  • FACEBOOK_CLIENT_ID
  • FACEBOOK_CLIENT_SECRET
Scopes: email, public_profile

OAuth Callback

Better-Auth automatically handles OAuth callbacks at:
No manual implementation required.

Session Endpoints

Get Session

object | null
Current session or null if not authenticated

Sign Out

Organization Endpoints

Create Organization

string
required
Organization name
string
required
URL-friendly slug
object
Created organization

Invite Member

string
required
Organization ID
string
required
Email of person to invite
string
required
Role: member or admin

Error Responses

All endpoints return standard HTTP status codes:
Bad Request
Invalid request parameters or validation error
Unauthorized
Authentication required or invalid credentials
Forbidden
Insufficient permissions
Not Found
Resource not found
Internal Server Error
Server error
Error Response Format:
From src/lib/auth/auth.ts:26-33:

Next Steps

Authentication Overview

Learn about authentication features

Database Schema

View auth-related database tables