Get organization member stats
GET
/api/v1/organizations/{orgId}/members/stats
const url = 'http://localhost:3000/api/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/members/stats';const options = {method: 'GET', headers: {'X-API-Key': '<X-API-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:3000/api/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/members/stats \ --header 'X-API-Key: <X-API-Key>'Returns aggregate stats for members of the organization: total, byStatus (active/inactive), byRole keyed by role name, and pendingInvitations.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” orgId
required
string format: uuid
Organization UUID
Responses
Section titled “ Responses ”Stats retrieved successfully
Media type application/json
object
total
required
Total number of users
number
byStatus
required
User counts by status
object
active
required
Number of active users
number
inactive
required
Number of inactive/disabled users
number
byRole
required
Organization-membership counts keyed by role name. Roles are organization-scoped, so the keys are whatever roles exist. Org-scoped this equals a user count; platform-wide a user in several organizations is counted once per membership.
object
key
additional properties
integer
pendingInvitations
required
Number of invitations that are neither accepted nor expired. These are not users and are deliberately not part of byStatus.
number
Example
{ "total": 25, "byStatus": { "active": 20, "inactive": 3 }, "byRole": { "admin": 3, "operator": 8, "viewer": 14 }, "pendingInvitations": 2}Unauthorized
Forbidden - Insufficient permissions
Organization not found