This page describes the Schedule API methods you can use to create, configure, and manage the evaluation time frame for the health rules of an application. The metrics associated with a health rule are evaluated according to a schedule that you control. See Health Rule Schedules.

  • Syntax validation of the JSON payload is done when creating the schedule.
  • Ensure that you pick a time zone the Time Zone List.

Create a New Schedule

Creates a new schedule with the specified JSON payload. See Property Details.

Resource URL

POST <controller_url>/controller/alerting/rest/v1
/applications/<application_id>/schedules

Request/Response Format

JSON

Example

This example creates a health rule schedule that evaluates the health rule once. See Download Examples.

{
    "name": "Daily Schedule",
    "description": "Daily Schedule",
    "timezone": "America/Los_Angeles",
    "scheduleConfiguration": {
        "scheduleFrequency": "DAILY",
        "startTime": "06:00",
        "endTime": "18:00"
    }
}
YML
{
    "id": 62,
    "name": "Daily Schedule",
    "description": "Daily Schedule",
    "timezone": "America/Los_Angeles",
    "scheduleConfiguration": {
        "scheduleFrequency": "DAILY",
        "startTime": "06:00",
        "endTime": "18:00"
    }
}
YML


Retrieve a List of Schedules for a Given Application

Returns a list of schedule(s) details for a health rule associated with the specified application ID. This API returns the schedule ID, name, and description of the schedule. See Property Details.

Resource URL

GET <controller_url>/controller/alerting/rest/v1/applications/<application_id>/schedules

Response Format

JSON

Example Response

This example returns a list of schedules applicable to a given application ID.

[
    {
        "id": 62,
        "name": "Daily Schedule",
        "description": "Daily Schedule",
        "timezone": "America/Los_Angeles"
    },
    {
        "id": 12,
        "name": "End of Business Hour: 5pm-6pm, Mon-Fri",
        "description": "This schedule is active Monday through Friday, during end of business hour",
        "timezone": "Asia/Kolkata"
    },
    {
        "id": 61,
        "name": "Schedule1",
        "description": "Custom Schedule",
        "timezone": "America/Los_Angeles"
    },
    {
        "id": 11,
        "name": "Weekday lunch: 12pm-1pm, Mon-Fri",
        "description": "This schedule is active Monday through Friday, during lunch hour",
        "timezone": "Asia/Kolkata"
    },
    {
        "id": 10,
        "name": "Weekday mornings: 8am-12pm, Mon-Fri",
        "description": "This schedule is active Monday through Friday, during morning hours",
        "timezone": "Asia/Kolkata"
    },
    {
        "id": 7,
        "name": "Weekdays: 8am-5pm, Mon-Fri",
        "description": "This schedule is active Monday through Friday, during business hours",
        "timezone": "Asia/Kolkata"
    },
    {
        "id": 9,
        "name": "Weekends: 12am-11pm, Sat-Sun",
        "description": "This schedule is active all day and night on the weekend",
        "timezone": "Asia/Kolkata"
    },
    {
        "id": 8,
        "name": "Weeknights: 11pm-6am, Mon-Fri",
        "description": "This schedule is active Monday through Friday, during night time batch runs",
        "timezone": "Asia/Kolkata"
    }
]
YML


Retrieve the Details of a Specified Schedule

Retrieves a schedule with a specified ID. See Property Details.

Resource URL

GET <controller_url>/controller/alerting/rest/v1/applications/<application_id>/schedules/{schedule-id}

Response Format

JSON

Example Response

This example retrieves the details of a schedule. See Download Examples.

{
    "id": 12,
    "name": "End of Business Hour: 5pm-6pm, Mon-Fri",
    "description": "This schedule is active Monday through Friday, during end of business hour",
    "timezone": "Asia/Kolkata",
    "scheduleConfiguration": {
        "scheduleFrequency": "WEEKLY",
        "days": [
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY"
        ],
        "startTime": "17:00",
        "endTime": "18:00"
    }
}
YML


Update a Schedule

Updates an existing schedule with a specified JSON payload. See Property Details.

Resource URL

PUT <controller_url>/controller/alerting/rest/v1/applications/<application_id>/schedules/{schedule-id}

Request/Response Format

JSON

Example 

This example updates a schedule that evaluates the health rule once. See Download Examples.

{
    "name": "One Time Schedule",
    "description": "One Time Schedule",
    "timezone": "America/Los_Angeles",
    "scheduleConfiguration": {
        "scheduleFrequency": "ONE_TIME",
        "startTime": "06:00",
        "endTime": "18:00",
        "startDate": "01/01/2019",
        "endDate": "01/01/2019"
    }
}
YML

This example confirms that the schedule was updated successfully.

{
    "id": 62,
    "name": "One Time Schedule",
    "description": "One Time Schedule",
    "timezone": "America/Los_Angeles",
    "scheduleConfiguration": {
        "scheduleFrequency": "ONE_TIME",
        "startDate": "01/01/2019",
        "startTime": "06:00",
        "endDate": "01/01/2019",
        "endTime": "18:00"
    }
}
YML


Delete a Schedule

Delete a schedule with the specified ID. See Property Details.

Resource URL

DELETE <controller_url>/controller/alerting/rest/v1/applications/<application_id>/schedules/{schedule-id}

Response Codes

Code

Description

200Fetched successfully
201Created successfully
204Deleted successfully
400Bad request
401Unauthorized
403Forbidden
404Resource not found
409Already exists

Property Details

Schedule

Payload details for the health rule schedule.

Property Name

Type

Description and Valid Values

id integer

Auto-generated by the system and returned in the response.

It is a ReadOnly value.

name*

string

Name of schedule to be associated with the health rule for evaluation.

Minimum length: 1

descriptionstring

Description of the schedule with evaluation details.

Example: Health rules are evaluated daily at 12 noon.

Default value: true

timezone*

string

Timezone Id - Unique identifier of the time zone. See Time Zones.

Example: America/Los_Angeles

scheduleConfiguration*


Property NameTypeDescription
scheduleFrequencystring

The health rule(s) evaluation frequency specified in the schedule.

Enums:

ONE_TIME

DAILY

WEEKLY

MONTHLY_SPECIFIC_DATE

MONTHLY_SPECIFIC_DAY

CUSTOM

OneTimeSchedule

This schedule evaluates the health rule once.

Property NameTypeDescription
scheduleFrequency*stringThe frequency to evaluate the health rule(s). See Enums.
startDate*string

The scheduled start date in DD/MM/YYYY format.

Pattern: 

^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$

startTime*string

The scheduled start time in a 24-hour format.

Pattern:

^([01]\d|2[0-3]):([0-5]\d)$

endDate*string

The scheduled end date in DD/MM/YYYY format.

Pattern:

^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$

endTime*string

The scheduled end time in a 24-hour format.

Pattern:

^([01]\d|2[0-3]):([0-5]\d)$

DailySchedule

A recurring schedule to evaluate the health rule every day.

Property NameTypeDescription
scheduleFrequency*stringThe frequency to evaluate the health rule(s). See Enums.
startTime*string

The scheduled start time in a 24-hour format.

pattern:

^([01]\d|2[0-3]):([0-5]\d)$

endTime*string

The scheduled end time in a 24-hour format.

pattern:

^([01]\d|2[0-3]):([0-5]\d)$

WeeklySchedule

A recurring schedule to evaluate the health rule every week.

Property NameTypeDescription
scheduleFrequency*stringThe frequency to evaluate the health rule(s). See Enums.
days*string

The day of the week to evaluate the health rule.

minItems: 1

maxItems: 7

Property NameTypeDescription
DayOfWeekstring

Enums

SUNDAY

MONDAY

TUESDAY

WEDNESDAY

THURSDAY

FRIDAY

SATURDAY

startTime*string

The scheduled start time in a 24-hour format.

pattern:

^([01]\d|2[0-3]):([0-5]\d)$

endTime*string

The schedule end time in 24-hour format.

pattern:

^([01]\d|2[0-3]):([0-5]\d)$

MonthlySpecificDateSchedule

A recurring schedule to evaluate the health rule every month on a specific date.

Property NameTypeDescription
scheduleFrequency*stringThe frequency to evaluate the health rule(s). See Enums.
startDate*string

The schedule start date in DD/MM/YYYY format.

pattern: 

^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$

startTime*string

The scheduled start time in a 24-hour format.

pattern:

^([01]\d|2[0-3]):([0-5]\d)$

endDate*string

The scheduled end date in DD/MM/YYYY format.

pattern:

^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$

endTime*string

The scheduled end time in a 24-hour format.

pattern:

^([01]\d|2[0-3]):([0-5]\d)$

MonthlySpecificDaySchedule

A recurring schedule to evaluate the health rule every month on a specific date.

Property NameTypeDescription
scheduleFrequency*stringThe frequency to evaluate the health rule(s). See Enums.
startTime*string

The scheduled start time in a 24-hour format.

pattern:

^([01]\d|2[0-3]):([0-5]\d)$

endTime*string

The schedules end time in a 24-hour format.

pattern:

^([01]\d|2[0-3]):([0-5]\d)$

day*string

The day of the week to evaluate the health rule.

minItems: 1

maxItems: 7

Property Name

Type

Description

DayOfWeekstring

Enums

SUNDAY

MONDAY

TUESDAY

WEDNESDAY

THURSDAY

FRIDAY

SATURDAY

occurrence*string

The occurrence of the day within a month.

Enums:

FIRST

SECOND

THIRD

FOURTH

LAST 

CustomSchedule

A custom schedule to evaluate the health rule based on specific requirements and timezone. Use UNIX cron expressions to define properties.

Property NameTypeDescription
scheduleFrequency*stringThe frequency to evaluate the health rule(s). See Enums.
startCron*string

The beginning of the UNIX cron expression.

endCron*stringThe end of the UNIX cron expression.

ScheduleSummaryElement

The details of the schedule you have defined that are returned when you retrieve the schedules API.

Property NameTypeDescription
id integer

Auto-generated by the system and returned in the response.

name*

string

Name of the schedule associated with the health rule for evaluation.

descriptionstring

Description of the schedule and evaluation details.

timezone*string

Timezone ID - Unique identifier of the time zone.

*This property is required (mandatory).

Download Examples

Download a set of examples that help you configure a schedule, Schedule Examples.zip.

Download SWAGGER YAML file

Download the Swagger YAML spec schedule_openapi.yml.