{ "default_role": "member", "admin_group": "ADMIN", "cognito_directory": true,
"roles": [ { "name": "viewer", "description": "…", "permissions": ["read"],
"builtin": true, "members": 1 } ],
"members": [ { "email": "alice@example.com", "role": "viewer",
"status": "active", "invited_by": "dinesh@…",
"invited_at": "…", "joined_at": "…", "account": "CONFIRMED" } ] }{ "email": "alice@example.com", "role": "member" }| The invite is keyed by email; the role applies when this address signs in or registers | |
| role | Any role name from /v1/admin/roles |
{ "email": "alice@example.com", "role": "member", "status": "invited",
"note": "Cognito emailed them a temporary password" }| 400 | invalid email or unknown role |
| 409 | {email} is already a team member |
{ "role": "admin" }{ "email": "alice@example.com", "role": "admin",
"note": "takes effect within ~30 seconds" }| 400 | unknown role, or changing your own role |
| 404 | {email} is not a team member |
{ "email": "alice@example.com",
"note": "membership removed; if they can still sign in they fall back to the default role" }| 400 | you cannot remove yourself from the team |
| 404 | {email} is not a team member |
{ "permissions": ["read", "publish", "consume", "manage", "admin"],
"roles": [ { "name": "publisher", "description": "Read and publish only",
"permissions": ["read", "publish"], "builtin": false, "members": 2 } ] }{ "name": "publisher", "description": "Read and publish only",
"permissions": ["read", "publish"] }| name | 1–32 chars of a-z, 0-9, dashes. "none" is reserved (it means no access) |
| permissions | Non-empty subset of read, publish, consume, manage, admin (admin implies all) |
{ "name": "publisher", "permissions": ["read", "publish"] }| 400 | invalid name or permissions |
| 409 | role {name} already exists |
{ "permissions": ["read", "publish", "consume"], "description": "…" }{ "name": "publisher", "permissions": ["read", "publish", "consume"],
"note": "takes effect within ~30 seconds" }| 400 | built-in role, or invalid permissions |
| 404 | no role named {role} |
{ "name": "publisher", "deleted": true }| 400 | built-in role, or the current default role |
| 404 | no role named {role} |
| 409 | N member(s) still have this role; reassign them first |
{ "auth": { "mode": "cognito", "cognito_pool": "…", "admin_group": "…",
"machine_tokens_configured": 0 },
"config": { "scheduler_enabled": true, "default_retention_ms": 604800000, … },
"storage": { "mongo_host": "mongo:27017", "data_bytes": 1048576,
"collections": { "messages": 1204, "deliveries": 940, … } },
"runtime": { "node": "v22.x", "uptime_s": 86400 } }| limit | Max rows (default 200, cap 500) |
{ "events": [ { "ts": "…", "type": "team_invited",
"actor": "dinesh@…", "sub": null, "message_id": null,
"details": { "email": "alice@example.com", "role": "member" } } ] }