Administrators have read and write access to all user accounts on the platform. You can list every registered account, retrieve individual user records, deactivate or delete accounts, and promote users to 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.
ADMIN role using the dedicated bootstrap tool. No HTTP endpoint exists for creating or promoting admins — this is handled exclusively through the admin-init Docker service.
Listing and viewing users
List all users
ADMIN role; non-admin requests receive 403 Forbidden.
Get a specific user
Fields returned for each user
| Field | Type | Description |
|---|---|---|
id | string | Unique user identifier |
email | string | Account email address |
username | string | Public display name |
is_active | boolean | Whether the account is active |
created_at | timestamp | Account creation date and time |
provider | string | Authentication provider: local or google |
provider_id | string | Provider-specific user identifier (OAuth accounts) |
roles | array | Assigned roles: ADMIN, USER, CREATOR, VENUE_MANAGER |
Deactivating or deleting a user
Promoting a user to admin
Admin creation and promotion is handled exclusively through theadmin-init Docker service. This is a deliberate security decision — there is no HTTP endpoint for granting admin privileges. The service is a one-shot tool that either creates a new admin account or promotes an existing user.
Promoting an admin via HTTP endpoint is intentionally not supported. The
admin-init tool is the only supported method for creating or elevating admin accounts, keeping this capability out of the regular API surface.How to run admin-init
Set environment variables
Open your Set
.env file and configure the following variables:APP_ADMIN_EMAIL to the email of the account you want to create or promote. Set APP_ADMIN_PASSWORD_HASH to a bcrypt hash of the desired password if you are creating a new user. If you are promoting an existing account, the password hash is used only when no account with that email is found.Run the admin-init service
Execute the one-shot service using Docker Compose:The service will connect to the database and perform one of two actions:
- User not found — creates a new account with the provided email, password hash, and
ADMINrole. - User found — promotes the existing account to the
ADMINrole without changing any other fields.
Platform roles reference
The following roles are defined in the system. A user can hold multiple roles simultaneously.| Role | Description |
|---|---|
ADMIN | Full platform access, including all user data, content moderation, and dispute management |
USER | Base role assigned to all registered accounts |
CREATOR | Content creators who publish services and portfolio work |
VENUE_MANAGER | Venue owners who list spaces and manage events |
The
USER role is assigned by default when an account registers. CREATOR and VENUE_MANAGER are granted based on the registration flow or profile configuration. ADMIN can only be assigned through the admin-init tool.