ECHO’s API uses stateless JWT Bearer token authentication. Every request to a protected endpoint must include a valid token in theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/HelenaLM32/ECHO/llms.txt
Use this file to discover all available pages before exploring further.
Authorization header. Tokens are issued when you register a new account or log in with an existing one.
Registration
Create a new ECHO account by sending aPOST request to /users/register.
Request fields
A valid email address. Must conform to standard email format (e.g.,
user@example.com).A unique display name. Must be at least 3 characters long.
Account password. Validated server-side for minimum length and format requirements.
Response fields
On success, the API returns a200 response with the created user object.
Unique identifier for the new user account.
The email address associated with the account.
The chosen display name for the account.
Registration does not return a JWT token. After registering, call
/users/login with the same credentials to obtain a token.Login
Authenticate an existing account and receive a JWT token.Request fields
The email address used to register the account.
The account password.
Response
On success, the API returns a200 JSON object. Store the token securely — you will need it for all subsequent authenticated requests.
A signed JWT string used to authenticate requests. Include this value in the
Authorization header as a Bearer token.The authenticated user’s numeric ID.
The authenticated user’s email address.
The authenticated user’s display name.
List of role names assigned to the user (e.g.,
["USER"], ["ADMIN"]).Whether the account is active.
URL of the user’s avatar image, if set.
Using the token
Include the token in theAuthorization header on every request to a protected endpoint.
Tokens must be prefixed with
Bearer (including the trailing space). Requests missing this header, or with an expired or invalid token, will receive a 403 response.Error responses
| Status | Meaning | Common causes |
|---|---|---|
400 | Invalid input | Malformed email, username shorter than 3 characters, password fails validation |
401 | Wrong credentials | Incorrect email or password at login |
403 | Not authorized | Valid token but insufficient permissions (e.g., non-admin accessing an admin endpoint) |