Skip to content

Users API

GET /admin/projects/:projectId/users
Authorization: Bearer <admin_token>
ParameterTypeDefaultDescription
limitnumber20Results per page (max 100)
offsetnumber0Pagination offset
{
"users": [
{
"user_id": "usr_abc123",
"email": "user@example.com",
"role": "member",
"status": "active",
"joined_at": "2025-03-10T14:30:00Z"
},
{
"user_id": "usr_def456",
"email": "admin@example.com",
"role": "admin",
"status": "active",
"joined_at": "2025-01-15T10:00:00Z"
}
],
"total": 2
}

Change a user’s role or status within a project.

PATCH /admin/projects/:projectId/users/:userId
Authorization: Bearer <admin_token>
Content-Type: application/json
FieldTypeDescription
rolestring"admin" or "member"
statusstring"active" or "blocked"

Block a user:

Terminal window
curl -X PATCH https://auth.beshoy.ai/admin/projects/proj_gym/users/usr_abc123 \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "status": "blocked" }'

Promote to admin:

Terminal window
curl -X PATCH https://auth.beshoy.ai/admin/projects/proj_gym/users/usr_abc123 \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "role": "admin" }'
{ "ok": true }

Remove a user from a project entirely. This also revokes all their active sessions.

DELETE /admin/projects/:projectId/users/:userId
Authorization: Bearer <admin_token>
Terminal window
curl -X DELETE https://auth.beshoy.ai/admin/projects/proj_gym/users/usr_abc123 \
-H "Authorization: Bearer $TOKEN"
{ "ok": true }
ActionEffectReversible
BlockUser can’t refresh tokens; existing access tokens expire in 5 minYes (set status back to “active”)
RemoveUser removed from project; all sessions revoked; must be re-invitedYes (re-add via invite)

Blocking is preferred for temporary suspensions. Removal is for permanent access revocation.