Related Pages:

Health Rule Schedules

The schedule API lets you create, configure, and manage the evaluation time frame for health rules of an application. The metrics associated with a health rule are evaluated according to a schedule that you control. 

Note

  • Syntax validation of the JSON payload is done when creating the schedule.
  • Ensure that you pick a time zone as specified in this list.

Create a New Schedule

Creates a new schedule with the specified JSON payload. For complete payload details, refer Property Details.

Resource URL

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

Request/Response Format

JSON

Example Request

 Click here to expand...

This example creates a health rule schedule that evaluates the health rule once. For more examples, see Download Examples.

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

Example Response

 Click here to expand...
{
    "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. For more details, refer Property Details.

Resource URL

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

Response Format

JSON

Example Response

 Click here to expand...

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. For complete payload details, refer Property Details.

Resource URL

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

Response Format

JSON

Example Response

 Click here to expand...

This example retrieves the details of a schedule. For more examples, 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. For complete payload details, refer Property Details.

Resource URL

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

Request/Response Format

JSON

Example Request

 Click here to expand...

This example updates a schedule that evaluates the health rule once. For more examples, 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

Example Response

 Click here to expand...

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

Deletes a schedule with the specified ID. For property details, refer 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. Refer Time Zones for more details.

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 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 schedule start time in 24-hour format.

Pattern:

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

endDate*string

The schedule 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 schedule end time in 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 schedule start time in 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)$

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 schedule start time in 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 schedule start time in 24-hour format.

pattern:

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

endDate*string

The schedule 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 schedule end time in 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 schedule start time in 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)$

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.