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

# User

Users

## Get Me

> Get my details

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"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"}}}}},"paths":{"/user/me":{"get":{"tags":["user"],"summary":"Get Me","description":"Get my details","operationId":"userMe","responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}}}}}}
```

## User Search

> Search users

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"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"}}}}},"paths":{"/user":{"get":{"tags":["user"],"summary":"User Search","description":"Search users","operationId":"userSearch","parameters":[{"schema":{"type":"integer"},"name":"userId","in":"query","description":"Filter by User Id","required":false},{"schema":{"type":"string"},"name":"userName","in":"query","description":"Filter by User Name","required":false},{"schema":{"type":"integer"},"name":"userTypeId","in":"query","description":"Filter by UserType Id","required":false},{"schema":{"type":"integer"},"name":"retired","in":"query","description":"Filter by Retired","required":false}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}}}}}}}
```

## Add User

> Add a new User

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"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"}}}}},"paths":{"/user":{"post":{"tags":["user"],"summary":"Add User","description":"Add a new User","operationId":"userAdd","responses":{"201":{"description":"successful operation","headers":{"Location":{"description":"Location of the new record","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":"The User Name"},"email":{"type":"string","description":"The user email address"},"userTypeId":{"type":"integer","description":"The user type ID"},"homePageId":{"type":"string","description":"The homepage to use for this User"},"libraryQuota":{"type":"integer","description":"The users library quota in kilobytes"},"password":{"type":"string","description":"The users password"},"groupId":{"type":"integer","description":"The inital user group for this User"},"firstName":{"type":"string","description":"The users first name"},"lastName":{"type":"string","description":"The users last name"},"phone":{"type":"string","description":"The users phone number"},"ref1":{"type":"string","description":"Reference 1"},"ref2":{"type":"string","description":"Reference 2"},"ref3":{"type":"string","description":"Reference 3"},"ref4":{"type":"string","description":"Reference 4"},"ref5":{"type":"string","description":"Reference 5"},"newUserWizard":{"type":"integer","description":"Flag indicating whether to show the new user guide"},"hideNavigation":{"type":"integer","description":"Flag indicating whether to hide the navigation"},"isPasswordChangeRequired":{"type":"integer","description":"A flag indicating whether password change should be forced for this user"}},"required":["userName","userTypeId","homePageId","password","groupId","newUserWizard","hideNavigation"]}}}}}}}}
```

## Edit User

> Edit existing User

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"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"}}}}},"paths":{"/user/{userId}":{"put":{"tags":["user"],"summary":"Edit User","description":"Edit existing User","operationId":"userEdit","parameters":[{"schema":{"type":"integer"},"name":"userId","in":"path","description":"The user ID to edit","required":true}],"responses":{"201":{"description":"successful operation","headers":{"Location":{"description":"Location of the new record","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"userName":{"type":"string","description":"The User Name"},"email":{"type":"string","description":"The user email address"},"userTypeId":{"type":"integer","description":"The user type ID"},"homePageId":{"type":"string","description":"The homepage to use for this User"},"libraryQuota":{"type":"integer","description":"The users library quota in kilobytes"},"newPassword":{"type":"string","description":"New User password"},"retypeNewPassword":{"type":"string","description":"Repeat the new User password"},"retired":{"type":"integer","description":"Flag indicating whether to retire this user"},"firstName":{"type":"string","description":"The users first name"},"lastName":{"type":"string","description":"The users last name"},"phone":{"type":"string","description":"The users phone number"},"ref1":{"type":"string","description":"Reference 1"},"ref2":{"type":"string","description":"Reference 2"},"ref3":{"type":"string","description":"Reference 3"},"ref4":{"type":"string","description":"Reference 4"},"ref5":{"type":"string","description":"Reference 5"},"newUserWizard":{"type":"integer","description":"Flag indicating whether to show the new user guide"},"hideNavigation":{"type":"integer","description":"Flag indicating whether to hide the navigation"},"isPasswordChangeRequired":{"type":"integer","description":"A flag indicating whether password change should be forced for this user"}},"required":["userName","userTypeId","homePageId","newUserWizard","hideNavigation"]}}}}}}}}
```

## User Delete

> Delete user

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"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"}}}}},"paths":{"/user/{userId}":{"delete":{"tags":["user"],"summary":"User Delete","description":"Delete user","operationId":"userDelete","parameters":[{"schema":{"type":"integer"},"name":"userId","in":"path","description":"Id of the user to delete","required":true}],"responses":{"204":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"deleteAllItems":{"type":"integer","description":"Flag indicating whether to delete all items owned by that user"},"reassignUserId":{"type":"integer","description":"Reassign all items owned by this user to the specified user ID"}},"required":[]}}}}}}}}
```

## Permission Data

> Permission data for the Entity and Object Provided.

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"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"}}}}},"paths":{"/user/permissions/{entity}/{objectId}":{"get":{"tags":["user"],"summary":"Permission Data","description":"Permission data for the Entity and Object Provided.","operationId":"userPermissionsSearch","parameters":[{"schema":{"type":"string"},"name":"entity","in":"path","description":"The Entity","required":true},{"schema":{"type":"integer"},"name":"objectId","in":"path","description":"The ID of the Object to return permissions for","required":true}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}}}}}}}}
```

## Permission Set

> Set Permissions to users/groups for the provided entity.

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/user/permissions/{entity}/{objectId}":{"post":{"tags":["user"],"summary":"Permission Set","description":"Set Permissions to users/groups for the provided entity.","operationId":"userPermissionsSet","parameters":[{"schema":{"type":"string"},"name":"entity","in":"path","description":"The Entity","required":true},{"schema":{"type":"integer"},"name":"objectId","in":"path","description":"The ID of the Object to set permissions on","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"groupIds":{"type":"array","description":"Array of permissions with groupId as the key"},"ownerId":{"type":"integer","description":"Change the owner of this item. Leave empty to keep the current owner"}},"required":["groupIds"]}}}}}}}}
```

## Permission Data

> Permission data for the multiple Entities and Objects Provided.

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"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"}}}}},"paths":{"/user/permissions/{entity}":{"get":{"tags":["user"],"summary":"Permission Data","description":"Permission data for the multiple Entities and Objects Provided.","operationId":"userPermissionsMultiSearch","parameters":[{"schema":{"type":"string"},"name":"entity","in":"path","description":"The Entity","required":true},{"schema":{"type":"string"},"name":"ids","in":"query","description":"The IDs of the Objects to return permissions for","required":true}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}}}}}}}}
```

## Multiple Permission Set

> Set Permissions to users/groups for multiple provided entities.

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/user/permissions/{entity}/multiple":{"post":{"tags":["user"],"summary":"Multiple Permission Set","description":"Set Permissions to users/groups for multiple provided entities.","operationId":"userPermissionsMultiSet","parameters":[{"schema":{"type":"string"},"name":"entity","in":"path","description":"The Entity type","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"ids":{"type":"integer","description":"Array of object IDs"},"groupIds":{"type":"array","description":"Array of permissions with groupId as the key"},"ownerId":{"type":"integer","description":"Change the owner of this item. Leave empty to keep the current owner"}},"required":["ids","groupIds"]}}}}}}}}
```

## Retrieve User Preferences

> User preferences for non-state information, such as Layout designer zoom levels

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"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"}}}}},"paths":{"/user/pref":{"get":{"tags":["user"],"summary":"Retrieve User Preferences","description":"User preferences for non-state information, such as Layout designer zoom levels","operationId":"userPrefGet","parameters":[{"schema":{"type":"string"},"name":"preference","in":"query","description":"An optional preference","required":false}],"responses":{"200":{"description":"successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserOption"}}}}}}}}}}
```

## Save User Preferences

> Save User preferences for non-state information, such as Layout designer zoom levels

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"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"}}}}},"paths":{"/user/pref":{"post":{"tags":["user"],"summary":"Save User Preferences","description":"Save User preferences for non-state information, such as Layout designer zoom levels","operationId":"userPrefEdit","responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserOption"}}}},"required":true}}}}}
```

## Save User Preferences

> Save User preferences from the Preferences form.

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"user","description":"Users"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/user/pref":{"put":{"tags":["user"],"summary":"Save User Preferences","description":"Save User preferences from the Preferences form.","operationId":"userPrefEditFromForm","responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"navigationMenuPosition":{"type":"string"},"useLibraryDuration":{"type":"integer"},"showThumbnailColumn":{"type":"integer"},"rememberFolderTreeStateGlobally":{"type":"integer"}},"required":["navigationMenuPosition"]}}}}}}}}
```


---

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