Login
curl --request POST \
--url https://api.app.shinzo.ai/auth/login \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"password": "<string>"
}
'Authentication
Login
Authenticate with email and password to receive a JWT token.
POST
/
auth
/
login
Login
curl --request POST \
--url https://api.app.shinzo.ai/auth/login \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"password": "<string>"
}
'Login
Authenticate a user with email and password to receive a JWT token for subsequent API requests.Authentication
No authentication required.string
required
Registered email address
string
required
User password
Example Request
curl -X POST https://api.app.shinzo.ai/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "securepassword123"
}'
Response
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"uuid": "usr_abc123def456",
"email": "user@example.com"
}
}
Status Codes
| Code | Description |
|---|---|
200 | Login successful |
400 | Invalid request (missing fields) |
401 | Invalid email or password |
403 | Email not verified |
Token Usage
The returned JWT token should be included in theAuthorization header for authenticated requests:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Token Expiration
JWT tokens expire after 24 hours. After expiration, users must log in again to obtain a new token.Error Response - Email Not Verified
If the user’s email is not verified:{
"error": "Email not verified. Please check your inbox for a verification email."
}

