Skip to content

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; null when there is no match. startAt is the inclusive effective time and endAt is 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"
} 

Feedback

Is this page helpful?