> 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/models.md).

# Models

## The importJsonSchema object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"importJsonSchema":{"properties":{"uniqueKeys":{"description":"A name of the unique column","type":"array","items":{"properties":{"colName":{"description":"Import Json schema","type":"string"}},"type":"string"}},"truncate":{"description":"Flag True or False, whether to truncate existing data on import","type":"array","items":{"properties":{"truncate":{"description":"Import Json schema","type":"string"}},"type":"string"}},"rows":{"description":"An array of objects with pairs: ColumnName:Value","type":"array","items":{"properties":{"colName":{"description":"Import Json schema","type":"string"}},"type":"object"}}},"type":"object"}}}}
```

## The PlaylistWidgetList object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"PlaylistWidgetList":{"properties":{"widgetId":{"description":"Widget ID","type":"integer"},"position":{"description":"The position in the Playlist","type":"integer"}}}}}}
```

## The ScheduleCalendarData object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"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":{}}}}
```

## The ScheduleReminderArray object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"ScheduleReminderArray":{"properties":{"reminder_value":{"description":"Model to use for supplying key/value pairs to arrays","type":"integer"},"reminder_type":{"description":"Model to use for supplying key/value pairs to arrays","type":"integer"},"reminder_option":{"description":"Model to use for supplying key/value pairs to arrays","type":"integer"},"reminder_isEmailHidden":{"description":"Model to use for supplying key/value pairs to arrays","type":"integer"}}}}}}
```

## The StatisticsData object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"StatisticsData":{"properties":{"type":{"type":"string"},"display":{"type":"string"},"displayId":{"type":"integer"},"layout":{"type":"string"},"layoutId":{"type":"integer"},"media":{"type":"string"},"mediaId":{"type":"integer"},"widgetId":{"type":"integer"},"scheduleId":{"type":"integer"},"numberPlays":{"type":"integer"},"duration":{"type":"integer"},"start":{"type":"string"},"end":{"type":"string"},"statDate":{"type":"string"},"tag":{"type":"string"}}}}}}
```

## The TimeDisconnectedData object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"TimeDisconnectedData":{"properties":{"display":{"type":"string"},"displayId":{"type":"integer"},"duration":{"type":"integer"},"start":{"type":"string"},"end":{"type":"string"},"isFinished":{"type":"boolean"}}}}}}
```

## The WidgetDataOrder object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"WidgetDataOrder":{"properties":{"dataId":{"description":"Data ID","type":"integer"},"displayOrder":{"description":"Desired display order","type":"integer"}}}}}}
```

## The Action object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Action":{"properties":{"actionId":{"description":"The Action Id","type":"integer"},"ownerId":{"description":"The Owner Id","type":"integer"},"triggerType":{"description":"The Action trigger type","type":"string"},"triggerCode":{"description":"The Action trigger code","type":"string"},"actionType":{"description":"The Action type","type":"string"},"source":{"description":"The Action source (layout, region or widget)","type":"string"},"sourceId":{"description":"The Action source Id (layoutId, regionId or widgetId)","type":"integer"},"target":{"description":"The Action target (region)","type":"string"},"targetId":{"description":"The Action target Id (regionId)","type":"integer"},"widgetId":{"description":"Widget ID that will be loaded as a result of navigate to Widget Action type","type":"integer"},"layoutCode":{"description":"Layout Code identifier","type":"string"},"layoutId":{"description":"Layout Id associated with this Action","type":"integer"}}}}}}
```

## The Application object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Application":{"properties":{"key":{"description":"Application Key","type":"string"},"secret":{"description":"Private Secret Key","type":"string"},"name":{"description":"Application Name","type":"string"},"owner":{"description":"Application Owner","type":"string"},"expires":{"description":"Application Session Expiry","type":"integer"},"userId":{"description":"The Owner of this Application","type":"integer"},"authCode":{"description":"Flag indicating whether to allow the authorizationCode Grant Type","type":"integer"},"clientCredentials":{"description":"Flag indicating whether to allow the clientCredentials Grant Type","type":"integer"},"isConfidential":{"description":"Flag indicating whether this Application will be confidential or not (can it keep a secret?)","type":"integer"},"description":{"description":"Application description","type":"string"},"logo":{"description":"Path to Application logo","type":"string"},"coverImage":{"description":"Path to Application Cover Image","type":"string"},"companyName":{"description":"Company name associated with this Application","type":"string"},"termsUrl":{"description":"URL to Application terms","type":"string"},"privacyUrl":{"description":"URL to Application privacy policy","type":"string"}}}}}}
```

## The ApplicationRequest object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"ApplicationRequest":{"properties":{"requestId":{"description":"The request ID","type":"integer"},"userId":{"description":"The user ID","type":"integer"},"applicationId":{"description":"The application ID","type":"string"},"url":{"description":"The request route","type":"string"},"method":{"description":"The request method","type":"string"},"startTime":{"description":"The request start time","type":"string"},"endTime":{"description":"The request end time","type":"string"},"duration":{"description":"The request duration","type":"integer"}}}}}}
```

## The AuditLog object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"AuditLog":{"properties":{"logId":{"description":"The Log Id","type":"integer"},"logDate":{"description":"The Log Date","type":"integer"},"userId":{"description":"The userId of the User that took this action","type":"integer"},"message":{"description":"Message describing the action taken","type":"string"},"entity":{"description":"The effected entity","type":"string"},"entityId":{"description":"The effected entityId","type":"integer"},"objectAfter":{"description":"A JSON representation of the object after it was changed","type":"string"},"userName":{"description":"The User Name of the User that took this action","type":"string"},"ipAddress":{"description":"The IP Address of the User that took this action","type":"string"},"sessionHistoryId":{"description":"Session history id.","type":"integer"}}}}}}
```

## The Campaign object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Campaign":{"properties":{"campaignId":{"description":"The Campaign Id","type":"integer"},"ownerId":{"description":"The userId of the User that owns this Campaign","type":"integer"},"type":{"description":"The type of campaign, either list, ad, playlist or media","type":"string"},"campaign":{"description":"The name of the Campaign","type":"string"},"isLayoutSpecific":{"description":"A 0|1 flag to indicate whether this is a Layout specific Campaign or not.","type":"integer"},"numberLayouts":{"description":"The number of Layouts associated with this Campaign","type":"integer"},"totalDuration":{"description":"The total duration of the campaign (sum of layout's durations)","type":"integer"},"tags":{"description":"Tags associated with this Campaign, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"folderId":{"description":"The id of the Folder this Campaign belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Campaign","type":"integer"},"cyclePlaybackEnabled":{"description":"Flag indicating whether this Campaign has cycle based playback enabled","type":"integer"},"playCount":{"description":"In cycle based playback, how many plays should each Layout have before moving on?","type":"integer"},"listPlayOrder":{"description":"In list campaign types, how should the layouts play out?","type":"string"},"targetType":{"description":"For an ad campaign, what's the target type, plays|budget|imp","type":"string"},"target":{"description":"For an ad campaign, what's the target (expressed in targetType)","type":"integer"},"startDt":{"description":"For an ad campaign, what's the start date","type":"integer"},"endDt":{"description":"For an ad campaign, what's the end date","type":"integer"},"plays":{"description":"The number of plays achived by this campaign","type":"integer"},"spend":{"description":"The amount of spend in cents/pence/etc","type":"number","format":"double"},"impressions":{"description":"The number of impressions achived by this campaign","type":"number","format":"double"},"lastPopId":{"description":"The latest proof of play ID aggregated into the stats","type":"integer"},"ref1":{"description":"Reference field 1","type":"string"},"ref2":{"description":"Reference field 1","type":"string"},"ref3":{"description":"Reference field 1","type":"string"},"ref4":{"description":"Reference field 1","type":"string"},"ref5":{"description":"Reference field 1","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}}}}}
```

## The Command object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Command":{"properties":{"commandId":{"description":"Command Id","type":"integer"},"command":{"description":"Command Name","type":"string"},"code":{"description":"Unique Code","type":"string"},"description":{"description":"Description","type":"string"},"userId":{"description":"User Id","type":"integer"},"commandString":{"description":"Command String","type":"string"},"validationString":{"description":"Validation String","type":"string"},"displayProfileId":{"description":"DisplayProfileId if specific to a Display Profile","type":"integer"},"commandStringDisplayProfile":{"description":"Command String specific to the provided DisplayProfile","type":"string"},"validationStringDisplayProfile":{"description":"Validation String specific to the provided DisplayProfile","type":"string"},"availableOn":{"description":"A comma separated list of player types this command is available on","type":"string"},"createAlertOn":{"description":"Define if execution of this command should create an alert on success, failure, always or never.","type":"string"},"createAlertOnDisplayProfile":{"description":"Create Alert On specific to the provided DisplayProfile."},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this Command","type":"string"}}}}}}
```

## The Connector object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Connector":{}}}}
```

## The DataSet object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"DataSet":{"properties":{"dataSetId":{"description":"The dataSetId","type":"integer"},"dataSet":{"description":"The dataSet Name","type":"string"},"description":{"description":"The dataSet description","type":"string"},"userId":{"description":"The userId of the User that owns this DataSet","type":"integer"},"lastDataEdit":{"description":"Timestamp indicating the date/time this DataSet was edited last","type":"integer"},"owner":{"description":"The user name of the User that owns this DataSet","type":"string"},"groupsWithPermissions":{"description":"A comma separated list of Groups/Users that have permission to this DataSet","type":"string"},"code":{"description":"A code for this Data Set","type":"string"},"isLookup":{"description":"Flag to indicate whether this DataSet is a lookup table","type":"integer"},"isRemote":{"description":"Flag to indicate whether this DataSet is Remote","type":"integer"},"isRealTime":{"description":"Flag to indicate whether this DataSet is Real time","type":"integer"},"dataConnectorSource":{"description":"Indicates the source of the data connector. Requires the Real time flag. Can be null,\r\n     * user-defined, or a connector.","type":"string"},"method":{"description":"Method to fetch the Data, can be GET or POST","type":"string"},"uri":{"description":"URI to call to fetch Data from. Replacements are {{DATE}}, {{TIME}} and, in case this is a sequencial used DataSet, {{COL.NAME}} where NAME is a ColumnName from the underlying DataSet.","type":"string"},"postData":{"description":"Data to send as POST-Data to the remote host with the same Replacements as in the URI.","type":"string"},"authentication":{"description":"Authentication method, can be none, digest, basic","type":"string"},"username":{"description":"Username to authenticate with","type":"string"},"password":{"description":"Corresponding password","type":"string"},"customHeaders":{"description":"Comma separated string of custom HTTP headers","type":"string"},"userAgent":{"description":"Custom User agent","type":"string"},"refreshRate":{"description":"Time in seconds this DataSet should fetch new Datas from the remote host","type":"integer"},"clearRate":{"description":"Time in seconds when this Dataset should be cleared. If here is a lower value than in RefreshRate it will be cleared when the data is refreshed","type":"integer"},"truncateOnEmpty":{"description":"Flag whether to truncate DataSet data if no new data is pulled from remote source","type":"integer"},"runsAfter":{"description":"DataSetID of the DataSet which should be fetched and present before the Data from this DataSet are fetched","type":"integer"},"lastSync":{"description":"Last Synchronisation Timestamp","type":"integer"},"lastClear":{"description":"Last Clear Timestamp","type":"integer"},"dataRoot":{"description":"Root-Element form JSON where the data are stored in","type":"string"},"summarize":{"description":"Optional function to use for summarize or count unique fields in a remote request","type":"string"},"summarizeField":{"description":"JSON-Element below the Root-Element on which the consolidation should be applied on","type":"string"},"sourceId":{"description":"The source id for remote dataSet, 1 - JSON, 2 - CSV","type":"integer"},"ignoreFirstRow":{"description":"A flag whether to ignore the first row, for CSV source remote dataSet","type":"integer"},"rowLimit":{"description":"Soft limit on number of rows per DataSet, if left empty the global DataSet row limit will be used.","type":"integer"},"limitPolicy":{"description":"Type of action that should be taken on next remote DataSet sync - stop, fifo or truncate","type":"string"},"csvSeparator":{"description":"Custom separator for CSV source, comma will be used by default","type":"string"},"folderId":{"description":"The id of the Folder this DataSet belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this DataSet","type":"integer"}}}}}}
```

## The DataSetColumn object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"DataSetColumn":{"properties":{"dataSetColumnId":{"description":"The ID of this DataSetColumn","type":"integer"},"dataSetId":{"description":"The ID of the DataSet that this Column belongs to","type":"integer"},"heading":{"description":"The Column Heading","type":"string"},"dataTypeId":{"description":"The ID of the DataType for this Column","type":"integer"},"dataSetColumnTypeId":{"description":"The ID of the ColumnType for this Column","type":"integer"},"listContent":{"description":"Comma separated list of valid content for drop down columns","type":"string"},"columnOrder":{"description":"The order this column should be displayed","type":"integer"},"formula":{"description":"A MySQL formula for this column","type":"string"},"dataType":{"description":"The data type for this Column","type":"string"},"remoteField":{"description":"The data field of the remote DataSet as a JSON-String","type":"string"},"showFilter":{"description":"Does this column show a filter on the data entry page?","type":"string"},"showSort":{"description":"Does this column allow a sorting on the data entry page?","type":"string"},"dataSetColumnType":{"description":"The column type for this Column","type":"string"},"tooltip":{"description":"Help text that should be displayed when entering data for this Column.","type":"string"},"isRequired":{"description":"Flag indicating whether value must be provided for this Column.","type":"integer"},"dateFormat":{"description":"Date format of dates in the source for remote DataSet.","type":"string"}}}}}}
```

## The DataSetColumnType object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"DataSetColumnType":{"properties":{"dataSetColumnTypeId":{"description":"The ID for this DataSetColumnType","type":"integer"},"dataSetColumnType":{"description":"The name for this DataSetColumnType","type":"string"}}}}}}
```

## The DataSetRss object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"DataSetRss":{}}}}
```

## The DataType object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"DataType":{"properties":{"dataTypeId":{"description":"The ID for this DataType","type":"integer"},"dataType":{"description":"The Name for this DataType","type":"string"}}}}}}
```

## The DayPart object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"DayPart":{"properties":{"dayPartId":{"description":"The ID of this Daypart","type":"integer"},"isAlways":{"description":"A readonly flag determining whether this DayPart is always","type":"integer"},"isCustom":{"description":"A readonly flag determining whether this DayPart is custom","type":"integer"}}}}}}
```

## The Display object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Display":{"properties":{"displayId":{"description":"The ID of this Display","type":"integer"},"displayTypeId":{"description":"The Display Type ID of this Display","type":"integer"},"venueId":{"description":"The Venue ID of this Display","type":"integer"},"address":{"description":"The Location Address of this Display","type":"string"},"isMobile":{"description":"Is this Display mobile?","type":"integer"},"languages":{"description":"The Languages supported in this display location","type":"string"},"displayType":{"description":"The type of this Display","type":"string"},"screenSize":{"description":"The screen size of this Display","type":"integer"},"isOutdoor":{"description":"Is this Display Outdoor?","type":"integer"},"customId":{"description":"The custom ID (an Id of any external system) of this Display","type":"string"},"costPerPlay":{"description":"The Cost Per Play of this Display","type":"number","format":"double"},"impressionsPerPlay":{"description":"The Impressions Per Play of this Display","type":"number","format":"double"},"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"},"auditingUntil":{"description":"Flag indicating whether this Display is recording Auditing Information from XMDS","type":"integer"},"display":{"description":"The Name of this Display","type":"string"},"description":{"description":"The Description of this Display","type":"string"},"defaultLayoutId":{"description":"The ID of the Default Layout","type":"integer"},"license":{"description":"The Display Unique Identifier also called hardware key","type":"string"},"licensed":{"description":"A flag indicating whether this Display is licensed or not","type":"integer"},"loggedIn":{"description":"A flag indicating whether this Display is currently logged in","type":"integer"},"lastAccessed":{"description":"A timestamp in CMS time for the last time the Display accessed XMDS","type":"integer"},"incSchedule":{"description":"A flag indicating whether the default layout is interleaved with the Schedule","type":"integer"},"emailAlert":{"description":"A flag indicating whether the Display will send email alerts.","type":"integer"},"alertTimeout":{"description":"A timeout in seconds for the Display to send email alerts.","type":"integer"},"clientAddress":{"description":"The MAC Address of the Display","type":"string"},"mediaInventoryStatus":{"description":"The media inventory status of the Display","type":"integer"},"macAddress":{"description":"The current Mac Address of the Player","type":"string"},"lastChanged":{"description":"A timestamp indicating the last time the Mac Address changed","type":"integer"},"numberOfMacAddressChanges":{"description":"A count of Mac Address changes","type":"integer"},"lastWakeOnLanCommandSent":{"description":"A timestamp indicating the last time a WOL command was sent","type":"integer"},"wakeOnLanEnabled":{"description":"A flag indicating whether Wake On Lan is enabled","type":"integer"},"wakeOnLanTime":{"description":"A h:i string indicating the time to send a WOL command","type":"string"},"broadCastAddress":{"description":"The broad cast address for this Display","type":"string"},"secureOn":{"description":"The secureOn WOL settings for this display.","type":"string"},"cidr":{"description":"The CIDR WOL settings for this display","type":"string"},"latitude":{"description":"The display Latitude","type":"number","format":"double"},"longitude":{"description":"The display longitude","type":"number","format":"double"},"clientType":{"description":"A string representing the player type","type":"string"},"clientVersion":{"description":"A string representing the player version","type":"string"},"clientCode":{"description":"A number representing the Player version code","type":"integer"},"displayProfileId":{"description":"The display settings profile ID for this Display","type":"integer"},"currentLayoutId":{"description":"The current layout ID reported via XMDS","type":"integer"},"screenShotRequested":{"description":"A flag indicating that a screen shot should be taken by the Player","type":"integer"},"storageAvailableSpace":{"description":"The number of bytes of storage available on the device.","type":"integer"},"storageTotalSpace":{"description":"The number of bytes of storage in total on the device","type":"integer"},"displayGroupId":{"description":"The ID of the Display Group for this Device","type":"integer"},"currentLayout":{"description":"The current layout","type":"string"},"defaultLayout":{"description":"The default layout","type":"string"},"displayGroups":{"description":"The Display Groups this Display belongs to","type":"array","items":{"$ref":"#/components/schemas/DisplayGroup"}},"xmrChannel":{"description":"The Player Subscription Channel","type":"string"},"xmrPubKey":{"description":"The Player Public Key","type":"string"},"lastCommandSuccess":{"description":"The last command success, 0 = failure, 1 = success, 2 = unknown","type":"integer"},"deviceName":{"description":"The Device Name for the device hardware associated with this Display","type":"string"},"timeZone":{"description":"The Display Timezone, or empty to use the CMS timezone","type":"string"},"tags":{"description":"Tags associated with this Display, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"overrideConfig":{"description":"The configuration options that will overwrite Display Profile Config"},"bandwidthLimit":{"description":"The display bandwidth limit","type":"integer"},"newCmsAddress":{"description":"The new CMS Address","type":"string"},"newCmsKey":{"description":"The new CMS Key","type":"string"},"orientation":{"description":"The orientation of the Display, either landscape or portrait","type":"string"},"resolution":{"description":"The resolution of the Display expressed as a string in the format WxH","type":"string"},"commercialLicence":{"description":"Status of the commercial licence for this Display. 0 - Not licensed, 1 - licensed, 2 - trial licence, 3 - not applicable","type":"integer"},"teamViewerSerial":{"description":"The TeamViewer serial number for this Display","type":"string"},"webkeySerial":{"description":"The Webkey serial number for this Display","type":"string"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this Display","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 belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Display","type":"integer"},"countFaults":{"description":"The count of Player reported faults","type":"integer"},"lanIpAddress":{"description":"LAN IP Address, if available on the Player","type":"string"},"syncGroupId":{"description":"The Display Group ID this Display is synced to","type":"integer"},"osVersion":{"description":"The OS version of the Display","type":"string"},"osSdk":{"description":"The SDK version of the Display","type":"string"},"manufacturer":{"description":"The manufacturer of the Display","type":"string"},"brand":{"description":"The brand of the Display","type":"string"},"model":{"description":"The model of the Display","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"}}}}}}
```

## The DisplayGroup object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"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"}}}}}}
```

## The DisplayProfile object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"DisplayProfile":{"properties":{"displayProfileId":{"description":"The ID of this Display Profile","type":"integer"},"name":{"description":"The name of this Display Profile","type":"string"},"type":{"description":"The player type that this Display Profile is for","type":"string"},"config":{"description":"The configuration options for this Profile","type":"array","items":{"type":"string"}},"isDefault":{"description":"A flag indicating if this profile should be used as the Default for the client type","type":"integer"},"userId":{"description":"The userId of the User that owns this profile","type":"integer"},"configDefault":{"description":"The default configuration options for this Profile","type":"array","items":{"type":"string"}}}}}}}
```

## The DisplayType object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"DisplayType":{"properties":{"displayTypeId":{"description":"The ID for this DisplayType","type":"integer"},"displayType":{"description":"The Name for this DisplayType","type":"string"}}}}}}
```

## The Folder object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Folder":{"properties":{"id":{"description":"The ID of this Folder","type":"integer"},"type":{"description":"The type of folder (home or root)","type":"string"},"text":{"description":"The name of this Folder","type":"string"},"parentId":{"description":"The folderId of the parent of this Folder","type":"integer"},"isRoot":{"description":"Flag indicating whether this is root Folder","type":"integer"},"children":{"description":"An array of children folderIds","type":"string"}}}}}}
```

## The Font object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Font":{"properties":{"id":{"description":"The Font ID","type":"integer"},"createdAt":{"description":"The Font created date","type":"string"},"modifiedAt":{"description":"The Font modified date","type":"string"},"modifiedBy":{"description":"The name of the user that modified this font last","type":"string"},"name":{"description":"The Font name","type":"string"},"fileName":{"description":"The Font file name","type":"string"},"familyName":{"description":"The Font family name","type":"string"},"size":{"description":"The Font file size in bytes","type":"integer"},"md5":{"description":"A MD5 checksum of the stored font file","type":"string"}}}}}}
```

## The Layout object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Layout":{"properties":{"layoutId":{"description":"The layoutId","type":"integer"},"ownerId":{"description":"The userId of the Layout Owner","type":"integer"},"campaignId":{"description":"The id of the Layout's dedicated Campaign","type":"integer"},"parentId":{"description":"The parentId, if this Layout has a draft","type":"integer"},"publishedStatusId":{"description":"The Status Id","type":"integer"},"publishedStatus":{"description":"The Published Status (Published, Draft or Pending Approval","type":"string"},"publishedDate":{"description":"The Published Date","type":"string"},"backgroundImageId":{"description":"The id of the image media set as the background","type":"integer"},"schemaVersion":{"description":"The XLF schema version","type":"integer"},"layout":{"description":"The name of the Layout","type":"string"},"description":{"description":"The description of the Layout","type":"string"},"backgroundColor":{"description":"A HEX string representing the Layout background color","type":"string"},"createdDt":{"description":"The datetime the Layout was created","type":"string"},"modifiedDt":{"description":"The datetime the Layout was last modified","type":"string"},"status":{"description":"Flag indicating the Layout status","type":"integer"},"retired":{"description":"Flag indicating whether the Layout is retired","type":"integer"},"backgroundzIndex":{"description":"The Layer that the background should occupy","type":"integer"},"width":{"description":"The Layout Width","type":"number","format":"double"},"height":{"description":"The Layout Height","type":"number","format":"double"},"orientation":{"description":"The Layout Orientation","type":"string"},"displayOrder":{"description":"If this Layout has been requested by Campaign, then this is the display order of the Layout within the Campaign","type":"integer"},"duration":{"description":"A read-only estimate of this Layout's total duration in seconds. This is equal to the longest region duration and is valid when the layout status is 1 or 2.","type":"integer"},"statusMessage":{"description":"A status message detailing any errors with the layout","type":"string"},"enableStat":{"description":"Flag indicating whether the Layout stat is enabled","type":"integer"},"autoApplyTransitions":{"description":"Flag indicating whether the default transitions should be applied to this Layout","type":"integer"},"code":{"description":"Code identifier for this Layout","type":"string"},"isLocked":{"description":"Is this layout locked by another user?","type":"boolean"},"regions":{"description":"An array of Regions belonging to this Layout","type":"array","items":{"$ref":"#/components/schemas/Region"}},"tags":{"description":"Tags associated with this Layout, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"folderId":{"description":"The id of the Folder this Layout belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Layout","type":"integer"}}},"Region":{"properties":{"regionId":{"description":"The ID of this region","type":"integer"},"layoutId":{"description":"The Layout ID this region belongs to","type":"integer"},"ownerId":{"description":"The userId of the User that owns this Region","type":"integer"},"type":{"description":"Region Type, zone, playlist, frame or canvas","type":"string"},"name":{"description":"The name of this Region","type":"string"},"width":{"description":"Width of the region","type":"number","format":"double"},"height":{"description":"Height of the Region","type":"number","format":"double"},"top":{"description":"The top coordinate of the Region","type":"number","format":"double"},"left":{"description":"The left coordinate of the Region","type":"number","format":"double"},"zIndex":{"description":"The z-index of the Region to control Layering","type":"integer"},"syncKey":{"description":"The syncKey of this Region","type":"string"},"regionOptions":{"description":"An array of Region Options","type":"array","items":{"$ref":"#/components/schemas/RegionOption"}},"permissions":{"description":"An array of Permissions","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"duration":{"description":"A read-only estimate of this Regions's total duration in seconds. This is valid when the parent layout status is 1 or 2.","type":"integer"},"isDrawer":{"description":"Flag, whether this region is used as an interactive drawer attached to a layout.","type":"integer"},"regionPlaylist":{"description":"This Regions Playlist - null if getPlaylist() has not been called.","$ref":"#/components/schemas/Playlist"}}},"RegionOption":{"properties":{"regionId":{"description":"The regionId that this Option applies to","type":"integer"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}},"Permission":{"properties":{"permissionId":{"description":"The ID of this Permission Record","type":"integer"},"entityId":{"description":"The Entity ID that this Permission refers to","type":"integer"},"groupId":{"description":"The User Group ID that this permission refers to","type":"integer"},"objectId":{"description":"The object ID that this permission refers to","type":"integer"},"isUser":{"description":"A flag indicating whether the groupId refers to a user specific group","type":"integer"},"entity":{"description":"The entity name that this refers to","type":"string"},"objectIdString":{"description":"Legacy for when the Object ID is a string","type":"string"},"group":{"description":"The group name that this refers to","type":"string"},"view":{"description":"A flag indicating whether view permission is granted","type":"integer"},"edit":{"description":"A flag indicating whether edit permission is granted","type":"integer"},"delete":{"description":"A flag indicating whether delete permission is granted","type":"integer"},"modifyPermissions":{"description":"A flag indicating whether modify permission permission is granted.","type":"integer"}}},"Playlist":{"properties":{"playlistId":{"description":"The ID of this Playlist","type":"integer"},"ownerId":{"description":"The userId of the User that owns this Playlist","type":"integer"},"name":{"description":"The Name of the Playlist","type":"string"},"regionId":{"description":"The RegionId if this Playlist is specific to a Region","type":"integer"},"isDynamic":{"description":"Flag indicating if this is a dynamic Playlist","type":"integer"},"filterMediaName":{"description":"Filter Name for a Dynamic Playlist","type":"string"},"filterMediaNameLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Plalust names? OR|AND","type":"string"},"filterMediaTags":{"description":"Filter Tags for a Dynamic Playlist","type":"string"},"filterExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"filterMediaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"filterFolderId":{"description":"The ID of the folder to filter media items by","type":"integer"},"maxNumberOfItems":{"description":"Maximum number of Media items matching dynamic Playlist filters","type":"integer"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"duration":{"description":"A read-only estimate of this Layout's total duration in seconds. This is equal to the longest region duration and is valid when the layout status is 1 or 2.","type":"integer"},"requiresDurationUpdate":{"description":"Flag indicating whether this Playlists requires a duration update","type":"integer"},"enableStat":{"description":"The option to enable the collection of Playlist Proof of Play statistics","type":"string"},"tags":{"description":"Tags associated with this Playlist, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"widgets":{"description":"An array of Widgets assigned to this Playlist","type":"array","items":{"$ref":"#/components/schemas/Widget"}},"permissions":{"description":"An array of permissions","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"folderId":{"description":"The id of the Folder this Playlist belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Playlist","type":"integer"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}},"Widget":{"properties":{"widgetId":{"description":"The Widget ID","type":"integer"},"playlistId":{"description":"The ID of the Playlist this Widget belongs to","type":"integer"},"ownerId":{"description":"The ID of the User that owns this Widget","type":"integer"},"type":{"description":"The Module Type Code","type":"string"},"duration":{"description":"The duration in seconds this widget should be shown","type":"integer"},"displayOrder":{"description":"The display order of this widget","type":"integer"},"useDuration":{"description":"Flag indicating if this widget has a duration that should be used","type":"integer"},"calculatedDuration":{"description":"Calculated Duration of this widget after taking into account the useDuration flag","type":"integer"},"createdDt":{"description":"The datetime the Layout was created","type":"string"},"modifiedDt":{"description":"The datetime the Layout was last modified","type":"string"},"fromDt":{"description":"Widget From Date","type":"integer"},"toDt":{"description":"Widget To Date","type":"integer"},"schemaVersion":{"description":"Widget Schema Version","type":"integer"},"transitionIn":{"description":"Transition Type In","type":"integer"},"transitionOut":{"description":"Transition Type out","type":"integer"},"transitionDurationIn":{"description":"Transition duration in","type":"integer"},"transitionDurationOut":{"description":"Transition duration out","type":"integer"},"widgetOptions":{"description":"An array of Widget Options","type":"array","items":{"$ref":"#/components/schemas/WidgetOption"}},"mediaIds":{"description":"An array of MediaIds this widget is linked to","type":"array","items":{"type":"integer"}},"audio":{"description":"An array of Audio MediaIds this widget is linked to","type":"array","items":{"$ref":"#/components/schemas/WidgetAudio"}},"permissions":{"description":"An array of permissions for this widget","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"playlist":{"description":"The name of the Playlist this Widget is on","type":"string"}}},"WidgetOption":{"properties":{"widgetId":{"description":"The Widget ID that this Option belongs to","type":"integer"},"type":{"description":"The option type, either attrib or raw","type":"string"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}},"WidgetAudio":{"properties":{"widgetId":{"description":"The Widget Id","type":"integer"},"mediaId":{"description":"The Media Id","type":"integer"},"volume":{"description":"The percentage volume","type":"integer"},"loop":{"description":"Flag indicating whether to loop","type":"integer"}}}}}}
```

## The LayoutOnCampaign object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"LayoutOnCampaign":{"properties":{"layout":{"description":"The Layout name (readonly)","type":"string"},"layoutCampaignId":{"description":"The Layout campaignId (readonly)","type":"string"},"ownerId":{"description":"The owner id (readonly))","type":"integer"},"duration":{"description":"The duration (readonly))","type":"integer"},"dayPart":{"description":"The dayPart (readonly)","type":"string"}}}}}}
```

## The LogEntry object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"LogEntry":{"properties":{"logId":{"description":"The Log ID","type":"integer"},"runNo":{"description":"A unique run number for a set of Log Messages.","type":"string"},"logDate":{"description":"A timestamp representing the CMS date this log message occured","type":"integer"},"channel":{"description":"The Channel that generated this message. WEB/API/MAINT/TEST","type":"string"},"page":{"description":"The requested route","type":"string"},"function":{"description":"The request method, GET/POST/PUT/DELETE","type":"string"},"message":{"description":"The log message","type":"string"},"displayId":{"description":"The display ID this message relates to or NULL for CMS","type":"integer"},"type":{"description":"The Log Level","type":"string"},"display":{"description":"The display this message relates to or CMS for CMS.","type":"string"},"sessionHistoryId":{"description":"Session history id.","type":"integer"},"userId":{"description":"User id.","type":"integer"}}}}}}
```

## The Media object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Media":{"properties":{"mediaId":{"description":"The Media ID","type":"integer"},"ownerId":{"description":"The ID of the User that owns this Media","type":"integer"},"parentId":{"description":"The Parent ID of this Media if it has been revised","type":"integer"},"name":{"description":"The Name of this Media","type":"string"},"mediaType":{"description":"The module type of this Media","type":"string"},"storedAs":{"description":"The file name of the media as stored in the library","type":"string"},"fileName":{"description":"The original file name as it was uploaded","type":"string"},"tags":{"description":"Tags associated with this Media, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"fileSize":{"description":"The file size in bytes","type":"integer"},"duration":{"description":"The duration to use when assigning this media to a Layout widget","type":"integer"},"valid":{"description":"Flag indicating whether this media is valid.","type":"integer"},"moduleSystemFile":{"description":"DEPRECATED: Flag indicating whether this media is a system file or not","type":"integer"},"expires":{"description":"Timestamp indicating when this media should expire","type":"integer"},"retired":{"description":"Flag indicating whether this media is retired","type":"integer"},"isEdited":{"description":"Flag indicating whether this media has been edited and replaced with a newer file","type":"integer"},"md5":{"description":"A MD5 checksum of the stored media file","type":"string"},"owner":{"description":"The username of the User that owns this media","type":"string"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this Media","type":"string"},"released":{"description":"A flag indicating whether this media has been released","type":"integer"},"apiRef":{"description":"An API reference","type":"string"},"createdDt":{"description":"The datetime the Media was created","type":"string"},"modifiedDt":{"description":"The datetime the Media was last modified","type":"string"},"enableStat":{"description":"The option to enable the collection of Media Proof of Play statistics","type":"string"},"orientation":{"description":"The orientation of the Media file","type":"string"},"width":{"description":"The width of the Media file","type":"integer"},"height":{"description":"The height of the Media file","type":"integer"},"folderId":{"description":"The id of the Folder this Media belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Media","type":"integer"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}}}}}
```

## The MenuBoard object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"MenuBoard":{"properties":{"menuId":{"description":"The Menu Board Id","type":"integer"},"name":{"description":"The Menu Board name","type":"string"},"description":{"description":"The Menu Board description","type":"string"},"code":{"description":"The Menu Board code identifier","type":"string"},"userId":{"description":"The Menu Board owner Id","type":"integer"},"modifiedDt":{"description":"The Menu Board last modified date","type":"integer"},"folderId":{"description":"The Id of the Folder this Menu Board belongs to","type":"string"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Menu Board","type":"integer"},"groupsWithPermissions":{"description":"A comma separated list of Groups/Users that have permission to this menu Board","type":"string"}}}}}}
```

## The MenuBoardCategory object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"MenuBoardCategory":{"properties":{"menuCategoryId":{"description":"The Menu Board Category Id","type":"integer"},"menuId":{"description":"The Menu Board Id","type":"integer"},"name":{"description":"The Menu Board Category name","type":"string"},"description":{"description":"The Menu Board Category description","type":"string"},"code":{"description":"The Menu Board Category code identifier","type":"string"},"mediaId":{"description":"The Menu Board Category associated mediaId","type":"integer"}}}}}}
```

## The MenuBoardProduct object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"MenuBoardProduct":{"properties":{"menuProductId":{"description":"The Menu Board Product Id","type":"integer"},"menuCategoryId":{"description":"The Menu Board Category Id","type":"integer"},"menuId":{"description":"The Menu Board Id","type":"integer"},"name":{"description":"The Menu Board Category name","type":"string"},"price":{"description":"The Menu Board Product price","type":"number","format":"double"},"description":{"description":"The Menu Board Product description","type":"string"},"code":{"description":"The Menu Board Product code identifier","type":"string"},"displayOrder":{"description":"The Menu Board Product display order, used for sorting","type":"integer"},"availability":{"description":"The Menu Board Product availability","type":"integer"},"allergyInfo":{"description":"The Menu Board Product allergy information","type":"string"},"calories":{"description":"The Menu Board Product allergy information","type":"integer"},"mediaId":{"description":"The Menu Board Product associated mediaId","type":"integer"},"productOptions":{"description":"The Menu Board Product array of options","type":"array","items":{"type":"string"}}}}}}}
```

## The MenuBoardProductOption object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"MenuBoardProductOption":{"properties":{"menuProductId":{"description":"The Menu Product ID that this Option belongs to","type":"integer"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}}}}}
```

## The Module object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Module":{"properties":{"moduleId":{"description":"The ID of this Module","type":"integer"},"name":{"description":"Module Name","type":"string"},"author":{"description":"Module Author","type":"string"},"description":{"description":"Description of the Module","type":"string"},"icon":{"description":"An icon to use in the toolbar","type":"string"},"type":{"description":"The type code for this module","type":"string"},"legacyTypes":{"description":"Legacy type codes for this module","type":"array","items":{"$ref":"#/components/schemas/LegacyType"}},"dataType":{"description":"The data type of the data expected to be returned by this modules data provider","type":"string"},"group":{"description":"The group details for this module","type":"array","items":{"type":"string"}},"dataCacheKey":{"description":"The cache key used when requesting data","type":"string"},"fallbackData":{"description":"Is fallback data allowed for this module? Only applicable for a Data Widget","type":"integer"},"regionSpecific":{"description":"Is specific to a Layout or can be uploaded to the Library?","type":"integer"},"schemaVersion":{"description":"The schema version of the module","type":"integer"},"compatibilityClass":{"description":"The compatibility class of the module","type":"string"},"showIn":{"description":"A flag indicating whether the module should be excluded from the Layout Editor","type":"string"},"assignable":{"description":"A flag indicating whether the module is assignable to a Layout","type":"integer"},"hasThumbnail":{"description":"Does this module have a thumbnail to render?","type":"integer"},"thumbnail":{"description":"This is the location to a module's thumbnail","type":"string"},"renderAs":{"description":"Should be rendered natively by the Player or via the CMS (native|html)","type":"string"},"class":{"description":"Class Name including namespace","type":"string"},"validatorClass":{"description":"Validator class name including namespace","type":"array","items":{"type":"string"}},"properties":{"description":"Properties to display in the property panel and supply to stencils","type":"array","items":{"$ref":"#/components/schemas/Property"}},"onInitialize":{"description":"JavaScript function run when a module is initialised, before data is returned","type":"string"},"onParseData":{"description":"Data Parser run against each data item applicable when a dataType is present","type":"string"},"onDataLoad":{"description":"A load function to run when the widget first fetches data","type":"string"},"onRender":{"description":"JavaScript function run when a module is rendered, after data has been returned","type":"string"},"onVisible":{"description":"JavaScript function run when a module becomes visible","type":"string"},"sampleData":{"description":"Optional sample data item, only applicable when a dataType is present","type":"string"},"enabled":{"description":"A flag indicating whether this module is enabled","type":"integer"},"previewEnabled":{"description":"A flag indicating whether the Layout designer should render a preview of this module","type":"integer"},"defaultDuration":{"description":"The default duration for Widgets of this Module when the user has not set a duration.","type":"integer"},"settings":{"description":"An array of additional module specific settings","type":"array","items":{"$ref":"#/components/schemas/Property"}},"propertyGroups":{"description":"An array of additional module specific group properties","type":"array","items":{"$ref":"#/components/schemas/PropertyGroup"}},"requiredElements":{"description":"An array of required elements","type":"array","items":{"type":"string"}},"isInstalled":{"description":"$isInstalled Is this module installed?","type":"boolean"},"isError":{"description":"$isError Does this module have any errors?","type":"boolean"},"errors":{"description":"$errors An array of errors this module has.","type":"array","items":{"type":"string"}}}},"LegacyType":{},"Property":{"properties":{"id":{"description":"ID, saved as a widget option","type":"string"},"type":{"description":"Type, determines the field type","type":"string"},"title":{"description":"Title: shown in the property panel","type":"string"},"helpText":{"description":"Help Text: shown in the property panel","type":"string"},"default":{"description":"An optional default value","type":"string"}}},"PropertyGroup":{}}}}
```

## The ModuleTemplate object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"ModuleTemplate":{"properties":{"templateId":{"description":"The templateId","type":"string"},"type":{"description":"Type of template (static|element|stencil)","type":"string"},"extends":{"description":"If this template extends another","$ref":"#/components/schemas/Extend"},"dataType":{"description":"The datatype of this template","type":"string"},"title":{"description":"The title","type":"string"},"description":{"description":"Description of the Module Template","type":"string"},"icon":{"description":"Icon","type":"string"},"thumbnail":{"description":"","type":"string"},"showIn":{"description":"A flag indicating whether the template should be excluded from the Layout Editor","type":"string"},"properties":{"description":"Properties","type":"array","items":{"$ref":"#/components/schemas/Property"}},"isVisible":{"description":"Is Visible?","type":"boolean"},"isEnabled":{"description":"Is Enabled?","type":"boolean"},"propertyGroups":{"description":"An array of additional module specific group properties","type":"array","items":{"$ref":"#/components/schemas/PropertyGroup"}},"stencil":{"description":"A stencil, if needed","$ref":"#/components/schemas/Stencil"},"assets":{"description":"","type":"array","items":{}},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this template","type":"string"}}},"Extend":{},"Property":{"properties":{"id":{"description":"ID, saved as a widget option","type":"string"},"type":{"description":"Type, determines the field type","type":"string"},"title":{"description":"Title: shown in the property panel","type":"string"},"helpText":{"description":"Help Text: shown in the property panel","type":"string"},"default":{"description":"An optional default value","type":"string"}}},"PropertyGroup":{},"Stencil":{"properties":{"elementGroups":{"description":"An array of element groups","type":"array","items":{"$ref":"#/components/schemas/ElementGroup"}}}},"ElementGroup":{}}}}
```

## The Notification object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Notification":{"properties":{"notificationId":{"description":"The Notifcation ID","type":"integer"},"createDt":{"description":"Create Date as Unix Timestamp","type":"integer"},"releaseDt":{"description":"Release Date as Unix Timestamp","type":"integer"},"subject":{"description":"The subject line","type":"string"},"type":{"description":"The Notification type","type":"string"},"body":{"description":"The HTML body of the notification","type":"string"},"isInterrupt":{"description":"Should the notification interrupt the CMS UI on navigate/login","type":"integer"},"isSystem":{"description":"Flag for system notification","type":"integer"},"userId":{"description":"The Owner User Id","type":"integer"},"filename":{"description":"Attachment filename","type":"string"},"originalFileName":{"description":"Attachment originalFileName","type":"string"},"nonusers":{"description":"Additional email addresses to which a saved report will be sent","type":"string"},"userGroups":{"description":"User Group Notifications associated with this notification","type":"array","items":{"$ref":"#/components/schemas/UserGroup"}},"displayGroups":{"description":"Display Groups associated with this notification","type":"array","items":{"$ref":"#/components/schemas/DisplayGroup"}}}},"UserGroup":{"properties":{"groupId":{"description":"The Group ID","type":"integer"},"group":{"description":"The group name","type":"string"},"isUserSpecific":{"description":"A flag indicating whether this is a user specific group or not","type":"integer"},"isEveryone":{"description":"A flag indicating the special everyone group","type":"integer"},"description":{"description":"Description of this User Group","type":"string"},"libraryQuota":{"description":"This users library quota in bytes. 0 = unlimited","type":"integer"},"isSystemNotification":{"description":"Does this Group receive system notifications.","type":"integer"},"isDisplayNotification":{"description":"Does this Group receive display notifications.","type":"integer"},"isDataSetNotification":{"description":"Does this Group receive DataSet notifications.","type":"integer"},"isLayoutNotification":{"description":"Does this Group receive Layout notifications.","type":"integer"},"isLibraryNotification":{"description":"Does this Group receive Library notifications.","type":"integer"},"isReportNotification":{"description":"Does this Group receive Report notifications.","type":"integer"},"isScheduleNotification":{"description":"Does this Group receive Schedule notifications.","type":"integer"},"isCustomNotification":{"description":"Does this Group receive Custom notifications.","type":"integer"},"isShownForAddUser":{"description":"Is this Group shown in the list of choices when onboarding a new user","type":"integer"},"defaultHomepageId":{"description":"Default Home page for new users","type":"string"},"features":{"description":"Features this User Group has direct access to","type":"array","items":{"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"}}}}}}
```

## The Permission object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Permission":{"properties":{"permissionId":{"description":"The ID of this Permission Record","type":"integer"},"entityId":{"description":"The Entity ID that this Permission refers to","type":"integer"},"groupId":{"description":"The User Group ID that this permission refers to","type":"integer"},"objectId":{"description":"The object ID that this permission refers to","type":"integer"},"isUser":{"description":"A flag indicating whether the groupId refers to a user specific group","type":"integer"},"entity":{"description":"The entity name that this refers to","type":"string"},"objectIdString":{"description":"Legacy for when the Object ID is a string","type":"string"},"group":{"description":"The group name that this refers to","type":"string"},"view":{"description":"A flag indicating whether view permission is granted","type":"integer"},"edit":{"description":"A flag indicating whether edit permission is granted","type":"integer"},"delete":{"description":"A flag indicating whether delete permission is granted","type":"integer"},"modifyPermissions":{"description":"A flag indicating whether modify permission permission is granted.","type":"integer"}}}}}}
```

## The PlayerFault object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"PlayerFault":{"properties":{"playerFaultId":{"description":"The Fault Id","type":"integer"},"displayId":{"description":"The Display Id","type":"integer"},"incidentDt":{"description":"The Date the error occured","type":"string"},"expires":{"description":"The Date the error expires","type":"string"},"code":{"description":"The Code associated with the fault","type":"integer"},"reason":{"description":"The Reason for the fault","type":"string"},"layoutId":{"description":"The Layout Id","type":"integer"},"regionId":{"description":"The Region Id","type":"integer"},"scheduleId":{"description":"The Schedule Id","type":"integer"},"widgetId":{"description":"The Widget Id","type":"integer"},"mediaId":{"description":"The Media Id","type":"integer"}}}}}}
```

## The PlayerVersion object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"PlayerVersion":{"properties":{"versionId":{"description":"Version ID","type":"integer"},"type":{"description":"Player type","type":"string"},"version":{"description":"Version number","type":"string"},"code":{"description":"Code number","type":"integer"},"playerShowVersion":{"description":"Player version to show","type":"string"},"createdAt":{"description":"The Player Version created date","type":"string"},"modifiedAt":{"description":"The Player Version modified date","type":"string"},"modifiedBy":{"description":"The name of the user that modified this Player Version last","type":"string"},"fileName":{"description":"The Player Version file name","type":"string"},"size":{"description":"The Player Version file size in bytes","type":"integer"},"md5":{"description":"A MD5 checksum of the stored Player Version file","type":"string"}}}}}}
```

## The Playlist object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Playlist":{"properties":{"playlistId":{"description":"The ID of this Playlist","type":"integer"},"ownerId":{"description":"The userId of the User that owns this Playlist","type":"integer"},"name":{"description":"The Name of the Playlist","type":"string"},"regionId":{"description":"The RegionId if this Playlist is specific to a Region","type":"integer"},"isDynamic":{"description":"Flag indicating if this is a dynamic Playlist","type":"integer"},"filterMediaName":{"description":"Filter Name for a Dynamic Playlist","type":"string"},"filterMediaNameLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Plalust names? OR|AND","type":"string"},"filterMediaTags":{"description":"Filter Tags for a Dynamic Playlist","type":"string"},"filterExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"filterMediaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"filterFolderId":{"description":"The ID of the folder to filter media items by","type":"integer"},"maxNumberOfItems":{"description":"Maximum number of Media items matching dynamic Playlist filters","type":"integer"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"duration":{"description":"A read-only estimate of this Layout's total duration in seconds. This is equal to the longest region duration and is valid when the layout status is 1 or 2.","type":"integer"},"requiresDurationUpdate":{"description":"Flag indicating whether this Playlists requires a duration update","type":"integer"},"enableStat":{"description":"The option to enable the collection of Playlist Proof of Play statistics","type":"string"},"tags":{"description":"Tags associated with this Playlist, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"widgets":{"description":"An array of Widgets assigned to this Playlist","type":"array","items":{"$ref":"#/components/schemas/Widget"}},"permissions":{"description":"An array of permissions","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"folderId":{"description":"The id of the Folder this Playlist belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Playlist","type":"integer"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}},"Widget":{"properties":{"widgetId":{"description":"The Widget ID","type":"integer"},"playlistId":{"description":"The ID of the Playlist this Widget belongs to","type":"integer"},"ownerId":{"description":"The ID of the User that owns this Widget","type":"integer"},"type":{"description":"The Module Type Code","type":"string"},"duration":{"description":"The duration in seconds this widget should be shown","type":"integer"},"displayOrder":{"description":"The display order of this widget","type":"integer"},"useDuration":{"description":"Flag indicating if this widget has a duration that should be used","type":"integer"},"calculatedDuration":{"description":"Calculated Duration of this widget after taking into account the useDuration flag","type":"integer"},"createdDt":{"description":"The datetime the Layout was created","type":"string"},"modifiedDt":{"description":"The datetime the Layout was last modified","type":"string"},"fromDt":{"description":"Widget From Date","type":"integer"},"toDt":{"description":"Widget To Date","type":"integer"},"schemaVersion":{"description":"Widget Schema Version","type":"integer"},"transitionIn":{"description":"Transition Type In","type":"integer"},"transitionOut":{"description":"Transition Type out","type":"integer"},"transitionDurationIn":{"description":"Transition duration in","type":"integer"},"transitionDurationOut":{"description":"Transition duration out","type":"integer"},"widgetOptions":{"description":"An array of Widget Options","type":"array","items":{"$ref":"#/components/schemas/WidgetOption"}},"mediaIds":{"description":"An array of MediaIds this widget is linked to","type":"array","items":{"type":"integer"}},"audio":{"description":"An array of Audio MediaIds this widget is linked to","type":"array","items":{"$ref":"#/components/schemas/WidgetAudio"}},"permissions":{"description":"An array of permissions for this widget","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"playlist":{"description":"The name of the Playlist this Widget is on","type":"string"}}},"WidgetOption":{"properties":{"widgetId":{"description":"The Widget ID that this Option belongs to","type":"integer"},"type":{"description":"The option type, either attrib or raw","type":"string"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}},"WidgetAudio":{"properties":{"widgetId":{"description":"The Widget Id","type":"integer"},"mediaId":{"description":"The Media Id","type":"integer"},"volume":{"description":"The percentage volume","type":"integer"},"loop":{"description":"Flag indicating whether to loop","type":"integer"}}},"Permission":{"properties":{"permissionId":{"description":"The ID of this Permission Record","type":"integer"},"entityId":{"description":"The Entity ID that this Permission refers to","type":"integer"},"groupId":{"description":"The User Group ID that this permission refers to","type":"integer"},"objectId":{"description":"The object ID that this permission refers to","type":"integer"},"isUser":{"description":"A flag indicating whether the groupId refers to a user specific group","type":"integer"},"entity":{"description":"The entity name that this refers to","type":"string"},"objectIdString":{"description":"Legacy for when the Object ID is a string","type":"string"},"group":{"description":"The group name that this refers to","type":"string"},"view":{"description":"A flag indicating whether view permission is granted","type":"integer"},"edit":{"description":"A flag indicating whether edit permission is granted","type":"integer"},"delete":{"description":"A flag indicating whether delete permission is granted","type":"integer"},"modifyPermissions":{"description":"A flag indicating whether modify permission permission is granted.","type":"integer"}}}}}}
```

## The Region object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Region":{"properties":{"regionId":{"description":"The ID of this region","type":"integer"},"layoutId":{"description":"The Layout ID this region belongs to","type":"integer"},"ownerId":{"description":"The userId of the User that owns this Region","type":"integer"},"type":{"description":"Region Type, zone, playlist, frame or canvas","type":"string"},"name":{"description":"The name of this Region","type":"string"},"width":{"description":"Width of the region","type":"number","format":"double"},"height":{"description":"Height of the Region","type":"number","format":"double"},"top":{"description":"The top coordinate of the Region","type":"number","format":"double"},"left":{"description":"The left coordinate of the Region","type":"number","format":"double"},"zIndex":{"description":"The z-index of the Region to control Layering","type":"integer"},"syncKey":{"description":"The syncKey of this Region","type":"string"},"regionOptions":{"description":"An array of Region Options","type":"array","items":{"$ref":"#/components/schemas/RegionOption"}},"permissions":{"description":"An array of Permissions","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"duration":{"description":"A read-only estimate of this Regions's total duration in seconds. This is valid when the parent layout status is 1 or 2.","type":"integer"},"isDrawer":{"description":"Flag, whether this region is used as an interactive drawer attached to a layout.","type":"integer"},"regionPlaylist":{"description":"This Regions Playlist - null if getPlaylist() has not been called.","$ref":"#/components/schemas/Playlist"}}},"RegionOption":{"properties":{"regionId":{"description":"The regionId that this Option applies to","type":"integer"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}},"Permission":{"properties":{"permissionId":{"description":"The ID of this Permission Record","type":"integer"},"entityId":{"description":"The Entity ID that this Permission refers to","type":"integer"},"groupId":{"description":"The User Group ID that this permission refers to","type":"integer"},"objectId":{"description":"The object ID that this permission refers to","type":"integer"},"isUser":{"description":"A flag indicating whether the groupId refers to a user specific group","type":"integer"},"entity":{"description":"The entity name that this refers to","type":"string"},"objectIdString":{"description":"Legacy for when the Object ID is a string","type":"string"},"group":{"description":"The group name that this refers to","type":"string"},"view":{"description":"A flag indicating whether view permission is granted","type":"integer"},"edit":{"description":"A flag indicating whether edit permission is granted","type":"integer"},"delete":{"description":"A flag indicating whether delete permission is granted","type":"integer"},"modifyPermissions":{"description":"A flag indicating whether modify permission permission is granted.","type":"integer"}}},"Playlist":{"properties":{"playlistId":{"description":"The ID of this Playlist","type":"integer"},"ownerId":{"description":"The userId of the User that owns this Playlist","type":"integer"},"name":{"description":"The Name of the Playlist","type":"string"},"regionId":{"description":"The RegionId if this Playlist is specific to a Region","type":"integer"},"isDynamic":{"description":"Flag indicating if this is a dynamic Playlist","type":"integer"},"filterMediaName":{"description":"Filter Name for a Dynamic Playlist","type":"string"},"filterMediaNameLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Plalust names? OR|AND","type":"string"},"filterMediaTags":{"description":"Filter Tags for a Dynamic Playlist","type":"string"},"filterExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"filterMediaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"filterFolderId":{"description":"The ID of the folder to filter media items by","type":"integer"},"maxNumberOfItems":{"description":"Maximum number of Media items matching dynamic Playlist filters","type":"integer"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"duration":{"description":"A read-only estimate of this Layout's total duration in seconds. This is equal to the longest region duration and is valid when the layout status is 1 or 2.","type":"integer"},"requiresDurationUpdate":{"description":"Flag indicating whether this Playlists requires a duration update","type":"integer"},"enableStat":{"description":"The option to enable the collection of Playlist Proof of Play statistics","type":"string"},"tags":{"description":"Tags associated with this Playlist, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"widgets":{"description":"An array of Widgets assigned to this Playlist","type":"array","items":{"$ref":"#/components/schemas/Widget"}},"permissions":{"description":"An array of permissions","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"folderId":{"description":"The id of the Folder this Playlist belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Playlist","type":"integer"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}},"Widget":{"properties":{"widgetId":{"description":"The Widget ID","type":"integer"},"playlistId":{"description":"The ID of the Playlist this Widget belongs to","type":"integer"},"ownerId":{"description":"The ID of the User that owns this Widget","type":"integer"},"type":{"description":"The Module Type Code","type":"string"},"duration":{"description":"The duration in seconds this widget should be shown","type":"integer"},"displayOrder":{"description":"The display order of this widget","type":"integer"},"useDuration":{"description":"Flag indicating if this widget has a duration that should be used","type":"integer"},"calculatedDuration":{"description":"Calculated Duration of this widget after taking into account the useDuration flag","type":"integer"},"createdDt":{"description":"The datetime the Layout was created","type":"string"},"modifiedDt":{"description":"The datetime the Layout was last modified","type":"string"},"fromDt":{"description":"Widget From Date","type":"integer"},"toDt":{"description":"Widget To Date","type":"integer"},"schemaVersion":{"description":"Widget Schema Version","type":"integer"},"transitionIn":{"description":"Transition Type In","type":"integer"},"transitionOut":{"description":"Transition Type out","type":"integer"},"transitionDurationIn":{"description":"Transition duration in","type":"integer"},"transitionDurationOut":{"description":"Transition duration out","type":"integer"},"widgetOptions":{"description":"An array of Widget Options","type":"array","items":{"$ref":"#/components/schemas/WidgetOption"}},"mediaIds":{"description":"An array of MediaIds this widget is linked to","type":"array","items":{"type":"integer"}},"audio":{"description":"An array of Audio MediaIds this widget is linked to","type":"array","items":{"$ref":"#/components/schemas/WidgetAudio"}},"permissions":{"description":"An array of permissions for this widget","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"playlist":{"description":"The name of the Playlist this Widget is on","type":"string"}}},"WidgetOption":{"properties":{"widgetId":{"description":"The Widget ID that this Option belongs to","type":"integer"},"type":{"description":"The option type, either attrib or raw","type":"string"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}},"WidgetAudio":{"properties":{"widgetId":{"description":"The Widget Id","type":"integer"},"mediaId":{"description":"The Media Id","type":"integer"},"volume":{"description":"The percentage volume","type":"integer"},"loop":{"description":"Flag indicating whether to loop","type":"integer"}}}}}}
```

## The RegionOption object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"RegionOption":{"properties":{"regionId":{"description":"The regionId that this Option applies to","type":"integer"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}}}}}
```

## The ReportSchedule object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"ReportSchedule":{"properties":{"owner":{"description":"The username of the User that owns this report schedule","type":"string"},"userId":{"description":"The ID of the User that owns this report schedule","type":"integer"}}}}}}
```

## The Resolution object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Resolution":{"properties":{"resolutionId":{"description":"The ID of this Resolution","type":"integer"},"resolution":{"description":"The resolution name","type":"string"},"width":{"description":"The display width of the resolution","type":"number","format":"double"},"height":{"description":"The display height of the resolution","type":"number","format":"double"},"designerWidth":{"description":"The designer width of the resolution","type":"number","format":"double"},"designerHeight":{"description":"The designer height of the resolution","type":"number","format":"double"},"version":{"description":"The layout schema version","type":"integer"},"enabled":{"description":"A flag indicating whether this resolution is enabled or not","type":"integer"},"userId":{"description":"The userId who owns this Resolution","type":"integer"}}}}}}
```

## The SavedReport object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"SavedReport":{"properties":{"savedReportId":{"description":"Saved report ID","type":"integer"},"saveAs":{"description":"Saved report name As","type":"string"},"reportScheduleId":{"description":"Report schedule Id of the saved report","type":"integer"},"reportScheduleName":{"description":"Report schedule name of the saved report","type":"string"},"reportName":{"description":"Report name","type":"string"},"generatedOn":{"description":"Saved report generated on","type":"string"},"owner":{"description":"The username of the User that owns this saved report","type":"string"},"userId":{"description":"The ID of the User that owns this saved report","type":"integer"},"originalFileName":{"description":"Original name of the saved report media file","type":"string"},"storedAs":{"description":"Stored As","type":"string"},"schemaVersion":{"description":"Schema Version","type":"integer"},"fileName":{"description":"The Saved Report file name","type":"string"},"size":{"description":"The Saved Report file size in bytes","type":"integer"},"md5":{"description":"A MD5 checksum of the stored Saved Report file","type":"string"}}}}}}
```

## The Schedule object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"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":{}}}}
```

## The ScheduleCriteria object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"ScheduleCriteria":{}}}}
```

## The ScheduleExclusion object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"ScheduleExclusion":{"properties":{"scheduleExclusionId":{"description":"Excluded Schedule ID","type":"integer"},"eventId":{"description":"The eventId that this Excluded Schedule applies to","type":"integer"},"fromDt":{"description":"A Unix timestamp representing the from date of an excluded recurring event in CMS time.","type":"integer"},"toDt":{"description":"A Unix timestamp representing the to date of an excluded recurring event in CMS time.","type":"integer"}}}}}}
```

## The ScheduleReminder object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"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"}}}}}}
```

## The SearchResult object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"SearchResult":{}}}}
```

## The SearchResults object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"SearchResults":{}}}}
```

## The SyncGroup object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"SyncGroup":{"properties":{"syncGroupId":{"description":"The ID of this Entity","type":"integer"},"name":{"description":"The name of this Entity","type":"string"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified"},"modifiedBy":{"description":"The ID of the user that last modified this sync group","type":"integer"},"modifiedByName":{"description":"The name of the user that last modified this sync group","type":"string"},"ownerId":{"description":"The ID of the owner of this sync group","type":"integer"},"owner":{"description":"The name of the owner of this sync group","type":"string"},"syncPublisherPort":{"description":"The publisher port number","type":"integer"},"syncSwitchDelay":{"description":"The delay (in ms) when displaying the changes in content","type":"integer"},"syncVideoPauseDelay":{"description":"The delay (in ms) before unpausing the video on start.","type":"integer"},"leadDisplayId":{"description":"The ID of the lead Display for this sync group","type":"integer"},"leadDisplay":{"description":"The name of the lead Display for this sync group","type":"string"},"folderId":{"description":"The id of the Folder this Sync Group belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Sync Group","type":"integer"}}}}}}
```

## The Tag object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Tag":{"properties":{"tagId":{"description":"The Tag ID","type":"integer"},"tag":{"description":"The Tag Name","type":"string"},"isSystem":{"description":"Flag, whether the tag is a system tag","type":"integer"},"isRequired":{"description":"Flag, whether the tag requires additional values","type":"integer"},"options":{"description":"An array of options assigned to this Tag"}}}}}}
```

## The TagLink object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}}}}}
```

## The Transition object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Transition":{"properties":{"transitionId":{"description":"The transition ID","type":"integer"},"transition":{"description":"The transition name","type":"string"},"code":{"description":"Code for transition","type":"string"},"hasDirection":{"description":"Flag indicating whether this is a directional transition","type":"integer"},"hasDuration":{"description":"Flag indicating whether this transition has a duration option","type":"integer"},"availableAsIn":{"description":"Flag indicating whether this transition should be available for IN assignments","type":"integer"},"availableAsOut":{"description":"Flag indicating whether this transition should be available for OUT assignments","type":"integer"}}}}}}
```

## The User object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"User":{"properties":{"userId":{"description":"The ID of this User","type":"integer"},"userName":{"description":"The user name","type":"string"},"userTypeId":{"description":"The user type ID","type":"integer"},"loggedIn":{"description":"Flag indicating whether this user is logged in or not","type":"integer"},"email":{"description":"Email address of the user used for email alerts","type":"string"},"homePageId":{"description":"The pageId of the Homepage for this User","type":"integer"},"homeFolderId":{"description":"This users home folder","type":"integer"},"lastAccessed":{"description":"A timestamp indicating the time the user last logged into the CMS","type":"integer"},"newUserWizard":{"description":"A flag indicating whether this user has see the new user wizard","type":"integer"},"retired":{"description":"A flag indicating whether the user is retired","type":"integer"},"isPasswordChangeRequired":{"description":"A flag indicating whether password change should be forced for this user","type":"integer"},"groupId":{"description":"The users user group ID","type":"integer"},"group":{"description":"The users group name","type":"integer"},"libraryQuota":{"description":"The users library quota in bytes","type":"integer"},"firstName":{"description":"First Name","type":"string"},"lastName":{"description":"Last Name","type":"string"},"phone":{"description":"Phone Number","type":"string"},"ref1":{"description":"Reference field 1","type":"string"},"ref2":{"description":"Reference field 2","type":"string"},"ref3":{"description":"Reference field 3","type":"string"},"ref4":{"description":"Reference field 4","type":"string"},"ref5":{"description":"Reference field 5","type":"string"},"groups":{"description":"An array of user groups this user is assigned to","type":"array","items":{"$ref":"#/components/schemas/UserGroup"}},"campaigns":{"description":"An array of Campaigns for this User","type":"array","items":{"$ref":"#/components/schemas/Campaign"}},"layouts":{"description":"An array of Layouts for this User","type":"array","items":{"$ref":"#/components/schemas/Layout"}},"media":{"description":"An array of Media for this user","type":"array","items":{"$ref":"#/components/schemas/Media"}},"events":{"description":"An array of Scheduled Events for this User","type":"array","items":{"$ref":"#/components/schemas/Schedule"}},"playlists":{"description":"An array of Playlists owned by this User","type":"array","items":{"$ref":"#/components/schemas/Playlist"}},"displayGroups":{"description":"An array of Display Groups owned by this User","type":"array","items":{"$ref":"#/components/schemas/DisplayGroup"}},"dayParts":{"description":"An array of Dayparts owned by this User","type":"array","items":{"$ref":"#/components/schemas/DayPart"}},"isSystemNotification":{"description":"Does this User receive system notifications.","type":"integer"},"isDisplayNotification":{"description":"Does this User receive system notifications.","type":"integer"},"isDataSetNotification":{"description":"Does this User receive DataSet notifications.","type":"integer"},"isLayoutNotification":{"description":"Does this User receive Layout notifications.","type":"integer"},"isLibraryNotification":{"description":"Does this User receive Library notifications.","type":"integer"},"isReportNotification":{"description":"Does this User receive Report notifications.","type":"integer"},"isScheduleNotification":{"description":"Does this User receive Schedule notifications.","type":"integer"},"isCustomNotification":{"description":"Does this User receive Custom notifications.","type":"integer"},"twoFactorTypeId":{"description":"The two factor type id","type":"integer"},"twoFactorSecret":{"description":"Two Factor authorisation shared secret for this user","type":"string"},"twoFactorRecoveryCodes":{"description":"Two Factor authorisation recovery codes","type":"array","items":{"type":"string"}}}},"UserGroup":{"properties":{"groupId":{"description":"The Group ID","type":"integer"},"group":{"description":"The group name","type":"string"},"isUserSpecific":{"description":"A flag indicating whether this is a user specific group or not","type":"integer"},"isEveryone":{"description":"A flag indicating the special everyone group","type":"integer"},"description":{"description":"Description of this User Group","type":"string"},"libraryQuota":{"description":"This users library quota in bytes. 0 = unlimited","type":"integer"},"isSystemNotification":{"description":"Does this Group receive system notifications.","type":"integer"},"isDisplayNotification":{"description":"Does this Group receive display notifications.","type":"integer"},"isDataSetNotification":{"description":"Does this Group receive DataSet notifications.","type":"integer"},"isLayoutNotification":{"description":"Does this Group receive Layout notifications.","type":"integer"},"isLibraryNotification":{"description":"Does this Group receive Library notifications.","type":"integer"},"isReportNotification":{"description":"Does this Group receive Report notifications.","type":"integer"},"isScheduleNotification":{"description":"Does this Group receive Schedule notifications.","type":"integer"},"isCustomNotification":{"description":"Does this Group receive Custom notifications.","type":"integer"},"isShownForAddUser":{"description":"Is this Group shown in the list of choices when onboarding a new user","type":"integer"},"defaultHomepageId":{"description":"Default Home page for new users","type":"string"},"features":{"description":"Features this User Group has direct access to","type":"array","items":{"type":"string"}}}},"Campaign":{"properties":{"campaignId":{"description":"The Campaign Id","type":"integer"},"ownerId":{"description":"The userId of the User that owns this Campaign","type":"integer"},"type":{"description":"The type of campaign, either list, ad, playlist or media","type":"string"},"campaign":{"description":"The name of the Campaign","type":"string"},"isLayoutSpecific":{"description":"A 0|1 flag to indicate whether this is a Layout specific Campaign or not.","type":"integer"},"numberLayouts":{"description":"The number of Layouts associated with this Campaign","type":"integer"},"totalDuration":{"description":"The total duration of the campaign (sum of layout's durations)","type":"integer"},"tags":{"description":"Tags associated with this Campaign, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"folderId":{"description":"The id of the Folder this Campaign belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Campaign","type":"integer"},"cyclePlaybackEnabled":{"description":"Flag indicating whether this Campaign has cycle based playback enabled","type":"integer"},"playCount":{"description":"In cycle based playback, how many plays should each Layout have before moving on?","type":"integer"},"listPlayOrder":{"description":"In list campaign types, how should the layouts play out?","type":"string"},"targetType":{"description":"For an ad campaign, what's the target type, plays|budget|imp","type":"string"},"target":{"description":"For an ad campaign, what's the target (expressed in targetType)","type":"integer"},"startDt":{"description":"For an ad campaign, what's the start date","type":"integer"},"endDt":{"description":"For an ad campaign, what's the end date","type":"integer"},"plays":{"description":"The number of plays achived by this campaign","type":"integer"},"spend":{"description":"The amount of spend in cents/pence/etc","type":"number","format":"double"},"impressions":{"description":"The number of impressions achived by this campaign","type":"number","format":"double"},"lastPopId":{"description":"The latest proof of play ID aggregated into the stats","type":"integer"},"ref1":{"description":"Reference field 1","type":"string"},"ref2":{"description":"Reference field 1","type":"string"},"ref3":{"description":"Reference field 1","type":"string"},"ref4":{"description":"Reference field 1","type":"string"},"ref5":{"description":"Reference field 1","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}},"Layout":{"properties":{"layoutId":{"description":"The layoutId","type":"integer"},"ownerId":{"description":"The userId of the Layout Owner","type":"integer"},"campaignId":{"description":"The id of the Layout's dedicated Campaign","type":"integer"},"parentId":{"description":"The parentId, if this Layout has a draft","type":"integer"},"publishedStatusId":{"description":"The Status Id","type":"integer"},"publishedStatus":{"description":"The Published Status (Published, Draft or Pending Approval","type":"string"},"publishedDate":{"description":"The Published Date","type":"string"},"backgroundImageId":{"description":"The id of the image media set as the background","type":"integer"},"schemaVersion":{"description":"The XLF schema version","type":"integer"},"layout":{"description":"The name of the Layout","type":"string"},"description":{"description":"The description of the Layout","type":"string"},"backgroundColor":{"description":"A HEX string representing the Layout background color","type":"string"},"createdDt":{"description":"The datetime the Layout was created","type":"string"},"modifiedDt":{"description":"The datetime the Layout was last modified","type":"string"},"status":{"description":"Flag indicating the Layout status","type":"integer"},"retired":{"description":"Flag indicating whether the Layout is retired","type":"integer"},"backgroundzIndex":{"description":"The Layer that the background should occupy","type":"integer"},"width":{"description":"The Layout Width","type":"number","format":"double"},"height":{"description":"The Layout Height","type":"number","format":"double"},"orientation":{"description":"The Layout Orientation","type":"string"},"displayOrder":{"description":"If this Layout has been requested by Campaign, then this is the display order of the Layout within the Campaign","type":"integer"},"duration":{"description":"A read-only estimate of this Layout's total duration in seconds. This is equal to the longest region duration and is valid when the layout status is 1 or 2.","type":"integer"},"statusMessage":{"description":"A status message detailing any errors with the layout","type":"string"},"enableStat":{"description":"Flag indicating whether the Layout stat is enabled","type":"integer"},"autoApplyTransitions":{"description":"Flag indicating whether the default transitions should be applied to this Layout","type":"integer"},"code":{"description":"Code identifier for this Layout","type":"string"},"isLocked":{"description":"Is this layout locked by another user?","type":"boolean"},"regions":{"description":"An array of Regions belonging to this Layout","type":"array","items":{"$ref":"#/components/schemas/Region"}},"tags":{"description":"Tags associated with this Layout, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"folderId":{"description":"The id of the Folder this Layout belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Layout","type":"integer"}}},"Region":{"properties":{"regionId":{"description":"The ID of this region","type":"integer"},"layoutId":{"description":"The Layout ID this region belongs to","type":"integer"},"ownerId":{"description":"The userId of the User that owns this Region","type":"integer"},"type":{"description":"Region Type, zone, playlist, frame or canvas","type":"string"},"name":{"description":"The name of this Region","type":"string"},"width":{"description":"Width of the region","type":"number","format":"double"},"height":{"description":"Height of the Region","type":"number","format":"double"},"top":{"description":"The top coordinate of the Region","type":"number","format":"double"},"left":{"description":"The left coordinate of the Region","type":"number","format":"double"},"zIndex":{"description":"The z-index of the Region to control Layering","type":"integer"},"syncKey":{"description":"The syncKey of this Region","type":"string"},"regionOptions":{"description":"An array of Region Options","type":"array","items":{"$ref":"#/components/schemas/RegionOption"}},"permissions":{"description":"An array of Permissions","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"duration":{"description":"A read-only estimate of this Regions's total duration in seconds. This is valid when the parent layout status is 1 or 2.","type":"integer"},"isDrawer":{"description":"Flag, whether this region is used as an interactive drawer attached to a layout.","type":"integer"},"regionPlaylist":{"description":"This Regions Playlist - null if getPlaylist() has not been called.","$ref":"#/components/schemas/Playlist"}}},"RegionOption":{"properties":{"regionId":{"description":"The regionId that this Option applies to","type":"integer"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}},"Permission":{"properties":{"permissionId":{"description":"The ID of this Permission Record","type":"integer"},"entityId":{"description":"The Entity ID that this Permission refers to","type":"integer"},"groupId":{"description":"The User Group ID that this permission refers to","type":"integer"},"objectId":{"description":"The object ID that this permission refers to","type":"integer"},"isUser":{"description":"A flag indicating whether the groupId refers to a user specific group","type":"integer"},"entity":{"description":"The entity name that this refers to","type":"string"},"objectIdString":{"description":"Legacy for when the Object ID is a string","type":"string"},"group":{"description":"The group name that this refers to","type":"string"},"view":{"description":"A flag indicating whether view permission is granted","type":"integer"},"edit":{"description":"A flag indicating whether edit permission is granted","type":"integer"},"delete":{"description":"A flag indicating whether delete permission is granted","type":"integer"},"modifyPermissions":{"description":"A flag indicating whether modify permission permission is granted.","type":"integer"}}},"Playlist":{"properties":{"playlistId":{"description":"The ID of this Playlist","type":"integer"},"ownerId":{"description":"The userId of the User that owns this Playlist","type":"integer"},"name":{"description":"The Name of the Playlist","type":"string"},"regionId":{"description":"The RegionId if this Playlist is specific to a Region","type":"integer"},"isDynamic":{"description":"Flag indicating if this is a dynamic Playlist","type":"integer"},"filterMediaName":{"description":"Filter Name for a Dynamic Playlist","type":"string"},"filterMediaNameLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Plalust names? OR|AND","type":"string"},"filterMediaTags":{"description":"Filter Tags for a Dynamic Playlist","type":"string"},"filterExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"filterMediaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"filterFolderId":{"description":"The ID of the folder to filter media items by","type":"integer"},"maxNumberOfItems":{"description":"Maximum number of Media items matching dynamic Playlist filters","type":"integer"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"duration":{"description":"A read-only estimate of this Layout's total duration in seconds. This is equal to the longest region duration and is valid when the layout status is 1 or 2.","type":"integer"},"requiresDurationUpdate":{"description":"Flag indicating whether this Playlists requires a duration update","type":"integer"},"enableStat":{"description":"The option to enable the collection of Playlist Proof of Play statistics","type":"string"},"tags":{"description":"Tags associated with this Playlist, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"widgets":{"description":"An array of Widgets assigned to this Playlist","type":"array","items":{"$ref":"#/components/schemas/Widget"}},"permissions":{"description":"An array of permissions","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"folderId":{"description":"The id of the Folder this Playlist belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Playlist","type":"integer"}}},"Widget":{"properties":{"widgetId":{"description":"The Widget ID","type":"integer"},"playlistId":{"description":"The ID of the Playlist this Widget belongs to","type":"integer"},"ownerId":{"description":"The ID of the User that owns this Widget","type":"integer"},"type":{"description":"The Module Type Code","type":"string"},"duration":{"description":"The duration in seconds this widget should be shown","type":"integer"},"displayOrder":{"description":"The display order of this widget","type":"integer"},"useDuration":{"description":"Flag indicating if this widget has a duration that should be used","type":"integer"},"calculatedDuration":{"description":"Calculated Duration of this widget after taking into account the useDuration flag","type":"integer"},"createdDt":{"description":"The datetime the Layout was created","type":"string"},"modifiedDt":{"description":"The datetime the Layout was last modified","type":"string"},"fromDt":{"description":"Widget From Date","type":"integer"},"toDt":{"description":"Widget To Date","type":"integer"},"schemaVersion":{"description":"Widget Schema Version","type":"integer"},"transitionIn":{"description":"Transition Type In","type":"integer"},"transitionOut":{"description":"Transition Type out","type":"integer"},"transitionDurationIn":{"description":"Transition duration in","type":"integer"},"transitionDurationOut":{"description":"Transition duration out","type":"integer"},"widgetOptions":{"description":"An array of Widget Options","type":"array","items":{"$ref":"#/components/schemas/WidgetOption"}},"mediaIds":{"description":"An array of MediaIds this widget is linked to","type":"array","items":{"type":"integer"}},"audio":{"description":"An array of Audio MediaIds this widget is linked to","type":"array","items":{"$ref":"#/components/schemas/WidgetAudio"}},"permissions":{"description":"An array of permissions for this widget","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"playlist":{"description":"The name of the Playlist this Widget is on","type":"string"}}},"WidgetOption":{"properties":{"widgetId":{"description":"The Widget ID that this Option belongs to","type":"integer"},"type":{"description":"The option type, either attrib or raw","type":"string"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}},"WidgetAudio":{"properties":{"widgetId":{"description":"The Widget Id","type":"integer"},"mediaId":{"description":"The Media Id","type":"integer"},"volume":{"description":"The percentage volume","type":"integer"},"loop":{"description":"Flag indicating whether to loop","type":"integer"}}},"Media":{"properties":{"mediaId":{"description":"The Media ID","type":"integer"},"ownerId":{"description":"The ID of the User that owns this Media","type":"integer"},"parentId":{"description":"The Parent ID of this Media if it has been revised","type":"integer"},"name":{"description":"The Name of this Media","type":"string"},"mediaType":{"description":"The module type of this Media","type":"string"},"storedAs":{"description":"The file name of the media as stored in the library","type":"string"},"fileName":{"description":"The original file name as it was uploaded","type":"string"},"tags":{"description":"Tags associated with this Media, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"fileSize":{"description":"The file size in bytes","type":"integer"},"duration":{"description":"The duration to use when assigning this media to a Layout widget","type":"integer"},"valid":{"description":"Flag indicating whether this media is valid.","type":"integer"},"moduleSystemFile":{"description":"DEPRECATED: Flag indicating whether this media is a system file or not","type":"integer"},"expires":{"description":"Timestamp indicating when this media should expire","type":"integer"},"retired":{"description":"Flag indicating whether this media is retired","type":"integer"},"isEdited":{"description":"Flag indicating whether this media has been edited and replaced with a newer file","type":"integer"},"md5":{"description":"A MD5 checksum of the stored media file","type":"string"},"owner":{"description":"The username of the User that owns this media","type":"string"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this Media","type":"string"},"released":{"description":"A flag indicating whether this media has been released","type":"integer"},"apiRef":{"description":"An API reference","type":"string"},"createdDt":{"description":"The datetime the Media was created","type":"string"},"modifiedDt":{"description":"The datetime the Media was last modified","type":"string"},"enableStat":{"description":"The option to enable the collection of Media Proof of Play statistics","type":"string"},"orientation":{"description":"The orientation of the Media file","type":"string"},"width":{"description":"The width of the Media file","type":"integer"},"height":{"description":"The height of the Media file","type":"integer"},"folderId":{"description":"The id of the Folder this Media belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Media","type":"integer"}}},"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"}}},"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":{},"DayPart":{"properties":{"dayPartId":{"description":"The ID of this Daypart","type":"integer"},"isAlways":{"description":"A readonly flag determining whether this DayPart is always","type":"integer"},"isCustom":{"description":"A readonly flag determining whether this DayPart is custom","type":"integer"}}}}}}
```

## The UserGroup object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"UserGroup":{"properties":{"groupId":{"description":"The Group ID","type":"integer"},"group":{"description":"The group name","type":"string"},"isUserSpecific":{"description":"A flag indicating whether this is a user specific group or not","type":"integer"},"isEveryone":{"description":"A flag indicating the special everyone group","type":"integer"},"description":{"description":"Description of this User Group","type":"string"},"libraryQuota":{"description":"This users library quota in bytes. 0 = unlimited","type":"integer"},"isSystemNotification":{"description":"Does this Group receive system notifications.","type":"integer"},"isDisplayNotification":{"description":"Does this Group receive display notifications.","type":"integer"},"isDataSetNotification":{"description":"Does this Group receive DataSet notifications.","type":"integer"},"isLayoutNotification":{"description":"Does this Group receive Layout notifications.","type":"integer"},"isLibraryNotification":{"description":"Does this Group receive Library notifications.","type":"integer"},"isReportNotification":{"description":"Does this Group receive Report notifications.","type":"integer"},"isScheduleNotification":{"description":"Does this Group receive Schedule notifications.","type":"integer"},"isCustomNotification":{"description":"Does this Group receive Custom notifications.","type":"integer"},"isShownForAddUser":{"description":"Is this Group shown in the list of choices when onboarding a new user","type":"integer"},"defaultHomepageId":{"description":"Default Home page for new users","type":"string"},"features":{"description":"Features this User Group has direct access to","type":"array","items":{"type":"string"}}}}}}}
```

## The UserNotification object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"UserNotification":{"properties":{"userId":{"description":"The User Id","type":"integer"},"notificationId":{"description":"The Notification Id","type":"integer"},"releaseDt":{"description":"Release Date expressed as Unix Timestamp","type":"integer"},"readDt":{"description":"Read Date expressed as Unix Timestamp","type":"integer"},"emailDt":{"description":"Email Date expressed as Unix Timestamp","type":"integer"},"read":{"description":"A flag indicating whether to show as read or not","type":"integer"},"subject":{"description":"The subject","type":"string"},"body":{"description":"The body","type":"string"},"isInterrupt":{"description":"Should the notification interrupt the CMS UI on navigate/login","type":"integer"},"isSystem":{"description":"Flag for system notification","type":"integer"}}}}}}
```

## The UserOption object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"UserOption":{"properties":{"userId":{"description":"The userId that this Option applies to","type":"integer"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}}}}}
```

## The Widget object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Widget":{"properties":{"widgetId":{"description":"The Widget ID","type":"integer"},"playlistId":{"description":"The ID of the Playlist this Widget belongs to","type":"integer"},"ownerId":{"description":"The ID of the User that owns this Widget","type":"integer"},"type":{"description":"The Module Type Code","type":"string"},"duration":{"description":"The duration in seconds this widget should be shown","type":"integer"},"displayOrder":{"description":"The display order of this widget","type":"integer"},"useDuration":{"description":"Flag indicating if this widget has a duration that should be used","type":"integer"},"calculatedDuration":{"description":"Calculated Duration of this widget after taking into account the useDuration flag","type":"integer"},"createdDt":{"description":"The datetime the Layout was created","type":"string"},"modifiedDt":{"description":"The datetime the Layout was last modified","type":"string"},"fromDt":{"description":"Widget From Date","type":"integer"},"toDt":{"description":"Widget To Date","type":"integer"},"schemaVersion":{"description":"Widget Schema Version","type":"integer"},"transitionIn":{"description":"Transition Type In","type":"integer"},"transitionOut":{"description":"Transition Type out","type":"integer"},"transitionDurationIn":{"description":"Transition duration in","type":"integer"},"transitionDurationOut":{"description":"Transition duration out","type":"integer"},"widgetOptions":{"description":"An array of Widget Options","type":"array","items":{"$ref":"#/components/schemas/WidgetOption"}},"mediaIds":{"description":"An array of MediaIds this widget is linked to","type":"array","items":{"type":"integer"}},"audio":{"description":"An array of Audio MediaIds this widget is linked to","type":"array","items":{"$ref":"#/components/schemas/WidgetAudio"}},"permissions":{"description":"An array of permissions for this widget","type":"array","items":{"$ref":"#/components/schemas/Permission"}},"playlist":{"description":"The name of the Playlist this Widget is on","type":"string"}}},"WidgetOption":{"properties":{"widgetId":{"description":"The Widget ID that this Option belongs to","type":"integer"},"type":{"description":"The option type, either attrib or raw","type":"string"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}},"WidgetAudio":{"properties":{"widgetId":{"description":"The Widget Id","type":"integer"},"mediaId":{"description":"The Media Id","type":"integer"},"volume":{"description":"The percentage volume","type":"integer"},"loop":{"description":"Flag indicating whether to loop","type":"integer"}}},"Permission":{"properties":{"permissionId":{"description":"The ID of this Permission Record","type":"integer"},"entityId":{"description":"The Entity ID that this Permission refers to","type":"integer"},"groupId":{"description":"The User Group ID that this permission refers to","type":"integer"},"objectId":{"description":"The object ID that this permission refers to","type":"integer"},"isUser":{"description":"A flag indicating whether the groupId refers to a user specific group","type":"integer"},"entity":{"description":"The entity name that this refers to","type":"string"},"objectIdString":{"description":"Legacy for when the Object ID is a string","type":"string"},"group":{"description":"The group name that this refers to","type":"string"},"view":{"description":"A flag indicating whether view permission is granted","type":"integer"},"edit":{"description":"A flag indicating whether edit permission is granted","type":"integer"},"delete":{"description":"A flag indicating whether delete permission is granted","type":"integer"},"modifyPermissions":{"description":"A flag indicating whether modify permission permission is granted.","type":"integer"}}}}}}
```

## The WidgetAudio object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"WidgetAudio":{"properties":{"widgetId":{"description":"The Widget Id","type":"integer"},"mediaId":{"description":"The Media Id","type":"integer"},"volume":{"description":"The percentage volume","type":"integer"},"loop":{"description":"Flag indicating whether to loop","type":"integer"}}}}}}
```

## The WidgetData object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"WidgetData":{"properties":{"id":{"description":"The ID","type":"integer"},"widgetId":{"description":"The Widget ID","type":"integer"},"data":{"description":"Array of data properties depending on the widget data type this data is for","type":"array","items":{"type":"string"}},"displayOrder":{"description":"The Display Order","type":"integer"},"createdDt":{"description":"The datetime this entity was created"},"modifiedDt":{"description":"The datetime this entity was last modified"}}}}}}
```

## The WidgetOption object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"WidgetOption":{"properties":{"widgetId":{"description":"The Widget ID that this Option belongs to","type":"integer"},"type":{"description":"The option type, either attrib or raw","type":"string"},"option":{"description":"The option name","type":"string"},"value":{"description":"The option value","type":"string"}}}}}}
```

## The Element object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Element":{}}}}
```

## The ElementGroup object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"ElementGroup":{}}}}
```

## The Extend object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Extend":{}}}}
```

## The LegacyType object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"LegacyType":{}}}}
```

## The Option object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Option":{"properties":{"name":{"description":"Name","type":"string"},"image":{"description":"Image: optional image asset","type":"string"},"set":{"description":"Set","type":"array","items":{"type":"string"}},"title":{"description":"Title: shown in the dropdown/select","type":"string"}}}}}}
```

## The Property object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Property":{"properties":{"id":{"description":"ID, saved as a widget option","type":"string"},"type":{"description":"Type, determines the field type","type":"string"},"title":{"description":"Title: shown in the property panel","type":"string"},"helpText":{"description":"Help Text: shown in the property panel","type":"string"},"default":{"description":"An optional default value","type":"string"}}}}}}
```

## The PropertyGroup object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"PropertyGroup":{}}}}
```

## The Rule object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Rule":{}}}}
```

## The Stencil object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Stencil":{"properties":{"elementGroups":{"description":"An array of element groups","type":"array","items":{"$ref":"#/components/schemas/ElementGroup"}}}},"ElementGroup":{}}}}
```

## The Test object

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"components":{"schemas":{"Test":{}}}}
```


---

# 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/models.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.
