List members
/member
Org members, each enriched with the matching global user profile so a directory renders without a second lookup. `user` is null when the profile row is unavailable. Each row also says whether you may set its member fields (`can_set_attributes`) and, for a `member:manage` reader or on your own row only, carries the values (`attributes`, `external_id`).
Query Parameters
Case-insensitive substring match on the member's name or email. LIKE wildcards are matched literally. Max 200 characters.
Only members holding this role (role_…) — where a role's member_count leads. Combines with q; a q matching more members than the search ceiling answers 400 rather than a partial list.
Only none: members who hold neither an authenticator app nor a passkey, the list to follow up when turning on the two-factor requirement. Paginated like any other filter; combines with q, not with role_id (400). Requires org:manage.
none
A member field key: only the members with no value for it, where a field's value_count of member_count leads. Combines with q; not with role_id, second_factor or offboarding_for (400). 400 attribute_unknown for a key no field has. Requires member:manage.
Response Body
Their member field values. Present only for a member:manage reader, or on your own row; absent (not empty) otherwise.
You may set this member's field values: you hold member:manage, every permission they hold, and this is not you (nobody sets their own).
Their identity provider id (SCIM externalId). Present exactly when attributes is.
Roles held. Replace the whole set with PATCH /member/{userId}.
4 properties
Role id (role_…).
billablefree_admin
Only active members can act in the organization.
2 properties
Team id (team_…).
Global profile. Null when the profile row could not be resolved.
4 properties
User id (usr_…). A membership has no id of its own.
How they joined — invite, verified domain, SCIM, and so on.
curl -X GET 'https://api.elaichi.ai/member' \
-H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
-H 'Content-Type: application/json'const response = await fetch('https://api.elaichi.ai/member', {
method: 'GET',
headers: {
'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(data);import os
import requests
url = "https://api.elaichi.ai/member"
headers = {
"Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
"Content-Type": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())