Base URLs
Each functional area of the platform is served by a dedicated microservice. Configure these through environment variables in your deployment.| Service | Environment Variable | Default Base URL |
|---|---|---|
| Auth API | REACT_APP_AUTH_API_BASE_URL | https://api.makakoo.com/ma-authentication-ms/v1/api |
| Organizations & Metrics API | REACT_APP_ORGANIZATIONS_API_BASE_URL | https://api.makakoo.com/ma-metrics-wsp-ms/v1/api |
| Wallets API | REACT_APP_WALLETS_API_BASE_URL | Falls back to REACT_APP_ORGANIZATIONS_API_BASE_URL |
| LLM Proxy | REACT_APP_OPENAI_API_BASE | https://api.makakoo.com/ma-llm-proxy-ms/v1/api |
| Analytics (Langfuse) | REACT_APP_LANGFUSE_API_URL | https://api.makakoo.com/ma-langfuse-server-ms/v1/api |
Request Format
All endpoints accept and return JSON. Include the following headers on every request:Api-Key header authenticates your application; the Authorization header authenticates the acting user. See Authentication for details on obtaining tokens.
Response Format
Successful responses return HTTP2xx and a JSON body. Most collection endpoints follow JSON:API conventions:
data:
Error Format
Errors return a non-2xx HTTP status and a JSON body. The shape varies slightly by service, but the most common format is:
error string or message field:
Common HTTP Status Codes
| Status | Meaning |
|---|---|
200 OK | Request succeeded |
201 Created | Resource created successfully |
204 No Content | Request succeeded, no body returned (e.g. DELETE) |
400 Bad Request | Malformed request body or invalid parameters |
401 Unauthorized | Missing or expired access token |
403 Forbidden | Valid token but insufficient permissions |
404 Not Found | Resource does not exist |
409 Conflict | Resource already exists or state conflict |
422 Unprocessable Entity | Validation error on the submitted data |
429 Too Many Requests | Rate limit exceeded |
500 Internal Server Error | Unexpected server error |
Rate Limiting
The Auth service enforces rate limits on sensitive operations:- Login: Limited per username. Exceeded attempts return a
429with the messageToo many login attempts. Please wait N minutes before trying again. - Registration: Limited per username/email.
- Password reset: Limited per email address.
- Validation (email/phone): Limited per address.
429, wait for the duration indicated in the error message before retrying. For high-volume integrations, implement exponential backoff.
For activity log and metrics endpoints, the recommended auto-refresh interval is 30 seconds.
Authentication
All requests require a Bearer JWT token in theAuthorization header. See Authentication for the full token lifecycle, including how to obtain, refresh, and revoke tokens.