> For the complete documentation index, see [llms.txt](https://docs.xibosignage.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xibosignage.com/developer/integrate/openapi/schedule.md).

# Schedule

Schedule

## Generates the calendar that we draw events on

> ⚠️ This endpoint is deprecated and will be removed in v5.0.

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"schedule","description":"Schedule"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"ScheduleCalendarData":{"properties":{"id":{"description":"Event ID","type":"integer"},"title":{"description":"Event Title","type":"string"},"sameDay":{"description":"Does this event happen only on 1 day","type":"integer"},"event":{"$ref":"#/components/schemas/Schedule"}}},"Schedule":{"properties":{"eventId":{"description":"The ID of this Event","type":"integer"},"eventTypeId":{"description":"The Event Type ID","type":"integer"},"campaignId":{"description":"The CampaignID this event is for","type":"integer"},"commandId":{"description":"The CommandId this event is for","type":"integer"},"displayGroups":{"description":"Display Groups assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/DisplayGroup"}},"scheduleReminders":{"description":"Schedule Reminders assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/ScheduleReminder"}},"criteria":{"description":"Schedule Criteria assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/ScheduleCriteria"}},"userId":{"description":"The userId that owns this event.","type":"integer"},"fromDt":{"description":"A Unix timestamp representing the from date of this event in CMS time.","type":"integer"},"toDt":{"description":"A Unix timestamp representing the to date of this event in CMS time.","type":"integer"},"isPriority":{"description":"Integer indicating the event priority.","type":"integer"},"displayOrder":{"description":"The display order for this event.","type":"integer"},"recurrenceType":{"description":"If this event recurs when what is the recurrence period.","type":"string","enum":["None","Minute","Hour","Day","Week","Month","Year"]},"recurrenceDetail":{"description":"If this event recurs when what is the recurrence frequency.","type":"integer"},"recurrenceRange":{"description":"A Unix timestamp indicating the end time of the recurring events.","type":"integer"},"recurrenceRepeatsOn":{"description":"Recurrence repeats on days - 0 to 7 where 0 is a monday","type":"string"},"recurrenceMonthlyRepeatsOn":{"description":"Recurrence monthly repeats on - 0 is day of month, 1 is weekday of week","type":"integer"},"campaign":{"description":"The Campaign/Layout Name","type":"string","readOnly":true},"command":{"description":"The Command Name","type":"string","readOnly":true},"dayPartId":{"description":"The Day Part Id","type":"integer"},"isAlways":{"description":"Is this event an always on event?","type":"integer"},"isCustom":{"description":"Does this event have custom from/to date times?","type":"integer"},"syncEvent":{"description":"Flag indicating whether the event should be synchronised across displays","type":"integer"},"syncTimezone":{"description":"Flag indicating whether the event will sync to the Display timezone","type":"integer"},"shareOfVoice":{"description":"Seconds (0-3600) of each full hour that is scheduled that this Layout should occupy","type":"integer"},"maxPlaysPerHour":{"description":"The maximum number of plays per hour per display for this event","type":"integer"},"isGeoAware":{"description":"Flag (0-1), whether this event is using Geo Location","type":"integer"},"geoLocation":{"description":"Geo JSON representing the area of this event","type":"string"},"actionTriggerCode":{"description":"For Action event type, Action trigger code","type":"string"},"actionType":{"description":"For Action event type, the type of the Action (navigate to Layout or Command)","type":"string"},"actionLayoutCode":{"description":"For Action event type and navigate to Layout Action type, the Layout code","type":"string"},"parentCampaignId":{"description":"If the schedule should be considered part of a larger campaign","type":"integer"},"syncGroupId":{"description":"For sync events, the id the the sync group","type":"integer"},"dataSetId":{"description":"For data connector events, the dataSetId","type":"integer"},"dataSetParams":{"description":"For data connector events, the data set parameters","type":"integer"},"modifiedBy":{"description":"The userId of the user that last modified this Schedule","type":"integer"},"createdOn":{"description":"The Date this Schedule was created on","type":"string"},"updatedOn":{"description":"The Date this Schedule was las updated on","type":"string"},"name":{"description":"The name of this Scheduled Event","type":"string"}}},"DisplayGroup":{"properties":{"displayGroupId":{"description":"The displayGroup Id","type":"integer"},"displayGroup":{"description":"The displayGroup Name","type":"string"},"description":{"description":"The displayGroup Description","type":"string"},"isDisplaySpecific":{"description":"A flag indicating whether this displayGroup is a single display displayGroup","type":"integer"},"isDynamic":{"description":"A flag indicating whether this displayGroup is dynamic","type":"integer"},"dynamicCriteria":{"description":"Criteria for this dynamic group. A comma separated set of regular expressions to apply","type":"string"},"dynamicCriteriaLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND","type":"string"},"dynamicCriteriaTags":{"description":"Criteria for this dynamic group. A comma separated set of tags to apply","type":"string"},"dynamicCriteriaExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"dynamicCriteriaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"userId":{"description":"The UserId who owns this display group","type":"integer"},"tags":{"description":"Tags associated with this Display Group, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"bandwidthLimit":{"description":"The display bandwidth limit","type":"integer"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this DisplayGroup","type":"string"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"folderId":{"description":"The id of the Folder this Display Group belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Display Group","type":"integer"},"ref1":{"description":"Optional Reference 1","type":"string"},"ref2":{"description":"Optional Reference 2","type":"string"},"ref3":{"description":"Optional Reference 3","type":"string"},"ref4":{"description":"Optional Reference 4","type":"string"},"ref5":{"description":"Optional Reference 5","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}},"ScheduleReminder":{"properties":{"scheduleReminderId":{"description":"Schedule Reminder ID","type":"integer"},"eventId":{"description":"The event ID of the schedule reminder","type":"integer"},"value":{"description":"An integer number to define minutes, hours etc.","type":"integer"},"type":{"description":"The type of the reminder (i.e. Minute, Hour, Day, Week, Month)","type":"integer"},"option":{"description":"The options regarding sending a reminder for an event. (i.e., Before start, After start, Before end, After end)","type":"integer"},"isEmail":{"description":"Email flag for schedule reminder","type":"integer"},"reminderDt":{"description":"A date that indicates the reminder date","type":"integer"},"lastReminderDt":{"description":"Last reminder date a reminder was sent","type":"integer"}}},"ScheduleCriteria":{}}},"paths":{"/schedule/data/events":{"get":{"tags":["schedule"],"summary":"Generates the calendar that we draw events on","description":"⚠️ This endpoint is deprecated and will be removed in v5.0.","operationId":"scheduleCalendarData","parameters":[{"schema":{"type":"array","items":{"type":"integer"}},"style":"form","explode":false,"name":"displayGroupIds","in":"query","description":"The DisplayGroupIds to return the schedule for. [-1] for All.","required":true},{"schema":{"type":"string"},"name":"from","in":"query","description":"From Date in Y-m-d H:i:s format, if not provided defaults to start of the current month","required":false},{"schema":{"type":"string"},"name":"to","in":"query","description":"To Date in Y-m-d H:i:s format, if not provided defaults to start of the next month","required":false}],"responses":{"200":{"description":"successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleCalendarData"}}}}}},"deprecated":true}}}}
```

## GET /schedule/{displayGroupId}/events

> Event List

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"schedule","description":"Schedule"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/schedule/{displayGroupId}/events":{"get":{"tags":["schedule"],"summary":"Event List","operationId":"scheduleCalendarDataDisplayGroup","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The DisplayGroupId to return the event list for.","required":true},{"schema":{"type":"integer"},"name":"singlePointInTime","in":"query","required":false},{"schema":{"type":"string"},"name":"date","in":"query","description":"Date in Y-m-d H:i:s","required":false},{"schema":{"type":"string"},"name":"startDate","in":"query","description":"Date in Y-m-d H:i:s","required":false},{"schema":{"type":"string"},"name":"endDate","in":"query","description":"Date in Y-m-d H:i:s","required":false}],"responses":{"200":{"description":"successful response"}}}}}}
```

## GET /schedule

> Generates the Schedule events grid

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"schedule","description":"Schedule"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"Schedule":{"properties":{"eventId":{"description":"The ID of this Event","type":"integer"},"eventTypeId":{"description":"The Event Type ID","type":"integer"},"campaignId":{"description":"The CampaignID this event is for","type":"integer"},"commandId":{"description":"The CommandId this event is for","type":"integer"},"displayGroups":{"description":"Display Groups assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/DisplayGroup"}},"scheduleReminders":{"description":"Schedule Reminders assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/ScheduleReminder"}},"criteria":{"description":"Schedule Criteria assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/ScheduleCriteria"}},"userId":{"description":"The userId that owns this event.","type":"integer"},"fromDt":{"description":"A Unix timestamp representing the from date of this event in CMS time.","type":"integer"},"toDt":{"description":"A Unix timestamp representing the to date of this event in CMS time.","type":"integer"},"isPriority":{"description":"Integer indicating the event priority.","type":"integer"},"displayOrder":{"description":"The display order for this event.","type":"integer"},"recurrenceType":{"description":"If this event recurs when what is the recurrence period.","type":"string","enum":["None","Minute","Hour","Day","Week","Month","Year"]},"recurrenceDetail":{"description":"If this event recurs when what is the recurrence frequency.","type":"integer"},"recurrenceRange":{"description":"A Unix timestamp indicating the end time of the recurring events.","type":"integer"},"recurrenceRepeatsOn":{"description":"Recurrence repeats on days - 0 to 7 where 0 is a monday","type":"string"},"recurrenceMonthlyRepeatsOn":{"description":"Recurrence monthly repeats on - 0 is day of month, 1 is weekday of week","type":"integer"},"campaign":{"description":"The Campaign/Layout Name","type":"string","readOnly":true},"command":{"description":"The Command Name","type":"string","readOnly":true},"dayPartId":{"description":"The Day Part Id","type":"integer"},"isAlways":{"description":"Is this event an always on event?","type":"integer"},"isCustom":{"description":"Does this event have custom from/to date times?","type":"integer"},"syncEvent":{"description":"Flag indicating whether the event should be synchronised across displays","type":"integer"},"syncTimezone":{"description":"Flag indicating whether the event will sync to the Display timezone","type":"integer"},"shareOfVoice":{"description":"Seconds (0-3600) of each full hour that is scheduled that this Layout should occupy","type":"integer"},"maxPlaysPerHour":{"description":"The maximum number of plays per hour per display for this event","type":"integer"},"isGeoAware":{"description":"Flag (0-1), whether this event is using Geo Location","type":"integer"},"geoLocation":{"description":"Geo JSON representing the area of this event","type":"string"},"actionTriggerCode":{"description":"For Action event type, Action trigger code","type":"string"},"actionType":{"description":"For Action event type, the type of the Action (navigate to Layout or Command)","type":"string"},"actionLayoutCode":{"description":"For Action event type and navigate to Layout Action type, the Layout code","type":"string"},"parentCampaignId":{"description":"If the schedule should be considered part of a larger campaign","type":"integer"},"syncGroupId":{"description":"For sync events, the id the the sync group","type":"integer"},"dataSetId":{"description":"For data connector events, the dataSetId","type":"integer"},"dataSetParams":{"description":"For data connector events, the data set parameters","type":"integer"},"modifiedBy":{"description":"The userId of the user that last modified this Schedule","type":"integer"},"createdOn":{"description":"The Date this Schedule was created on","type":"string"},"updatedOn":{"description":"The Date this Schedule was las updated on","type":"string"},"name":{"description":"The name of this Scheduled Event","type":"string"}}},"DisplayGroup":{"properties":{"displayGroupId":{"description":"The displayGroup Id","type":"integer"},"displayGroup":{"description":"The displayGroup Name","type":"string"},"description":{"description":"The displayGroup Description","type":"string"},"isDisplaySpecific":{"description":"A flag indicating whether this displayGroup is a single display displayGroup","type":"integer"},"isDynamic":{"description":"A flag indicating whether this displayGroup is dynamic","type":"integer"},"dynamicCriteria":{"description":"Criteria for this dynamic group. A comma separated set of regular expressions to apply","type":"string"},"dynamicCriteriaLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND","type":"string"},"dynamicCriteriaTags":{"description":"Criteria for this dynamic group. A comma separated set of tags to apply","type":"string"},"dynamicCriteriaExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"dynamicCriteriaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"userId":{"description":"The UserId who owns this display group","type":"integer"},"tags":{"description":"Tags associated with this Display Group, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"bandwidthLimit":{"description":"The display bandwidth limit","type":"integer"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this DisplayGroup","type":"string"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"folderId":{"description":"The id of the Folder this Display Group belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Display Group","type":"integer"},"ref1":{"description":"Optional Reference 1","type":"string"},"ref2":{"description":"Optional Reference 2","type":"string"},"ref3":{"description":"Optional Reference 3","type":"string"},"ref4":{"description":"Optional Reference 4","type":"string"},"ref5":{"description":"Optional Reference 5","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}},"ScheduleReminder":{"properties":{"scheduleReminderId":{"description":"Schedule Reminder ID","type":"integer"},"eventId":{"description":"The event ID of the schedule reminder","type":"integer"},"value":{"description":"An integer number to define minutes, hours etc.","type":"integer"},"type":{"description":"The type of the reminder (i.e. Minute, Hour, Day, Week, Month)","type":"integer"},"option":{"description":"The options regarding sending a reminder for an event. (i.e., Before start, After start, Before end, After end)","type":"integer"},"isEmail":{"description":"Email flag for schedule reminder","type":"integer"},"reminderDt":{"description":"A date that indicates the reminder date","type":"integer"},"lastReminderDt":{"description":"Last reminder date a reminder was sent","type":"integer"}}},"ScheduleCriteria":{}}},"paths":{"/schedule":{"get":{"tags":["schedule"],"summary":"Generates the Schedule events grid","operationId":"scheduleSearch","parameters":[{"schema":{"type":"integer"},"name":"eventTypeId","in":"query","description":"Filter grid by eventTypeId.\r\n     * 1=Layout, 2=Command, 3=Overlay, 4=Interrupt, 5=Campaign, 6=Action, 7=Media Library, 8=Playlist","required":false},{"schema":{"type":"string"},"name":"fromDt","in":"query","description":"From Date in Y-m-d H:i:s format","required":false},{"schema":{"type":"string"},"name":"toDt","in":"query","description":"To Date in Y-m-d H:i:s format","required":false},{"schema":{"type":"integer"},"name":"geoAware","in":"query","description":"Flag (0-1), whether to return events using Geo Location","required":false},{"schema":{"type":"integer"},"name":"recurring","in":"query","description":"Flag (0-1), whether to return Recurring events","required":false},{"schema":{"type":"integer"},"name":"campaignId","in":"query","description":"Filter events by specific campaignId","required":false},{"schema":{"type":"array","items":{"type":"integer"}},"style":"form","explode":false,"name":"displayGroupIds","in":"query","description":"Filter events by an array of Display Group Ids","required":false}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Schedule"}}}}}}}}}}
```

## Add Schedule Event

> Add a new scheduled event for a Campaign/Layout to be shown on a Display Group/Display.

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"schedule","description":"Schedule"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"Schedule":{"properties":{"eventId":{"description":"The ID of this Event","type":"integer"},"eventTypeId":{"description":"The Event Type ID","type":"integer"},"campaignId":{"description":"The CampaignID this event is for","type":"integer"},"commandId":{"description":"The CommandId this event is for","type":"integer"},"displayGroups":{"description":"Display Groups assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/DisplayGroup"}},"scheduleReminders":{"description":"Schedule Reminders assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/ScheduleReminder"}},"criteria":{"description":"Schedule Criteria assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/ScheduleCriteria"}},"userId":{"description":"The userId that owns this event.","type":"integer"},"fromDt":{"description":"A Unix timestamp representing the from date of this event in CMS time.","type":"integer"},"toDt":{"description":"A Unix timestamp representing the to date of this event in CMS time.","type":"integer"},"isPriority":{"description":"Integer indicating the event priority.","type":"integer"},"displayOrder":{"description":"The display order for this event.","type":"integer"},"recurrenceType":{"description":"If this event recurs when what is the recurrence period.","type":"string","enum":["None","Minute","Hour","Day","Week","Month","Year"]},"recurrenceDetail":{"description":"If this event recurs when what is the recurrence frequency.","type":"integer"},"recurrenceRange":{"description":"A Unix timestamp indicating the end time of the recurring events.","type":"integer"},"recurrenceRepeatsOn":{"description":"Recurrence repeats on days - 0 to 7 where 0 is a monday","type":"string"},"recurrenceMonthlyRepeatsOn":{"description":"Recurrence monthly repeats on - 0 is day of month, 1 is weekday of week","type":"integer"},"campaign":{"description":"The Campaign/Layout Name","type":"string","readOnly":true},"command":{"description":"The Command Name","type":"string","readOnly":true},"dayPartId":{"description":"The Day Part Id","type":"integer"},"isAlways":{"description":"Is this event an always on event?","type":"integer"},"isCustom":{"description":"Does this event have custom from/to date times?","type":"integer"},"syncEvent":{"description":"Flag indicating whether the event should be synchronised across displays","type":"integer"},"syncTimezone":{"description":"Flag indicating whether the event will sync to the Display timezone","type":"integer"},"shareOfVoice":{"description":"Seconds (0-3600) of each full hour that is scheduled that this Layout should occupy","type":"integer"},"maxPlaysPerHour":{"description":"The maximum number of plays per hour per display for this event","type":"integer"},"isGeoAware":{"description":"Flag (0-1), whether this event is using Geo Location","type":"integer"},"geoLocation":{"description":"Geo JSON representing the area of this event","type":"string"},"actionTriggerCode":{"description":"For Action event type, Action trigger code","type":"string"},"actionType":{"description":"For Action event type, the type of the Action (navigate to Layout or Command)","type":"string"},"actionLayoutCode":{"description":"For Action event type and navigate to Layout Action type, the Layout code","type":"string"},"parentCampaignId":{"description":"If the schedule should be considered part of a larger campaign","type":"integer"},"syncGroupId":{"description":"For sync events, the id the the sync group","type":"integer"},"dataSetId":{"description":"For data connector events, the dataSetId","type":"integer"},"dataSetParams":{"description":"For data connector events, the data set parameters","type":"integer"},"modifiedBy":{"description":"The userId of the user that last modified this Schedule","type":"integer"},"createdOn":{"description":"The Date this Schedule was created on","type":"string"},"updatedOn":{"description":"The Date this Schedule was las updated on","type":"string"},"name":{"description":"The name of this Scheduled Event","type":"string"}}},"DisplayGroup":{"properties":{"displayGroupId":{"description":"The displayGroup Id","type":"integer"},"displayGroup":{"description":"The displayGroup Name","type":"string"},"description":{"description":"The displayGroup Description","type":"string"},"isDisplaySpecific":{"description":"A flag indicating whether this displayGroup is a single display displayGroup","type":"integer"},"isDynamic":{"description":"A flag indicating whether this displayGroup is dynamic","type":"integer"},"dynamicCriteria":{"description":"Criteria for this dynamic group. A comma separated set of regular expressions to apply","type":"string"},"dynamicCriteriaLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND","type":"string"},"dynamicCriteriaTags":{"description":"Criteria for this dynamic group. A comma separated set of tags to apply","type":"string"},"dynamicCriteriaExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"dynamicCriteriaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"userId":{"description":"The UserId who owns this display group","type":"integer"},"tags":{"description":"Tags associated with this Display Group, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"bandwidthLimit":{"description":"The display bandwidth limit","type":"integer"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this DisplayGroup","type":"string"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"folderId":{"description":"The id of the Folder this Display Group belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Display Group","type":"integer"},"ref1":{"description":"Optional Reference 1","type":"string"},"ref2":{"description":"Optional Reference 2","type":"string"},"ref3":{"description":"Optional Reference 3","type":"string"},"ref4":{"description":"Optional Reference 4","type":"string"},"ref5":{"description":"Optional Reference 5","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}},"ScheduleReminder":{"properties":{"scheduleReminderId":{"description":"Schedule Reminder ID","type":"integer"},"eventId":{"description":"The event ID of the schedule reminder","type":"integer"},"value":{"description":"An integer number to define minutes, hours etc.","type":"integer"},"type":{"description":"The type of the reminder (i.e. Minute, Hour, Day, Week, Month)","type":"integer"},"option":{"description":"The options regarding sending a reminder for an event. (i.e., Before start, After start, Before end, After end)","type":"integer"},"isEmail":{"description":"Email flag for schedule reminder","type":"integer"},"reminderDt":{"description":"A date that indicates the reminder date","type":"integer"},"lastReminderDt":{"description":"Last reminder date a reminder was sent","type":"integer"}}},"ScheduleCriteria":{}}},"paths":{"/schedule":{"post":{"tags":["schedule"],"summary":"Add Schedule Event","description":"Add a new scheduled event for a Campaign/Layout to be shown on a Display Group/Display.","operationId":"scheduleAdd","responses":{"201":{"description":"successful operation","headers":{"Location":{"description":"Location of the new record","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Schedule"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"eventTypeId":{"type":"integer","description":"The Event Type Id to use for this Event.\r\n     * 1=Layout, 2=Command, 3=Overlay, 4=Interrupt, 5=Campaign, 6=Action, 7=Media Library, 8=Playlist"},"campaignId":{"type":"integer","description":"The Campaign ID to use for this Event.\r\n     * If a Layout is needed then the Campaign specific ID for that Layout should be used."},"fullScreenCampaignId":{"type":"integer","description":"For Media or Playlist event Type. The Layout specific Campaign ID to use for this Event.\r\n     * This needs to be the Layout created with layout/fullscreen function"},"commandId":{"type":"integer","description":"The Command ID to use for this Event."},"mediaId":{"type":"integer","description":"The Media ID to use for this Event."},"displayOrder":{"type":"integer","description":"The display order for this event. "},"isPriority":{"type":"integer","description":"An integer indicating the priority of this event. Normal events have a priority of 0."},"displayGroupIds":{"type":"array","description":"The Display Group IDs for this event. Display specific Group IDs should be used to schedule on single displays."},"dayPartId":{"type":"integer","description":"The Day Part for this event. Overrides supported are 0(custom) and 1(always). Defaulted to 0."},"syncTimezone":{"type":"integer","description":"Should this schedule be synced to the resulting Display timezone?"},"fromDt":{"type":"string","description":"The from date for this event.","format":"date-time"},"toDt":{"type":"string","description":"The to date for this event.","format":"date-time"},"recurrenceType":{"type":"string","description":"The type of recurrence to apply to this event."},"recurrenceDetail":{"type":"integer","description":"The interval for the recurrence."},"recurrenceRange":{"type":"string","description":"The end date for this events recurrence.","format":"date-time"},"recurrenceRepeatsOn":{"type":"string","description":"The days of the week that this event repeats - weekly only","format":"array"},"scheduleReminders":{"type":"array","description":"Array of Reminders for this event"},"isGeoAware":{"type":"integer","description":"Flag (0-1), whether this event is using Geo Location"},"geoLocation":{"type":"array","description":"Array of comma separated strings each with comma separated pair of coordinates"},"geoLocationJson":{"type":"string","description":"Valid GeoJSON string, use as an alternative to geoLocation parameter"},"actionType":{"type":"string","description":"For Action eventTypeId, the type of the action - command or navLayout"},"actionTriggerCode":{"type":"string","description":"For Action eventTypeId, the webhook trigger code for the Action"},"actionLayoutCode":{"type":"string","description":"For Action eventTypeId and navLayout actionType, the Layout Code identifier"},"dataSetId":{"type":"integer","description":"For Data Connector eventTypeId, the DataSet ID"},"dataSetParams":{"type":"string","description":"For Data Connector eventTypeId, the DataSet params"}},"required":["eventTypeId","displayOrder","isPriority","displayGroupIds","fromDt"]}}}}}}}}
```

## Delete a Recurring Event

> Delete a Recurring Event of a Scheduled Event

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"schedule","description":"Schedule"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/schedulerecurrence/{eventId}":{"delete":{"tags":["schedule"],"summary":"Delete a Recurring Event","description":"Delete a Recurring Event of a Scheduled Event","operationId":"schedulerecurrenceDelete","parameters":[{"schema":{"type":"integer"},"name":"eventId","in":"path","description":"The Scheduled Event ID","required":true}],"responses":{"204":{"description":"successful operation"}}}}}}
```

## Edit Schedule Event

> Edit a scheduled event for a Campaign/Layout to be shown on a Display Group/Display.

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"schedule","description":"Schedule"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"Schedule":{"properties":{"eventId":{"description":"The ID of this Event","type":"integer"},"eventTypeId":{"description":"The Event Type ID","type":"integer"},"campaignId":{"description":"The CampaignID this event is for","type":"integer"},"commandId":{"description":"The CommandId this event is for","type":"integer"},"displayGroups":{"description":"Display Groups assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/DisplayGroup"}},"scheduleReminders":{"description":"Schedule Reminders assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/ScheduleReminder"}},"criteria":{"description":"Schedule Criteria assigned to this Scheduled Event.","type":"array","items":{"$ref":"#/components/schemas/ScheduleCriteria"}},"userId":{"description":"The userId that owns this event.","type":"integer"},"fromDt":{"description":"A Unix timestamp representing the from date of this event in CMS time.","type":"integer"},"toDt":{"description":"A Unix timestamp representing the to date of this event in CMS time.","type":"integer"},"isPriority":{"description":"Integer indicating the event priority.","type":"integer"},"displayOrder":{"description":"The display order for this event.","type":"integer"},"recurrenceType":{"description":"If this event recurs when what is the recurrence period.","type":"string","enum":["None","Minute","Hour","Day","Week","Month","Year"]},"recurrenceDetail":{"description":"If this event recurs when what is the recurrence frequency.","type":"integer"},"recurrenceRange":{"description":"A Unix timestamp indicating the end time of the recurring events.","type":"integer"},"recurrenceRepeatsOn":{"description":"Recurrence repeats on days - 0 to 7 where 0 is a monday","type":"string"},"recurrenceMonthlyRepeatsOn":{"description":"Recurrence monthly repeats on - 0 is day of month, 1 is weekday of week","type":"integer"},"campaign":{"description":"The Campaign/Layout Name","type":"string","readOnly":true},"command":{"description":"The Command Name","type":"string","readOnly":true},"dayPartId":{"description":"The Day Part Id","type":"integer"},"isAlways":{"description":"Is this event an always on event?","type":"integer"},"isCustom":{"description":"Does this event have custom from/to date times?","type":"integer"},"syncEvent":{"description":"Flag indicating whether the event should be synchronised across displays","type":"integer"},"syncTimezone":{"description":"Flag indicating whether the event will sync to the Display timezone","type":"integer"},"shareOfVoice":{"description":"Seconds (0-3600) of each full hour that is scheduled that this Layout should occupy","type":"integer"},"maxPlaysPerHour":{"description":"The maximum number of plays per hour per display for this event","type":"integer"},"isGeoAware":{"description":"Flag (0-1), whether this event is using Geo Location","type":"integer"},"geoLocation":{"description":"Geo JSON representing the area of this event","type":"string"},"actionTriggerCode":{"description":"For Action event type, Action trigger code","type":"string"},"actionType":{"description":"For Action event type, the type of the Action (navigate to Layout or Command)","type":"string"},"actionLayoutCode":{"description":"For Action event type and navigate to Layout Action type, the Layout code","type":"string"},"parentCampaignId":{"description":"If the schedule should be considered part of a larger campaign","type":"integer"},"syncGroupId":{"description":"For sync events, the id the the sync group","type":"integer"},"dataSetId":{"description":"For data connector events, the dataSetId","type":"integer"},"dataSetParams":{"description":"For data connector events, the data set parameters","type":"integer"},"modifiedBy":{"description":"The userId of the user that last modified this Schedule","type":"integer"},"createdOn":{"description":"The Date this Schedule was created on","type":"string"},"updatedOn":{"description":"The Date this Schedule was las updated on","type":"string"},"name":{"description":"The name of this Scheduled Event","type":"string"}}},"DisplayGroup":{"properties":{"displayGroupId":{"description":"The displayGroup Id","type":"integer"},"displayGroup":{"description":"The displayGroup Name","type":"string"},"description":{"description":"The displayGroup Description","type":"string"},"isDisplaySpecific":{"description":"A flag indicating whether this displayGroup is a single display displayGroup","type":"integer"},"isDynamic":{"description":"A flag indicating whether this displayGroup is dynamic","type":"integer"},"dynamicCriteria":{"description":"Criteria for this dynamic group. A comma separated set of regular expressions to apply","type":"string"},"dynamicCriteriaLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND","type":"string"},"dynamicCriteriaTags":{"description":"Criteria for this dynamic group. A comma separated set of tags to apply","type":"string"},"dynamicCriteriaExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"dynamicCriteriaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"userId":{"description":"The UserId who owns this display group","type":"integer"},"tags":{"description":"Tags associated with this Display Group, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"bandwidthLimit":{"description":"The display bandwidth limit","type":"integer"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this DisplayGroup","type":"string"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"folderId":{"description":"The id of the Folder this Display Group belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Display Group","type":"integer"},"ref1":{"description":"Optional Reference 1","type":"string"},"ref2":{"description":"Optional Reference 2","type":"string"},"ref3":{"description":"Optional Reference 3","type":"string"},"ref4":{"description":"Optional Reference 4","type":"string"},"ref5":{"description":"Optional Reference 5","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}},"ScheduleReminder":{"properties":{"scheduleReminderId":{"description":"Schedule Reminder ID","type":"integer"},"eventId":{"description":"The event ID of the schedule reminder","type":"integer"},"value":{"description":"An integer number to define minutes, hours etc.","type":"integer"},"type":{"description":"The type of the reminder (i.e. Minute, Hour, Day, Week, Month)","type":"integer"},"option":{"description":"The options regarding sending a reminder for an event. (i.e., Before start, After start, Before end, After end)","type":"integer"},"isEmail":{"description":"Email flag for schedule reminder","type":"integer"},"reminderDt":{"description":"A date that indicates the reminder date","type":"integer"},"lastReminderDt":{"description":"Last reminder date a reminder was sent","type":"integer"}}},"ScheduleCriteria":{}}},"paths":{"/schedule/{eventId}":{"put":{"tags":["schedule"],"summary":"Edit Schedule Event","description":"Edit a scheduled event for a Campaign/Layout to be shown on a Display Group/Display.","operationId":"scheduleEdit","parameters":[{"schema":{"type":"integer"},"name":"eventId","in":"path","description":"The Scheduled Event ID","required":true}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Schedule"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"eventTypeId":{"type":"integer","description":"The Event Type Id to use for this Event.\r\n     * 1=Layout, 2=Command, 3=Overlay, 4=Interrupt, 5=Campaign, 6=Action"},"campaignId":{"type":"integer","description":"The Campaign ID to use for this Event.\r\n     * If a Layout is needed then the Campaign specific ID for that Layout should be used."},"commandId":{"type":"integer","description":"The Command ID to use for this Event."},"mediaId":{"type":"integer","description":"The Media ID to use for this Event."},"displayOrder":{"type":"integer","description":"The display order for this event. "},"isPriority":{"type":"integer","description":"An integer indicating the priority of this event. Normal events have a priority of 0."},"displayGroupIds":{"type":"array","description":"The Display Group IDs for this event.\r\n     * Display specific Group IDs should be used to schedule on single displays."},"dayPartId":{"type":"integer","description":"The Day Part for this event. Overrides supported are 0(custom) and 1(always). Defaulted to 0."},"syncTimezone":{"type":"integer","description":"Should this schedule be synced to the resulting Display timezone?"},"fromDt":{"type":"string","description":"The from date for this event.","format":"date-time"},"toDt":{"type":"string","description":"The to date for this event.","format":"date-time"},"recurrenceType":{"type":"string","description":"The type of recurrence to apply to this event."},"recurrenceDetail":{"type":"integer","description":"The interval for the recurrence."},"recurrenceRange":{"type":"string","description":"The end date for this events recurrence.","format":"date-time"},"recurrenceRepeatsOn":{"type":"string","description":"The days of the week that this event repeats - weekly only","format":"array"},"scheduleReminders":{"type":"array","description":"Array of Reminders for this event"},"isGeoAware":{"type":"integer","description":"Flag (0-1), whether this event is using Geo Location"},"geoLocation":{"type":"array","description":"Array of comma separated strings each with comma separated pair of coordinates"},"geoLocationJson":{"type":"string","description":"Valid GeoJSON string, use as an alternative to geoLocation parameter"},"actionType":{"type":"string","description":"For Action eventTypeId, the type of the action - command or navLayout"},"actionTriggerCode":{"type":"string","description":"For Action eventTypeId, the webhook trigger code for the Action"},"actionLayoutCode":{"type":"string","description":"For Action eventTypeId and navLayout actionType, the Layout Code identifier"},"dataSetId":{"type":"integer","description":"For Data Connector eventTypeId, the DataSet ID"},"dataSetParams":{"type":"string","description":"For Data Connector eventTypeId, the DataSet params"}},"required":["eventTypeId","displayOrder","isPriority","displayGroupIds","fromDt"]}}}}}}}}
```

## Delete Event

> Delete a Scheduled Event

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"schedule","description":"Schedule"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/schedule/{eventId}":{"delete":{"tags":["schedule"],"summary":"Delete Event","description":"Delete a Scheduled Event","operationId":"scheduleDelete","parameters":[{"schema":{"type":"integer"},"name":"eventId","in":"path","description":"The Scheduled Event ID","required":true}],"responses":{"204":{"description":"successful operation"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.xibosignage.com/developer/integrate/openapi/schedule.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
