API Overview
Base URL
Production base URL:
https://api.langwa.kwadrise.com
Local development (when running the backend locally):
http://localhost:3000
Authentication
All protected endpoints use bearer tokens:
Authorization: Bearer <access_token>
Error format
Error responses return a non-2xx status code with a JSON body. The exact error
shape is not yet versioned in OpenAPI, so clients should defensively read the
message field when present and fall back to the HTTP status code.
Rate limits
Rate limits are enforced at the API edge. If you need higher limits for a client or integration, coordinate with the backend team to provision per-app rules.
Implemented endpoints
All API routes are prefixed with /api.
Auth
POST /api/auth/signupPOST /api/auth/loginPOST /api/auth/googleGET /api/auth/me(requiresAuthorization: Bearer <token>)POST /api/auth/logout
Upload
POST /api/upload(multipart file upload)
Learners
GET /api/learners/me/preferences(requiresAuthorization: Bearer <token>)
API Explorer
The live Swagger UI is available in the docs site at /api, backed by
/openapi.json from this repo.