Users & Team Management
Track team members per tenant. Four roles. Invite tokens expire in 7 days.
Roles
| Role | Capabilities |
|---|---|
owner | Full admin. Only one per tenant. Cannot be deleted. |
admin | Manage users, streams, IPs, files, settings. |
developer | Send emails, manage templates + streams, view analytics. |
viewer | Read-only access to analytics and event log. |
List users
GET /api/users
Scopes: users:read
Create a user (no invite email)
POST /api/users
Scopes: users:write
{
"email": "new@yourcompany.com",
"name": "New Person",
"role": "developer"
}Change role
PUT /api/users/:id/role
{ "role": "admin" }Suspend / delete
POST /api/users/:id/suspend
DELETE /api/users/:id
Owners can't be suspended or deleted. Transfer ownership first.
Invite via token
POST /api/users/invite
{
"email": "new@yourcompany.com",
"role": "developer"
}Returns { user, invite: { token, expiresAt } }. Email the token to the invitee (Mailgrid doesn't yet send invite emails for you — coming in v3.4).
Accept an invite
POST /api/users/accept-invite
No auth required. Public endpoint by design.
{
"token": "" ,
"name": "Anna Builder"
}Marks the user active and records joinedAt.