Skip to main content
GET
/
api
/
users
List Users
curl --request GET \
  --url https://api.example.com/api/users
{
  "users": [
    {
      "id": "<string>",
      "email": "<string>",
      "username": "<string>",
      "role": "<string>",
      "name": "<string>",
      "profile_image_url": "<string>",
      "profile_banner_image_url": "<string>",
      "bio": "<string>",
      "gender": "<string>",
      "date_of_birth": "<string>",
      "timezone": "<string>",
      "presence_state": "<string>",
      "status_emoji": "<string>",
      "status_message": "<string>",
      "status_expires_at": 123,
      "info": {},
      "settings": {
        "ui": {}
      },
      "oauth": {},
      "scim": {},
      "last_active_at": 123,
      "updated_at": 123,
      "created_at": 123,
      "group_ids": [
        {}
      ]
    }
  ],
  "total": 123
}
Retrieves a paginated list of users with their group memberships and total count.

Authentication

Requires admin authentication.

Query Parameters

query
string
Search query to filter users by name or email
order_by
string
Field to order results by. Options: name, email, created_at, last_active_at, updated_at, role, or group_id:{group_id} for custom group ordering
direction
string
Sort direction. Options: asc or desc
page
integer
default:"1"
Page number for pagination (minimum: 1)

Response

users
array
Array of user objects with group IDs
total
integer
Total number of users matching the query

Example Request

curl -X GET "https://your-domain.com/api/users?page=1&order_by=name&direction=asc" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "users": [
    {
      "id": "user-123",
      "email": "user@example.com",
      "username": "johndoe",
      "role": "user",
      "name": "John Doe",
      "profile_image_url": "/api/v1/users/user-123/profile/image",
      "bio": "Software developer",
      "last_active_at": 1709424000,
      "updated_at": 1709424000,
      "created_at": 1709337600,
      "group_ids": ["group-1", "group-2"]
    }
  ],
  "total": 1
}

Notes

  • Returns 30 users per page
  • Users are returned with their associated group IDs
  • Profile image URLs default to /api/v1/users/{id}/profile/image if not set