List Users

Returns a paginated list of all users in the organization.

GET /api/v1/users
Authentication
Bearer Token
Version
v1
Section
Users
Tags
users list

Returns a paginated list of users belonging to your organization. Results are sorted by createdAt descending by default.

Query Parameters

NameTypeRequiredDescription
pageintegerPage number, starting from 1. Default: 1.
limitintegerNumber of results per page. Max: 100. Default: 20.
sortstringSort field. Allowed values: name, email, createdAt.
orderstringSort direction. Allowed values: asc, desc. Default: asc.

Request Headers

HeaderTypeRequiredDescription
Authorization*stringBearer token. Format: Bearer <token>.
AcceptstringResponse format. Default: application/json.

Responses

StatusDescription
200List of users retrieved successfully.
{
  "data": [
    { "id": "usr_abc123", "name": "Alice", "email": "alice@example.com" }
  ],
  "meta": { "page": 1, "limit": 20, "total": 84 }
}
401Unauthorized. Missing or invalid Bearer token.
403Forbidden. The token does not have the required users:read scope.

Examples

curl -X GET "https://api.example.com/v1/users?page=1&limit=20" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"
const res = await fetch('/api/v1/users?page=1&limit=20', {
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN'
  }
});
const { data, meta } = await res.json();
console.log(`Found ${meta.total} users`);
import requests

r = requests.get(
    'https://api.example.com/v1/users',
    params={'page': 1, 'limit': 20},
    headers={'Authorization': 'Bearer YOUR_TOKEN'}
)
payload = r.json()
print(f"Found {payload['meta']['total']} users")
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.example.com/v1/users?page=1&limit=20"))
    .header("Authorization", "Bearer YOUR_TOKEN")
    .GET()
    .build();
HttpResponse<String> response = client.send(request,
    HttpResponse.BodyHandlers.ofString());