オンコールスケジュール 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