List teams
/team
Lists the organization's teams, each with a member count and a few administrator names. Any member may read them. Cursor-paginated; `q` matches the team name.
Query Parameters
Case-insensitive substring match on the team name. LIKE wildcards are matched literally. Max 200 characters.
Response Body
How many of them administer the team.
The first few administrators, with display names already resolved, so a client can name them without a lookup per row. At most 5 — a preview for a hover, never the set; admin_count is the size. name and email are both null for someone who has left the organization.
5 properties
The person's picture: their stored profile picture, else a Gravatar URL (d=404, 96px) derived from their email (the address itself is not sent), else null. Draw initials when it is null or the image fails to load.
Always true here.
Team id (team_…).
How many people are in the team. The row carries no roster array; GET /team/{id}/member is the roster.
The same, for the first few members (administrators included, flagged by is_admin). member_count is the size; GET /team/{id}/member is the full, paginated roster.
5 properties
The person's picture: their stored profile picture, else a Gravatar URL (d=404, 96px) derived from their email (the address itself is not sent), else null. Draw initials when it is null or the image fails to load.
Unique within the organization.
curl -X GET 'https://api.elaichi.ai/team' \
-H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
-H 'Content-Type: application/json'const response = await fetch('https://api.elaichi.ai/team', {
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/team"
headers = {
"Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
"Content-Type": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())