Schedule API (Deprecated)

📘

Create an API Integration and obtain your apiKey to make requests listed below. Please make sure that the integration is not restricted to access configurations.

Create Schedule Request

Create schedule request is used to create schedules in OpsGenie. It takes the following parameters:

Mandatory Parameters

ParameterLimit
apiKeyAPI key is used for authenticating API requests
nameName of schedule100 chars

Optional Parameters

Parameter
timezoneTimezone of schedule, look at this doc. Defaults to Root Timezone, explained in Time Constraints and Timezones document.
enabledEnable/disable state of schedule
rotationsList of schedule rotations
teamName of the team that the schedule will be assigned to. If left empty, the schedule will be global and not belong to any team.
descriptionThe description of schedule.

Mandatory Parameters Of Schedule Rotation

Parameter
startDateDate which this schedule rotation will be active. Should be given in yyyy-MM-dd HH:mm format.
Minute may take 00 or 30 values. Other values will be converted to nearest one of 00 and 30
participantsList of groups, escalations, teams, users or the reserved word none which will be used in schedule. Each of them can be used multiple times. They will be rotated in the order they given.
rotationTypeType of rotation. May be one of daily, weekly and hourly

Optional Parameters Of Schedule Rotation

Parameter
nameName of rotation
rotationLengthLength of rotation. Default is 1
restrictionsUsed to limit schedule rotation to certain day and time of the week, using multiple start and end times for each day of the week. This allows applying different scheduling rotations at different times.
endDateDate which this schedule rotation will end. Should be given in yyyy-MM-dd HH:mm format.
Minute may take 00 or 30 values. Other values will be converted to nearest one of 00 and 30

Mandatory Parameters Of Restriction

Parameter
startHourValue of the hour that frame will start.
startMinuteValue of the minute that frame will start. Minute may take 00 or 30 values. Other values will be converted to nearest one of 00 and 30
endHourValue of the hour that frame will end.
endMinuteValue of the minute that frame will end. Minute may take 00 or 30 values. Other values will be converted to nearest one of 00 and 30
startDayName of day which time frame will start. May be one of monday, tuesday, wednesday, thursday, friday, saturday, sunday
endDayName of day which time frame will end. May be one of monday, tuesday, wednesday, thursday, friday, saturday, sunday

Sample Request

curl -XPOST 'https://api.opsgenie.com/v1/json/schedule' -d '
{
     "apiKey": "eb243592-faa2-4ba2-a551q-1afdf565c889",
     "name" : "network_team_schedule",
     "timezone" : "America/New_York",
     "enabled" : true,
     "description" : "network schedule",
     "rotations" : [
         {
             "name":"Off Hours"
             "startDate":"2013-02-10 18:00",
             "endDate":"2013-07-10 12:00",
             "participants":["[email protected]", "group1"],
             "rotationType":"daily"
         },
         {
             "startDate":"2013-02-10 18:00",
             "participants":["group1"],
             "rotationType":"hourly",
             "rotationLength":8,
             "restrictions":[
                   {"startDay":"monday", "endDay":"thursday","startHour":"8","startMinute":"30","endHour":"17","endMinute":"00"}
             ]
         }
    ]
}'

Response:

{
     "id" : "ac463592-dbd2-4ca3-a651d-48fhf5j5c871",
     "status" : "successful",
     "code" : 200
}

Update Schedule Request

Update schedule request is used to update schedules in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKeyAPI key is used for authenticating API requests
idId of schedule to be updated
nameName of schedule to be updated

🚧

One of id or name parameters should be specified with update schedule request

Optional Parameters

Parameter
nameName of schedule
timezoneTimezone of schedule. Please look [Supported Locale IDs](doc:supported-locale-ids here for available timezones.
enabledEnable/disable state of schedule
rotationsList of schedule rotations
teamName of the team that the schedule will be assigned to.
descriptionThe description of schedule.

Sample Request

curl -XPOST 'https://api.opsgenie.com/v1/json/schedule' -d '
{
     "apiKey": "eb243592-faa2-4ba2-a551q-1afdf565c889",
     "id" : "ac463592-dbd2-4ca3-a651d-48fhf5j5c871",
     "timezone" : "America/New_York",
     "enabled" : true,
     "rotations" : [
         {
             "startDate":"2013-02-10 18:00",
             "endDate":"2013-11-10 12:00",
             "participants":["[email protected]", "group1", "none"],
             "rotationType":"daily"
         },
         {
             "startDate":"2013-02-10 18:00",
             "participants":["group1"],
             "rotationType":"hourly",
             "rotationLength":8,
             "restrictions":[
                   {"startDay":"monday", "endDay":"thursday","startHour":"8","startMinute":"30","endHour":"12","endMinute":"00"}
             ]
         }
    ]
}'

Response:

{
     "status" : "successful",
     "code" : 200
}

Delete Schedule Request

Delete schedule request is used to delete schedules in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKeyAPI key is used for authenticating API requests
idId of schedule to be deleted
nameName of schedule to be deleted

🚧

One of id or name parameters should be specified with delete schedule request

Sample Request

curl -XDELETE 'https://api.opsgenie.com/v1/json/schedule?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network_team_schedule'
curl -XDELETE 'https://api.opsgenie.com/v1/json/schedule?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&id=ac463592-dbd2-4ca3-a651d-48fhf5j5c871'

Response:

{
     "status" : "successful",
     "code" : 200
}

Get Schedule Request

📘

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

Get schedule request is used to search and retrieve schedules in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKeyAPI key is used for authenticating API requests
idId of schedule to be retrieved
nameName of schedule to be retrieved

🚧

One of id or name parameters should be specified with get schedule request.

Sample Request For Schedule Retrieve

curl -XGET 'https://api.opsgenie.com/v1/json/schedule?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network_team_schedule'
curl -XGET 'https://api.opsgenie.com/v1/json/schedule?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&id=ac463592-dbd2-4ca3-a651d-48fhf5j5c871'

Response:

{
    "id": "ac463592-dbd2-4ca3-a651d-48fhf5j5c871",
    "name": "network_team_schedule",
    "timezone": "America/New_York",
    "enabled": true,
    "team": "operations",
    "rules": [
        {
            "id": "3bafd5f2-10c5-4bac-8300-cd2c72e5ca39",
            "startDate": "2013-02-10 18:00",
            "endDate":"2013-11-10 12:00",
            "participants": [
                {"participant": "[email protected]","type": "user"},
                {"participant": "group1","type": "group"}
            ],
            "rotationType": "daily"
        },
        {
            "id": "d179d522-577e-47cb-955c-226003e92ca2",
            "startDate": "2013-02-10 18:00",
            "participants": [
                {"participant": "group1","type": "group"},
                {"participant": "none"}
            ],
            "rotationType": "hourly",
            "rotationLength": 8,
            "restrictions": [
                       {"startDay":"monday", "endDay":"thursday","startHour":"8","startMinute":"30","endHour":"17","endMinute":"00"}
            ]
        }
    ]
}

Get Schedule Timeline Request

📘

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

Get Schedule Timeline request is used to get the timeline of the given schedule that includes time and on-call recipient details. It takes the following parameters:

Mandatory Parameters

Parameter
apiKeyAPI key is used for authenticating API requests
idId of schedule to be retrieved
nameName of schedule to be retrieved

🚧

One of id or name parameters should be specified with get schedule request.

Optional Parameters

Parameter
intervalLength of time as integer in intervalUnits to retrieve the timeline. Default value is 1
intervalUnitUnit of the time to retrieve the timeline. Available values are days, weeks and months. Default value is weeks
dateStarting date of the timeline that will be provided. Should be given in yyyy-MM-dd HH:mm format. Default date is the moment of the time that request is received.
detailsBoolean value to decide whether the details of timeline should be provided or not. If false, only the final schedule will be provided. If true; the details of the base schedule, forwardings and overrides will also be provided if exist. Default value is false

Sample Request

curl -XGET 'https://api.opsgenie.com/v1/json/schedule/timeline?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network_team_schedule&intervalUnit=weeks'
curl -XGET 'https://api.opsgenie.com/v1/json/schedule/timeline?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&id=ac463592-dbd2-4ca3-a651d-48fhf5j5c871&intervalUnit=weeks'
curl -XGET 'https://api.opsgenie.com/v1/json/schedule/timeline?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&id=ac463592-dbd2-4ca3-a651d-48fhf5j5c871&date=2016-04-16%2018:00'

Response:

{
  "schedule": {
    "timezone": "Europe/Istanbul",
    "name": "timeline_test",
    "id": "74aba6a4-8a86-4dce-9a7b-83eaa7af7b3e",
    "team": "",
    "enabled": true
  },
  "took": 18,
  "timeline": {
    "startTime": 1454277600000,
    "endTime": 1454882400000,
    "finalSchedule": {
      "rotations": [
        {
          "name": "",
          "periods": [
            {
              "recipients": [
                {
                  "displayName": "Dawson Creek",
                  "name": "[email protected]",
                  "id": "b165db52-aa87-465e-861a-7017f3359bc4",
                  "type": "user"
                }
              ],
              "startTime": 1454479200000,
              "endTime": 1454515140000,
              "type": "forwarding",
              "fromUsers": [
                {
                  "displayName": "Leonardo da Vinci",
                  "name": "[email protected]",
                  "id": "e3cb0402-0e2f-494a-8cb9-2aa785f7bbac",
                  "type": "user"
                }
              ]
            },
            {
              "recipients": [
                {
                  "displayName": "David Copperfield",
                  "name": "[email protected]",
                  "id": "dc259f25-9358-441f-9576-fd99872f8509",
                  "type": "user"
                }
              ],
              "startTime": 1454515140000,
              "endTime": 1454882400000,
              "type": "override"
            }
          ],
          "id": "1c16ecb8-f315-4795-88d3-7308f9d18076",
          "order": 0
        },
        {
          "name": "",
          "periods": [
            {
              "recipients": [
                {
                  "displayName": "test_group",
                  "name": "test_group",
                  "id": "839a9dbe-8276-4c53-81be-5009c6c56a7b",
                  "type": "group"
                }
              ],
              "flattenedRecipients": [
                {
                  "displayName": "David Copperfield",
                  "name": "[email protected]",
                  "id": "dc259f25-9358-441f-9576-fd99872f8509",
                  "type": "user"
                },
                {
                  "displayName": "Leonardo da Vinci",
                  "name": "[email protected]",
                  "id": "e3cb0402-0e2f-494a-8cb9-2aa785f7bbac",
                  "type": "user",
                  "forwardedFrom": "b165db52-aa87-465e-861a-7017f3359bc4"
                }
              ],
              "startTime": 1454479200000,
              "endTime": 1454515200000,
              "type": "group"
            },
            {
              "recipients": [
                {
                  "displayName": "test_group",
                  "name": "test_group",
                  "id": "839a9dbe-8276-4c53-81be-5009c6c56a7b",
                  "type": "group"
                }
              ],
              "startTime": 1454565600000,
              "endTime": 1454601600000,
              "type": "group"
            },
            {
              "recipients": [
                {
                  "displayName": "test_group",
                  "name": "test_group",
                  "id": "839a9dbe-8276-4c53-81be-5009c6c56a7b",
                  "type": "group"
                }
              ],
              "startTime": 1454652000000,
              "endTime": 1454688000000,
              "type": "group"
            }
          ],
          "id": "ae456709-8581-43ac-a9b6-0232bd260680",
          "order": 0
        }
      ]
    },
    "baseSchedule": {
      "rotations": [
        {
          "name": "Rot1",
          "periods": [
            {
              "recipients": [
                {
                  "displayName": "Leonardo da Vinci",
                  "name": "[email protected]",
                  "id": "e3cb0402-0e2f-494a-8cb9-2aa785f7bbac",
                  "type": "user"
                }
              ],
              "startTime": 1454479200000,
              "endTime": 1454565600000,
              "type": "user"
            },
            {
              "recipients": [
                {
                  "displayName": "John Smith",
                  "name": "[email protected]",
                  "id": "e6e7b896-d869-42f3-8e1c-3c4c89fb9582",
                  "type": "user"
                }
              ],
              "startTime": 1454565600000,
              "endTime": 1454652000000,
              "type": "user"
            },
            {
              "recipients": [
                {
                  "displayName": "Leonardo da Vinci",
                  "name": "[email protected]",
                  "id": "e3cb0402-0e2f-494a-8cb9-2aa785f7bbac",
                  "type": "user"
                }
              ],
              "startTime": 1454652000000,
              "endTime": 1454738400000,
              "type": "user"
            },
            {
              "recipients": [
                {
                  "displayName": "John Smith",
                  "name": "[email protected]",
                  "id": "e6e7b896-d869-42f3-8e1c-3c4c89fb9582",
                  "type": "user"
                }
              ],
              "startTime": 1454738400000,
              "endTime": 1454824800000,
              "type": "user"
            },
            {
              "recipients": [
                {
                  "displayName": "Leonardo da Vinci",
                  "name": "[email protected]",
                  "id": "e3cb0402-0e2f-494a-8cb9-2aa785f7bbac",
                  "type": "user"
                }
              ],
              "startTime": 1454824800000,
              "endTime": 1454882400000,
              "type": "user"
            }
          ],
          "id": "1c16ecb8-f315-4795-88d3-7308f9d18076",
          "order": 1
        },
        {
          "name": "Rot2",
          "periods": [
            {
              "recipients": [
                {
                  "displayName": "test_group",
                  "name": "test_group",
                  "id": "839a9dbe-8276-4c53-81be-5009c6c56a7b",
                  "type": "group"
                }
              ],
              "startTime": 1454479200000,
              "endTime": 1454515200000,
              "type": "group"
            },
            {
              "recipients": [
                {
                  "displayName": "test_group",
                  "name": "test_group",
                  "id": "839a9dbe-8276-4c53-81be-5009c6c56a7b",
                  "type": "group"
                }
              ],
              "startTime": 1454565600000,
              "endTime": 1454601600000,
              "type": "group"
            },
            {
              "recipients": [
                {
                  "displayName": "test_group",
                  "name": "test_group",
                  "id": "839a9dbe-8276-4c53-81be-5009c6c56a7b",
                  "type": "group"
                }
              ],
              "startTime": 1454652000000,
              "endTime": 1454688000000,
              "type": "group"
            }
          ],
          "id": "ae456709-8581-43ac-a9b6-0232bd260680",
          "order": 2
        }
      ]
    },
    "overrides": {
      "rotations": [
        {
          "name": "",
          "periods": [
            {
              "recipients": [
                {
                  "displayName": "David Copperfield",
                  "name": "[email protected]",
                  "id": "dc259f25-9358-441f-9576-fd99872f8509",
                  "type": "user"
                }
              ],
              "startTime": 1454515140000,
              "endTime": 1454882400000,
              "type": "override"
            }
          ],
          "id": "or",
          "order": 0
        }
      ]
    },
    "forwardings": {
      "rotations": [
        {
          "name": "",
          "periods": [
            {
              "recipients": [
                {
                  "displayName": "Dawson Creek",
                  "name": "[email protected]",
                  "id": "b165db52-aa87-465e-861a-7017f3359bc4",
                  "type": "user"
                }
              ],
              "startTime": 1454479200000,
              "endTime": 1454565600000,
              "type": "forwarding",
              "fromUsers": [
                {
                  "displayName": "Leonardo da Vinci",
                  "name": "[email protected]",
                  "id": "e3cb0402-0e2f-494a-8cb9-2aa785f7bbac",
                  "type": "user"
                }
              ]
            },
            {
              "recipients": [
                {
                  "displayName": "Jefferson Taylor",
                  "name": "[email protected]",
                  "id": "f53866e7-ea32-4a16-bddb-0d82ca3b291e",
                  "type": "user"
                }
              ],
              "startTime": 1454565600000,
              "endTime": 1454652000000,
              "type": "forwarding",
              "fromUsers": [
                {
                  "displayName": "John Smith",
                  "name": "[email protected]",
                  "id": "e6e7b896-d869-42f3-8e1c-3c4c89fb9582",
                  "type": "user"
                }
              ]
            },
            {
              "recipients": [
                {
                  "displayName": "Dawson Creek",
                  "name": "[email protected]",
                  "id": "b165db52-aa87-465e-861a-7017f3359bc4",
                  "type": "user"
                }
              ],
              "startTime": 1454652000000,
              "endTime": 1454738400000,
              "type": "forwarding",
              "fromUsers": [
                {
                  "displayName": "Leonardo da Vinci",
                  "name": "[email protected]",
                  "id": "e3cb0402-0e2f-494a-8cb9-2aa785f7bbac",
                  "type": "user"
                }
              ]
            },
            {
              "recipients": [
                {
                  "displayName": "Jefferson Taylor",
                  "name": "[email protected]",
                  "id": "f53866e7-ea32-4a16-bddb-0d82ca3b291e",
                  "type": "user"
                }
              ],
              "startTime": 1454738400000,
              "endTime": 1454824800000,
              "type": "forwarding",
              "fromUsers": [
                {
                  "displayName": "John Smith",
                  "name": "[email protected]",
                  "id": "e6e7b896-d869-42f3-8e1c-3c4c89fb9582",
                  "type": "user"
                }
              ]
            },
            {
              "recipients": [
                {
                  "displayName": "Dawson Creek",
                  "name": "[email protected]",
                  "id": "b165db52-aa87-465e-861a-7017f3359bc4",
                  "type": "user"
                }
              ],
              "startTime": 1454824800000,
              "endTime": 1454882400000,
              "type": "forwarding",
              "fromUsers": [
                {
                  "displayName": "Leonardo da Vinci",
                  "name": "[email protected]",
                  "id": "e3cb0402-0e2f-494a-8cb9-2aa785f7bbac",
                  "type": "user"
                }
              ]
            }
          ],
          "id": "1c16ecb8-f315-4795-88d3-7308f9d18076",
          "order": 0
        },
        {
          "name": "",
          "periods": [],
          "id": "ae456709-8581-43ac-a9b6-0232bd260680",
          "order": 0
        }
      ]
    }
  }
}

flattenedRecipients field is returned when the period is historical, i.e. it starts and ends before now.

List Schedules Request

📘

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

List schedules request is used to list schedules in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKeyAPI key is used for authenticating API requests

Sample Request

curl -XGET 'https://api.opsgenie.com/v1/json/schedule?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889'

Response:

{
    "schedules": [
        {
            "id": "ac463592-dbd2-4ca3-a651d-48fhf5j5c871",
            "name": "network_team_schedule",
            "timezone": "America/New_York",
            "enabled": true,
            "team": "operations",
            "rules": [
                {
                    "id": "d179d522-577e-47cb-955c-226003e92ca2",
                    "startDate": "2013-02-10 18:00",
                    "endDate":"2013-11-10 12:00",
                    "participants": [
                        {"participant": "[email protected]","type": "user"},
                        {"participant": "group1","type": "group"}
                    ],
                    "rotationType": "daily",
                    "rotationLength": 3,
                    "restrictions": []
                },
                {
                    "id": "3bafd5f2-10c5-4bac-8300-cd2c72e5ca39",
                    "startDate": "2013-02-10 18:00",
                    "participants": [
                        {"participant": "group1","type": "group"}
                    ],
                    "rotationType": "hourly",
                    "rotationLength": 8,
                    "restrictions": [
                       {"startDay":"monday", "endDay":"thursday","startHour":"8","startMinute":"30","endHour":"17","endMinute":"00"}
                    ]
                }
            ]
        },
        {
            "id": "ac463592-dbd2-4ca3-a651d-48fhf5j5c871",
            "name": "database_team_schedule",
            "timezone": "Europe/Istanbul",
            "enabled": true,
            "team": "",
            "rules": [
                {
                    "id": "8cbacee1-36ac-445f-acd5-52f7ffe02987"
                    "startDate": "2013-02-10 18:00",
                    "participants": [
                        {"participant": "group2","type": "group"}
                    ],
                    "rotationType": "daily",
                    "rotationLength": 3,
                    "restrictions": []
                }
            ]
        }
    ]
}

Who Is On Call Request

📘

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

Who is on call request is used to retrieve current oncall participants of a specific schedule. It takes the following parameters:

Mandatory Parameters

Parameter
apiKeyAPI key is used for authenticating API requests
idId of schedule whose current participant list will be retrieved
nameName of schedule whose current participant list will be retrieved

🚧

One of id or name parameters should be specified with who is on call request.

Optional Parameters

Parameter
timezoneTimezone will be used to parse the optional time parameter below. Please look here for available timezones.
timeTime to return future date oncall participants. Should be given in yyyy-MM-dd HH:mm format.
flatWhen enabled, retrieves usernames of all on call participants.

Sample Request For Who is OnCall Retrieve

🚧

You should escape the spaces in your url with '%20' if you are using console for curl requests.

curl -XGET 'https://api.opsgenie.com/v1.1/json/schedule/whoIsOnCall?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network_team_schedule'
curl -XGET 'https://api.opsgenie.com/v1.1/json/schedule/whoIsOnCall?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&id=ac463592-dbd2-4ca3-a651d-48fhf5j5c871'
curl -XGET 'https://api.opsgenie.com/v1.1/json/schedule/whoIsOnCall?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network_team_schedule&timezone=America/New_York&time=2013-11-12 10:00'

Response:

{
    "id": "279fd0c6-c872-44fe-98a7-6843eb3abf07",
    "name": "network_team_schedule",
    "type": "schedule",
    "participants": [
        {
            "name": "[email protected]",
            "type": "user",
            "forwarded": "false"
        },
        {
            "name": "network_group",
            "type": "group"
        },
        {
            "name": "network_escalation",
            "type": "escalation"
            "participants" : [
                {
                    "name" : "db_team_schedule",
                    "type" : "schedule",
                    "notifyType" : "next"
                }
            ]
        }
    ]
}

notifyType is the escalation rule's notify type for schedules. Possible values are:

  • default: On-call users of the schedule.
  • next: Next user in the schedule.
  • previous: Previous user in the schedule.

Sample Request For Who is OnCall Retrieve When Flat Option Enabled

http://api.opsgenie.com/v1.1/json/schedule/whoIsOnCall?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=ops_team_schedule&flat=true
{
    took: 66,
    recipients: [
        "[email protected]",
        "[email protected]"
    ],
    isEnabled: true,
    name: "ops_team_schedule",
    id: "edcab14a-94cf-4525-8d3b-224c30653023",
    type: "schedule"
}

Who Is On Call Next Request

🚧

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

Who is on call next request is used to retrieve next oncall participants of a specific schedule. It takes the following parameters:

Mandatory Parameters

Parameter
apiKeyAPI key is used for authenticating API requests
idId of schedule whose current participant list will be retrieved
nameName of schedule whose current participant list will be retrieved

🚧

One of id or name parameters should be specified with who is on call next request.

Optional Parameters

Parameter
flatWhen enabled, retrieves usernames of all on call participants.

Sample Request For Who is OnCall Next Retrieve

🚧

You should escape the spaces in your url with '%20' if you are using console for curl requests.

curl -XGET 'https://api.opsgenie.com/v1/json/schedule/whoIsOnCallNext?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network_team_schedule'
curl -XGET 'https://api.opsgenie.com/v1/json/schedule/whoIsOnCallNext?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&id=ac463592-dbd2-4ca3-a651d-48fhf5j5c871'
curl -XGET 'https://api.opsgenie.com/v1/json/schedule/whoIsOnCallNext?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network_team_schedule

Response:

{
    "id": "279fd0c6-c872-44fe-98a7-6843eb3abf07",
    "name": "network_team_schedule",
    "type": "schedule",
    "finalNextOnCalls": [
        {
            "name": "[email protected]",
            "type": "user",
            "forwarded": "false"
        },
        {
            "name": "network_escalation",
            "type": "escalation"
            "participants" : [
                {
                    "name" : "db_team_schedule",
                    "type" : "schedule",
                    "notifyType" : "next"
                }
            ]
        }
    ],
    "rotationNextOnCalls": [
        {
            "name": "[email protected]",
            "type": "user",
            "forwarded": "false"
        },
        {
            "name": "network_group",
            "type": "group"
        },
        {
            "name": "network_escalation",
            "type": "escalation"
            "participants" : [
                {
                    "name" : "db_team_schedule",
                    "type" : "schedule",
                    "notifyType" : "next"
                }
            ]
        }
    ]
}

🚧

rotationNextOnCalls field contains next on-call participants in the schedule rotation with more detailed display (including forwarding of these users). On the other hand, finalNextOnCalls contains next on-call recipients (final form) like in the final schedule view. For example, it will be different from rotationNextOnCalls, if there are overrides to the rotation. Other than that, the response format is the same for both fields.

notifyType is the escalation rule's notify type for schedules. Possible values are:

  • default: On-call users of the schedule.
  • next: Next user in the schedule.
  • previous: Previous user in the schedule.

Sample Request For Who is OnCall Next Retrieve When Flat Option Enabled

http://api.opsgenie.com/v1/json/schedule/whoIsOnCallNext?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=ops_team_schedule&flat=true

Response

{
    took: 66,
    finalNextRecipients: [
        "[email protected]",
        "[email protected]"
    ],
    rotationNextRecipients: [
        "[email protected]",
        "[email protected]"
    ],
    isEnabled: true,
    name: "ops_team_schedule",
    id: "edcab14a-94cf-4525-8d3b-224c30653023",
    type: "schedule"
}

The difference between rotationNextRecipients and finalNextRecipients fields is the same for non-flat response. rotationNexRecipients contains next on-call recipients in the schedule rotation configuration. finalNextRecipients contains next on-call recipients in the final schedule view.

List Who Is On Call Request

📘

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

List Who is on call request is used to retrieve current oncall participants of all schedules. It takes the following parameters:

Mandatory Parameters

Parameter
apiKeyAPI key is used for authenticating API requests

Optional Parameters

Parameter
timezoneTimezone will be used to parse the optional time parameter below. Please look here for available timezones.
timeTime to return future date oncall participants. Should be given in yyyy-MM-dd HH:mm format.
flatWhen enabled, retrieves usernames of all on call participants.

Optional parameters are handled the same as in who is on-call request.

Sample Request For List Who is OnCall Retrieve of All Defined Schedules

curl -XGET 'https://api.opsgenie.com/v1.1/json/schedule/whoIsOnCall?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889'

Response:

{
    "oncalls": [
        {
    "id": "279fd0c6-c872-44fe-98a7-6843eb3abf07",
    "type": "schedule",
            "name": "network_team_schedule",
            "participants": [
                {
                    "name": "[email protected]",
                    "type": "user",
                    "forwarded": "false"
                }
            ]
        },

        {
    "id": "279fd0c6-c872-44fe-98a7-6843eb3abf07",
    "type": "schedule",
            "name": "db_team_schedule",
            "participants": [
                {
                    "name": "network_group",
                    "type": "group"
                }
            ]
        }
    ]
}

Export Schedule Request

📘

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

Export schedule request is used to export a schedule or personal on-call timeline of 3 months to a .ics file. It takes the following parameters:

Mandatory Parameters

Parameter
apiKeyAPI key is used for authenticating API requests
idId of the schedule to be exported
nameName of the schedule or username of a specific user for export.

🚧

One of id or name parameters should be specified with export schedule request.

Sample Request

curl -XGET 'https://api.opsgenie.com/v1/json/schedule/export?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network_team_schedule'
curl -XGET 'https://api.opsgenie.com/v1/json/schedule/export?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&[email protected]'

Response:

Returns an .ics file with the name of the schedule or user.