POST /auth/login
Authenticate existing users with email and password (password required). Returns a JWT for subsequent authenticated requests.
Endpoint
Section titled “Endpoint”POST /v1/public/projects/:projectSlug/auth/loginRequest Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
email | string | ✅ | User’s email address |
password | string | ✅ | User’s password |
turnstileToken | string | ❌ | Turnstile token for captcha (if project uses it) |
Example Request Body
Section titled “Example Request Body”{ "email": "user@example.com", "password": "SecurePassword123!"}Response
Section titled “Response”Success (200 OK)
Section titled “Success (200 OK)”{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "user": { "id": "user-uuid-here", "email": "user@example.com", "name": "Jane Doe" }}Store the token and send it in Authorization: Bearer <token> for protected endpoints like GET /auth/me.
Error Responses
Section titled “Error Responses”| Status Code | Description |
|---|---|
| 400 | Validation failed (invalid email/password format) |
| 401 | Invalid email or password |
| 403 | Account locked (too many failed attempts) or email not verified |
| 429 | Too many login attempts (rate limited) |
Try It Now
Section titled “Try It Now”POST
https://api.aerostack.dev/v1/public/projects/your-project/auth/loginRelated Endpoints
Section titled “Related Endpoints”- POST /auth/register - Create account
- POST /auth/otp/send - Passwordless login
- GET /auth/me - Get current user