[role="xpack"] [testenv="platinum"] [[ml-post-calendar-event]] === Add events to calendar API ++++ Add events to calendar ++++ Posts scheduled events in a calendar. [[ml-post-calendar-event-request]] ==== {api-request-title} `POST _ml/calendars//events` [[ml-post-calendar-event-prereqs]] ==== {api-prereq-title} * If the {es} {security-features} are enabled, you must have `manage_ml` or `manage` cluster privileges to use this API. See <>. [[ml-post-calendar-event-desc]] ==== {api-description-title} This API accepts a list of {ml-docs}/ml-calendars.html[scheduled events], each of which must have a start time, end time, and description. [[ml-post-calendar-event-path-parms]] ==== {api-path-parms-title} ``:: (Required, string) include::{docdir}/ml/ml-shared.asciidoc[tag=calendar-id] [[ml-post-calendar-event-request-body]] ==== {api-request-body-title} `events`:: (Required, array) A list of one of more scheduled events. The event's start and end times may be specified as integer milliseconds since the epoch or as a string in ISO 8601 format. An event resource has the following properties: `events`.`calendar_id`::: (Optional, string) include::{docdir}/ml/ml-shared.asciidoc[tag=calendar-id] `events`.`description`::: (Optional, string) A description of the scheduled event. `events`.`end_time`::: (Required, date) The timestamp for the end of the scheduled event in milliseconds since the epoch or ISO 8601 format. `events`.`start_time`::: (Required, date) The timestamp for the beginning of the scheduled event in milliseconds since the epoch or ISO 8601 format. [[ml-post-calendar-event-example]] ==== {api-examples-title} [source,console] -------------------------------------------------- POST _ml/calendars/planned-outages/events { "events" : [ {"description": "event 1", "start_time": 1513641600000, "end_time": 1513728000000}, {"description": "event 2", "start_time": 1513814400000, "end_time": 1513900800000}, {"description": "event 3", "start_time": 1514160000000, "end_time": 1514246400000} ] } -------------------------------------------------- // TEST[skip:setup:calendar_outages_addjob] The API returns the following results: [source,console-result] ---- { "events": [ { "description": "event 1", "start_time": 1513641600000, "end_time": 1513728000000, "calendar_id": "planned-outages" }, { "description": "event 2", "start_time": 1513814400000, "end_time": 1513900800000, "calendar_id": "planned-outages" }, { "description": "event 3", "start_time": 1514160000000, "end_time": 1514246400000, "calendar_id": "planned-outages" } ] } ----