List¶
GET /api/v1/incidents/schedule/list
Overview¶
Query Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
| incidentsScheduleUUIDs | commaArray | List of incident schedule UUIDs Allow empty: False |
|
| mySchedule | string | View my schedule, 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 | Timezone for schedule calendar query, default Asia/Shanghai Example: Asia/Shanghai Allow empty: False Max length: 48 |
|
| scDateRange | string | Date range for schedule calendar query, default only the current day Example: 2024/06/22~2024/07/06 Allow empty: False Allow empty string: False Max length: 48 |
|
| search | string | Search schedule name Allow empty: True |
|
| pageIndex | integer | Page number Allow empty: False Example: 1 $minValue: 1 |
|
| pageSize | integer | Number of items 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 override calculation, instead of the original scheduler and the compatible overrideInfo structure.
Each array item’s primary account field represents the actual on-call person for that time slot, and includes:
scheduleUUID: UUID of the on-call configuration this time slot belongs to.scheduleTimeRange: Actual on-call time slot, split by the start and end boundaries of the temporary override.overrideInfo: The complete temporary override relationship that matched;nullif none.
In the override relationship, substituteTargetInfo is consistent with the array item’s primary account info, and replacedTargetInfo is the original scheduler before the override. Different override relationships are not incorrectly merged; multiple non-consecutive time slots for 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, 1786856400]],
"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 use the compatible structure with the original scheduler and overrideInfo at the same level; OpenAPI list, details, 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"
}