온콜 일정 API 레퍼런스
필드에 사용할 수 있는 값
제한 유형
| 값 | 설명 |
|---|---|
NONE | 제한 없음 |
TIMEOFDAY | 하루 중 특정 시간대 기준 제한 |
TIMEINTERVALS | 특정 시간 구간 기준 제한 |
교대 유형
| 값 | 설명 |
|---|---|
DAILY | 매일 교대합니다 |
WEEKLY | 매주 교대합니다 |
CUSTOM | 직접 설정한 일정에 따라 교대합니다 |
요일
| 값 | 설명 |
|---|---|
SATURDAY | 토요일 |
SUNDAY | 일요일 |
MONDAY | 월요일 |
TUESDAY | 화요일 |
WEDNESDAY | 수요일 |
THURSDAY | 목요일 |
FRIDAY | 금요일 |
온콜 일정 멤버 가져오기
엔드포인트:
GET /on-call-schedules/:id/members
요청 예시
GET /on-call-schedules/clzmgn2ze40301poblv9e1pq5/members
응답 예시
{"currentMembers": [{"id": "clh8nmaan72592bfokqjqd95s1","name": null,"email": "member1@email.com","phone": null,"avatar": "https://example.com/avatar.jpg"}],"nextMembers": [{"id": "clzajmm98115510h5olxn5i7ljr","name": null,"email": "member2@email.com","phone": null,"avatar": null}],"allMembers": [{"id": "clh8nmaan72592bfokqjqd95s1","name": null,"email": "member1@email.com","phone": null,"avatar": "https://example.com/avatar.jpg"},{"id": "clzajmm98115510h5olxn5i7ljr","name": null,"email": "member2@email.com","phone": null,"avatar": null}]}
온콜 일정 만들기
엔드포인트:
POST /on-call-schedules
요청 예시
{"name": "Primary On-call Schedule","description": "This schedule is for the primary on-call team.","onCallShifts": [{"name": "Primary","members": [{"workspaceMemberId": "member123","color": "#FF5733"},{"workspaceMemberId": "member456","color": "#33C4FF"}],"rotationType": "WEEKLY","customRotationTypeValue": null,"customRotationTypeUnit": null,"startDate": "2023-08-08T08:00:00Z","endDate": "2024-08-21T08:42:00.000Z","restrictionType": "TIMEINTERVALS","timeOfDayRestrictionStartTime": null,"timeOfDayRestrictionEndTime": null,"timeIntervals": [{"startDay": "SATURDAY","startDayTime": "1970-01-01T21:00:00.000Z","endDay": "SUNDAY","endDayTime": "1970-01-01T03:00:00.000Z"}]}]}
응답 예시
{"id": "clzmgn2ze40301poblv9e1pq5","name": "Primary On-call Schedule","description": "This schedule is for the primary on-call team.","status": "ACTIVE","onCallShifts": [{"id": "clzmgn2zt40361pobj78giwf7","name": "Primary","order": 1,"members": [{"id": "clzmgn2zt40401pobjzq0pwjd","order": 3,"color": "#0470a6","workspaceMember": {"id": "member123","user": {"id": "clh8nmaan72592bfokqjqd95s1","name": null,"email": "member12@email.com","avatar": null}}},{"id": "clzmgn2zt40381pob690bwaxx","order": 1,"color": "#195397","workspaceMember": {"id": "member456","user": {"id": "clzajmm98115510h5olxn5i7ljr","name": null,"email": "member45@email.com","avatar": null}}}],"rotationType": "WEEKLY","customRotationTypeValue": null,"customRotationTypeUnit": null,"startDate": "2024-08-09T08:42:34.557Z","endDate": "2024-08-21T08:42:00.000Z","restrictionType": "TIMEINTERVALS","timeOfDayRestrictionStartTime": null,"timeOfDayRestrictionEndTime": null,"timeIntervals": [{"id": "clzmjq8bn313521ioblyzg7hic","startDay": "SATURDAY","startDayTime": "1970-01-01T21:00:00.000Z","endDay": "SUNDAY","endDayTime": "1970-01-01T03:00:00.000Z"}]}]}
온콜 일정 업데이트하기
엔드포인트:
PUT /on-call-schedules/:id
요청 예시
PUT /on-call-schedules/clzmgn2ze40301poblv9e1pq5
{"id": "clzmgn2ze40301poblv9e1pq5","name": "Name Update","description": "This schedule is for the primary on-call team.","status": "ACTIVE","onCallShifts": [{"id": "clzmgn2zt40361pobj78giwf7","name": "Primary","order": 1,"members": [{"id": "clzmgn2zt40401pobjzq0pwjd","order": 3,"color": "#0470a6","workspaceMember": {"id": "member123","user": {"id": "clh8nmaan72592bfokqjqd95s1","name": null,"email": "member12@email.com","avatar": null}}},{"id": "clzmgn2zt40381pob690bwaxx","order": 1,"color": "#195397","workspaceMember": {"id": "member456","user": {"id": "clzajmm98115510h5olxn5i7ljr","name": null,"email": "member45@email.com","avatar": null}}}],"rotationType": "WEEKLY","customRotationTypeValue": null,"customRotationTypeUnit": null,"startDate": "2024-08-09T08:42:34.557Z","endDate": "2024-08-21T08:42:00.000Z","restrictionType": "TIMEINTERVALS","timeOfDayRestrictionStartTime": null,"timeOfDayRestrictionEndTime": null,"timeIntervals": [{"id": "clzmjq8bn313521ioblyzg7hic","startDay": "SATURDAY","startDayTime": "1970-01-01T21:00:00.000Z","endDay": "SUNDAY","endDayTime": "1970-01-01T03:00:00.000Z"}]}]}
응답 예시
{"id": "clzmgn2ze40301poblv9e1pq5","name": "Name Update","description": "This schedule is for the primary on-call team.","status": "ACTIVE","onCallShifts": [{"id": "clzmgn2zt40361pobj78giwf7","name": "Primary","order": 1,"members": [{"id": "clzmgn2zt40401pobjzq0pwjd","order": 3,"color": "#0470a6","workspaceMember": {"id": "member123","user": {"id": "clh8nmaan72592bfokqjqd95s1","name": null,"email": "member12@email.com","avatar": null}}},{"id": "clzmgn2zt40381pob690bwaxx","order": 1,"color": "#195397","workspaceMember": {"id": "member456","user": {"id": "clzajmm98115510h5olxn5i7ljr","name": null,"email": "member45@email.com","avatar": null}}}],"rotationType": "WEEKLY","customRotationTypeValue": null,"customRotationTypeUnit": null,"startDate": "2024-08-09T08:42:34.557Z","endDate": "2024-08-21T08:42:00.000Z","restrictionType": "TIMEINTERVALS","timeOfDayRestrictionStartTime": null,"timeOfDayRestrictionEndTime": null,"timeIntervals": [{"id": "clzmjq8bn313521ioblyzg7hic","startDay": "SATURDAY","startDayTime": "1970-01-01T21:00:00.000Z","endDay": "SUNDAY","endDayTime": "1970-01-01T03:00:00.000Z"}]}]}
온콜 일정 삭제하기
엔드포인트:
DELETE /on-call-schedules/:id
요청 예시
DELETE /on-call-schedules/schedule-id-1
응답 예시
204 No Content