작업
목록 조회
GET /tasks — 워크스페이스 내 모든 팀의 활성 작업을 cursor pagination으로 조회합니다.
- Scope:
tasks:read - 쿼리:
limit(기본 50, 최대 100),cursor
삭제된 작업(deleted_at)은 제외되며, 생성 시각 내림차순으로 정렬됩니다. limit이 [1, 100] 범위를 벗어나면 자동 보정 없이 400 INVALID_QUERY를 반환합니다.
curl "https://api.talk.zeroworks.ai/api/public/v1/tasks?limit=50" \
-H "Authorization: Bearer ztpat_..."
응답
{
"success": true,
"data": [
{
"id": "a1b2c3d4-...",
"team_id": "7c8d9e0f-...",
"title": "환불 문의 후속 처리",
"description": "고객이 영수증을 추가로 보내기로 함",
"channel_id": "c1d2e3f4-...",
"status": "open",
"assignee_id": "b2c3d4e5-...",
"created_at": "2026-05-01T10:00:00Z",
"updated_at": "2026-05-01T11:30:00Z"
}
],
"meta": { "has_more": true, "next_cursor": "eyJ..." }
}
team_id·description·channel_id·assignee_id는 값이 없으면 null이 아니라 키 자체가 생략됩니다 ("key" in obj로 판별). team_id는 팀에 속하지 않은 워크스페이스 작업에서는 키가 생략됩니다(null 아님). status는 open | in_progress | completed이며, 이 세 값 외의 상태는 반환되지 않습니다. cursor는 발급 후 24시간이 지나면 만료됩니다.
단건 조회
GET /tasks/{id} — 단일 작업을 조회합니다. {id}는 작업 UUID입니다.
- Scope:
tasks:read
curl "https://api.talk.zeroworks.ai/api/public/v1/tasks/a1b2c3d4-..." \
-H "Authorization: Bearer ztpat_..."
응답
{
"success": true,
"data": {
"id": "a1b2c3d4-...",
"team_id": "7c8d9e0f-...",
"title": "환불 문의 후속 처리",
"status": "open",
"created_at": "2026-05-01T10:00:00Z",
"updated_at": "2026-05-01T11:30:00Z"
}
}
존재하지 않거나 삭제된 작업은 404 NOT_FOUND를 반환합니다.