팀
목록 조회
GET /teams — 워크스페이스의 활성 팀 목록을 cursor pagination으로 조회합니다.
- Scope:
teams:read - 쿼리:
limit(기본 50, 최대 100),cursor
curl "https://api.talk.zeroworks.ai/api/public/v1/teams?limit=50" \
-H "Authorization: Bearer ztpat_..."
응답
{
"success": true,
"data": [
{
"id": "7a1b2c3d-...",
"name": "고객지원팀",
"description": "1차 인바운드 응대",
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-05-01T10:00:00Z"
}
],
"meta": { "has_more": true, "next_cursor": "eyJ..." }
}
description은 미설정 시 응답에서 생략됩니다. 정렬은 created_at 내림차순입니다.
팀 멤버 목록
GET /teams/{id}/members — 팀에 속한 멤버 목록을 조회합니다. {id}는 팀 UUID입니다.
- Scope:
teams:read - 쿼리:
limit(기본 50, 최대 100),cursor - 워크스페이스에 해당 팀이 없으면
404 NOT_FOUND입니다 (빈 멤버 목록과 구분됩니다).
curl "https://api.talk.zeroworks.ai/api/public/v1/teams/7a1b2c3d-.../members?limit=50" \
-H "Authorization: Bearer ztpat_..."
응답
{
"success": true,
"data": [
{
"id": "9b1c2d3e-...",
"email": "agent@example.com",
"name": "김상담",
"role": "agent",
"status": "active",
"last_login_at": "2026-05-01T09:00:00Z",
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-05-01T10:00:00Z"
}
],
"meta": { "has_more": false }
}
멤버 항목은 GET /members와 동일한 표현입니다. avatar_url·last_login_at은 값이 없으면 null이 아니라 키가 생략됩니다. 정렬은 멤버의 created_at 내림차순입니다.