List an organization's members filtered by team
curl --request GET \
--url https://web-api.soxai.site/api/orgs/{org_id}/validOrgUsers/teamFilter \
--header 'Authorization: Bearer <token>'import requests
url = "https://web-api.soxai.site/api/orgs/{org_id}/validOrgUsers/teamFilter"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://web-api.soxai.site/api/orgs/{org_id}/validOrgUsers/teamFilter', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"uids": [
"user123"
],
"users": [
{
"uid": "user123",
"orgId": "org_ab12cd34",
"email": "member@example.com",
"username": "Member One",
"teams": [
"Team A"
],
"isAdmin": false,
"status": "Activated"
}
]
}{
"error": "bad-request",
"error_msg": "Invalid input: <reason>"
}{
"error": "http-error",
"error_msg": "Invalid authentication credentials. <reason>"
}{
"error": "forbidden",
"error_msg": "Not enough permission"
}{
"error": "not-found",
"error_msg": "Org '<org_id>' not found"
}{
"error": "unprocessable-entity",
"error_msg": "body.<field>: <validation message>"
}{
"error": "rate-limited",
"error_msg": "Rate limit exceeded. Retry after <n> seconds."
}{
"error": "internal-server-error",
"error_msg": "Failed to fetch data: <error_message>"
}Organization Members
List an organization's members filtered by team
List the members of an organization that belong to any of the given teams, as both a uid list and the full roster documents.
validOrgUsers in the path refers to the team filter having matched. It does not mean
the member is activated: members whose invitation is still pending are included, so the team
lists this endpoint feeds stay complete.
Parameters
org_id(path, required) - organization identifier.teamFilter(query, optional, repeatable) - team names. A member matches when they carry any of them. Omit it to receive every member of the organization.
Response
200{"uids": [...], "users": [...]}.uidsandusersdescribe the same members in the same order.
Errors
| Status | Condition |
|---|---|
| 404 | The organization does not exist. A real organization whose members simply do not match teamFilter answers 200 with empty lists |
Authorization
- Scheme:
Authorization: Bearer <idToken>orsoxai-api-key: <api key>. - Accepted roles:
PartnerAdmin,OrgAdmin,OrgUser Adminis accepted regardless of the roles above.PartnerAdminreaches only an org owned by its own company; any other caller must carry anorgIdclaim naming exactly{org_id}.- Denials: a
PartnerAdminnaming another company’s org receives403 PartnerAdmin can change only the org that belongs to your company; a caller whoseorgIdclaim does not name{org_id}receives403 orgId not match; anyone else receives403 Not enough permission.
GET
/
api
/
orgs
/
{org_id}
/
validOrgUsers
/
teamFilter
List an organization's members filtered by team
curl --request GET \
--url https://web-api.soxai.site/api/orgs/{org_id}/validOrgUsers/teamFilter \
--header 'Authorization: Bearer <token>'import requests
url = "https://web-api.soxai.site/api/orgs/{org_id}/validOrgUsers/teamFilter"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://web-api.soxai.site/api/orgs/{org_id}/validOrgUsers/teamFilter', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"uids": [
"user123"
],
"users": [
{
"uid": "user123",
"orgId": "org_ab12cd34",
"email": "member@example.com",
"username": "Member One",
"teams": [
"Team A"
],
"isAdmin": false,
"status": "Activated"
}
]
}{
"error": "bad-request",
"error_msg": "Invalid input: <reason>"
}{
"error": "http-error",
"error_msg": "Invalid authentication credentials. <reason>"
}{
"error": "forbidden",
"error_msg": "Not enough permission"
}{
"error": "not-found",
"error_msg": "Org '<org_id>' not found"
}{
"error": "unprocessable-entity",
"error_msg": "body.<field>: <validation message>"
}{
"error": "rate-limited",
"error_msg": "Rate limit exceeded. Retry after <n> seconds."
}{
"error": "internal-server-error",
"error_msg": "Failed to fetch data: <error_message>"
}Authorizations
HTTPBearerSoxaiApiKey
Query Parameters
Response
uids and users describe the same members in the same order. An organization whose members do not match the filter answers with empty lists.