Endpoint
POST /api/v1/auth/register
Registration uses a two-step OTP verification flow. Call /auth/register/send-otp first to trigger email verification, then call this endpoint after the user verifies.
Request Body
Account password (minimum 8 characters)
Display name shown in the UI
Example Request
curl -X POST https://api.superbox.ai/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "SecurePass123!",
"display_name": "Your Name"
}'
Response
Firebase ID token (JWT). Use this as Authorization: Bearer <id_token> for API requests.
Long-lived refresh token used to obtain new ID tokens via /auth/refresh.
Seconds until the ID token expires (3600 = 1 hour).
Registered email address.
Success Response (201)
{
"id_token" : "eyJhbGciOiJSUzI1NiIsImtpZCI6..." ,
"refresh_token" : "AMf-vByW3..." ,
"expires_in" : 3600 ,
"email" : "user@example.com" ,
"local_id" : "abc123def456"
}
Error Responses
400 - Validation Error
409 - Conflict
{
"status" : "error" ,
"detail" : "Invalid request: email is required"
}