List¶
GET /api/v1/incidents/schedule/list
Overview¶
Query Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
| incidentsScheduleUUIDs | commaArray | Incident schedule UUID list Allow empty: False |
|
| mySchedule | string | View my schedules, default false: view all schedules Allow empty: True Allowed values: ['true', 'false'] |
|
| scheduleCalendar | string | Schedule calendar, default false: view schedule management Allow empty: True Allowed values: ['true', 'false'] |
|
| scTimezone | string | Time zone used when querying the schedule calendar, default: Asia/Shanghai Example: Asia/Shanghai Allow empty: False Max length: 48 |
|
| scDateRange | string | Date range used when querying the schedule calendar, default: only the query date Example: 2024/06/22~2024/07/06 Allow empty: False Allow empty string: False Max length: 48 |
|
| search | string | Search schedule names Allow empty: True |
|
| pageIndex | integer | Page number Allow empty: False Example: 1 $minValue: 1 |
|
| pageSize | integer | Number of items returned per page Allow empty: False Example: 10 $minValue: 1 $maxValue: 100 |
Additional Parameter Notes¶
When scheduleCalendar=true, scheduleCalendarInfos[date][] returns the actual on-call person after temporary substitution is calculated, and no longer returns the original scheduled person or the sibling overrideInfo compatibility structure.
The account field of each calendar array item represents the actual on-call person for that time slice, and includes:
scheduleUUID: the UUID of the schedule configuration to which this time slice belongs.scheduleTimeRange: the actual on-call time slice, split according to the start and end boundaries of the temporary substitution; it continues to use the closed interval[startAt, endAt]that includes the end second.overrideInfo: the full temporary substitution relationship that matched;nullwhen there is no match.startAtis the inclusive effective time andendAtis the exclusive stop time, so the substitution interval is[startAt, endAt).
The substituteTargetInfo in a substitution relationship is consistent with the account information of the array item, while replacedTargetInfo is the original scheduled person before the substitution. Different substitution relationships are not incorrectly merged; multiple discontinuous time slices of the same relationship can be merged into the same scheduleTimeRange array.
Calendar mode example:
{
"scheduleCalendarInfos": {
"2026/08/16": [
{
"uuid": "acnt_substitute",
"name": "Bob",
"email": "xxx@guance.com",
"scheduleUUID": "incsch_xxx",
"scheduleTimeRange": [[1786838400, 1786856399]],
"overrideInfo": {
"uuid": "incschovr_xxx",
"scheduleUUID": "incsch_xxx",
"replacedTarget": "acnt_original",
"substituteTarget": "acnt_substitute",
"startAt": 1786838400,
"endAt": 1786856400,
"timezone": "Asia/Shanghai",
"replacedTargetInfo": {
"uuid": "acnt_original",
"name": "Alice",
"email": "xxx@guance.com"
},
"substituteTargetInfo": {
"uuid": "acnt_substitute",
"name": "Bob",
"email": "xxx@guance.com"
}
}
}
]
},
"scheduleCalendarUpdateInfos": {},
"totalCount": 1,
"myScheduleCount": 1,
"totalScheduleCount": 1
}
The Front calendar interface at the same path continues to maintain the compatible structure of the original on-call person plus the sibling overrideInfo; the OpenAPI standard list, detail, and write interfaces, and the AIAPI on-call list are unaffected.
Request Example¶
curl 'https://openapi.guance.com/api/v1/incidents/schedule/list?pageIndex=1&pageSize=20' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--compressed
Response¶
{
"code": 200,
"content": {
"data": [
{
"workspaceUUID": "wksp_xxxx",
"name": "default",
"timezone": "Asia/Shanghai",
"start": "00:00",
"end": "23:59",
"tagFilter": [],
"dimensionFilter": "",
"notifyTargets": [],
"strategyConfig": [],
"extend": {
"rotationCycle": "day",
"enableRotateNotification": false
},
"isDefault": true,
"rotationUpdateAt": 1768803347,
"id": 6952,
"uuid": "incsch_xxx",
"status": 0,
"creator": "SYS",
"updator": "acnt_xxx",
"createAt": 1768803072,
"deleteAt": -1,
"updateAt": 1768803347,
"inEffectNotifyTargetsInfos": [],
"notifyTargetsInfos": [],
"effectiveTimeInfos": {
"timeStr": "",
"expired": false
},
"tagFilterInfos": []
}
],
"pageInfo": {
"pageIndex": 1,
"pageSize": 20,
"count": 1,
"totalCount": 1
},
"myScheduleCount": 1,
"totalScheduleCount": 1
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "xxx"
}