---
title: "User Search"
method: GET
path: "/user"
tags: ["user"]
---

# User Search

`GET /user`

Search users

## Query parameters

- `userId` integer
- `userName` string
- `userTypeId` integer
- `retired` integer
- `sortBy` 'userId' | 'userName' | 'firstName' | 'lastName' | 'email' | 'homeFolder' | 'libraryQuota' | 'lastAccessed' | 'retired' | 'twoFactorTypeId' | 'phone' | 'ref1' | 'ref2' | 'ref3' | 'ref4' | 'ref5'
- `sortDir` 'asc' | 'desc'

## Response `200`

successful operation

- User[]
  - `userId` integer — The ID of this User
  - `userName` string — The user name
  - `userTypeId` integer — The user type ID
  - `loggedIn` integer — Flag indicating whether this user is logged in or not
  - `email` string — Email address of the user used for email alerts
  - `homePageId` integer — The pageId of the Homepage for this User
  - `homeFolderId` integer — This users home folder
  - `lastAccessed` integer — A timestamp indicating the time the user last logged into the CMS
  - `newUserWizard` integer — A flag indicating whether this user has see the new user wizard
  - `retired` integer — A flag indicating whether the user is retired
  - `isPasswordChangeRequired` integer — A flag indicating whether password change should be forced for this user
  - `groupId` integer — The users user group ID
  - `group` integer — The users group name
  - `libraryQuota` integer — The users library quota in bytes
  - `firstName` string — First Name
  - `lastName` string — Last Name
  - `phone` string — Phone Number
  - `ref1` string — Reference field 1
  - `ref2` string — Reference field 2
  - `ref3` string — Reference field 3
  - `ref4` string — Reference field 4
  - `ref5` string — Reference field 5
  - `groups` UserGroup[] — An array of user groups this user is assigned to
    - `groupId` integer — The Group ID
    - `group` string — The group name
    - `isUserSpecific` integer — A flag indicating whether this is a user specific group or not
    - `isEveryone` integer — A flag indicating the special everyone group
    - `description` string — Description of this User Group
    - `libraryQuota` integer — This users library quota in bytes. 0 = unlimited
    - `isSystemNotification` integer — Does this Group receive system notifications.
    - `isDisplayNotification` integer — Does this Group receive display notifications.
    - `isDataSetNotification` integer — Does this Group receive DataSet notifications.
    - `isLayoutNotification` integer — Does this Group receive Layout notifications.
    - `isLibraryNotification` integer — Does this Group receive Library notifications.
    - `isReportNotification` integer — Does this Group receive Report notifications.
    - `isScheduleNotification` integer — Does this Group receive Schedule notifications.
    - `isCustomNotification` integer — Does this Group receive Custom notifications.
    - `isShownForAddUser` integer — Is this Group shown in the list of choices when onboarding a new user
    - `defaultHomepageId` string — Default Home page for new users
    - `features` string[] — Features this User Group has direct access to
  - `campaigns` Campaign[] — An array of Campaigns for this User
    - `campaignId` integer — The Campaign Id
    - `ownerId` integer — The userId of the User that owns this Campaign
    - `type` string — The type of campaign, either list, ad, playlist or media
    - `campaign` string — The name of the Campaign
    - `isLayoutSpecific` integer — A 0|1 flag to indicate whether this is a Layout specific Campaign or not.
    - `numberLayouts` integer — The number of Layouts associated with this Campaign
    - `totalDuration` integer — The total duration of the campaign (sum of layout's durations)
    - `tags` TagLink[] — Tags associated with this Campaign, array of TagLink objects
      - `tag` string — The Tag
      - `tagId` integer — The Tag ID
      - `value` string — The Tag Value
    - `folderId` integer — The id of the Folder this Campaign belongs to
    - `permissionsFolderId` integer — The id of the Folder responsible for providing permissions for this Campaign
    - `cyclePlaybackEnabled` integer — Flag indicating whether this Campaign has cycle based playback enabled
    - `playCount` integer — In cycle based playback, how many plays should each Layout have before moving on?
    - `listPlayOrder` string — In list campaign types, how should the layouts play out?
    - `targetType` string — For an ad campaign, what's the target type, plays|budget|imp
    - `target` integer — For an ad campaign, what's the target (expressed in targetType)
    - `startDt` integer — For an ad campaign, what's the start date
    - `endDt` integer — For an ad campaign, what's the end date
    - `plays` integer — The number of plays achived by this campaign
    - `spend` number, double — The amount of spend in cents/pence/etc
    - `impressions` number, double — The number of impressions achived by this campaign
    - `lastPopId` integer — The latest proof of play ID aggregated into the stats
    - `ref1` string — Reference field 1
    - `ref2` string — Reference field 1
    - `ref3` string — Reference field 1
    - `ref4` string — Reference field 1
    - `ref5` string — Reference field 1
  - `layouts` Layout[] — An array of Layouts for this User
    - `layoutId` integer — The layoutId
    - `ownerId` integer — The userId of the Layout Owner
    - `campaignId` integer — The id of the Layout's dedicated Campaign
    - `parentId` integer — The parentId, if this Layout has a draft
    - `publishedStatusId` integer — The Status Id
    - `publishedStatus` string — The Published Status (Published, Draft or Pending Approval
    - `publishedDate` string — The Published Date
    - `backgroundImageId` integer — The id of the image media set as the background
    - `schemaVersion` integer — The XLF schema version
    - `layout` string — The name of the Layout
    - `description` string — The description of the Layout
    - `backgroundColor` string — A HEX string representing the Layout background color
    - `createdDt` string — The datetime the Layout was created
    - `modifiedDt` string — The datetime the Layout was last modified
    - `status` integer — Flag indicating the Layout status
    - `retired` integer — Flag indicating whether the Layout is retired
    - `backgroundzIndex` integer — The Layer that the background should occupy
    - `width` number, double — The Layout Width
    - `height` number, double — The Layout Height
    - `orientation` string — The Layout Orientation
    - `displayOrder` integer — If this Layout has been requested by Campaign, then this is the display order of the Layout within the Campaign
    - `duration` integer — 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.
    - `statusMessage` string — A status message detailing any errors with the layout
    - `enableStat` integer — Flag indicating whether the Layout stat is enabled
    - `autoApplyTransitions` integer — Flag indicating whether the default transitions should be applied to this Layout
    - `code` string — Code identifier for this Layout
    - `isLocked` boolean — Is this layout locked by another user?
    - `regions` Region[] — An array of Regions belonging to this Layout
      - `regionId` integer — The ID of this region
      - `layoutId` integer — The Layout ID this region belongs to
      - `ownerId` integer — The userId of the User that owns this Region
      - `type` string — Region Type, zone, playlist, frame or canvas
      - `name` string — The name of this Region
      - `width` number, double — Width of the region
      - `height` number, double — Height of the Region
      - `top` number, double — The top coordinate of the Region
      - `left` number, double — The left coordinate of the Region
      - `zIndex` integer — The z-index of the Region to control Layering
      - `syncKey` string — The syncKey of this Region
      - `regionOptions` RegionOption[] — An array of Region Options
        - `regionId` integer — The regionId that this Option applies to
        - `option` string — The option name
        - `value` string — The option value
      - `permissions` Permission[] — An array of Permissions
        - `permissionId` integer — The ID of this Permission Record
        - `entityId` integer — The Entity ID that this Permission refers to
        - `groupId` integer — The User Group ID that this permission refers to
        - `objectId` integer — The object ID that this permission refers to
        - `isUser` integer — A flag indicating whether the groupId refers to a user specific group
        - `entity` string — The entity name that this refers to
        - `objectIdString` string — Legacy for when the Object ID is a string
        - `group` string — The group name that this refers to
        - `view` integer — A flag indicating whether view permission is granted
        - `edit` integer — A flag indicating whether edit permission is granted
        - `delete` integer — A flag indicating whether delete permission is granted
        - `modifyPermissions` integer — A flag indicating whether modify permission permission is granted.
      - `duration` integer — A read-only estimate of this Regions's total duration in seconds. This is valid when the parent layout status is 1 or 2.
      - `isDrawer` integer — Flag, whether this region is used as an interactive drawer attached to a layout.
      - `regionPlaylist` Playlist — Class Playlist
        - `playlistId` integer — The ID of this Playlist
        - `ownerId` integer — The userId of the User that owns this Playlist
        - `name` string — The Name of the Playlist
        - `regionId` integer — The RegionId if this Playlist is specific to a Region
        - `isDynamic` integer — Flag indicating if this is a dynamic Playlist
        - `filterMediaName` string — Filter Name for a Dynamic Playlist
        - `filterMediaNameLogicalOperator` string — Which logical operator should be used when filtering by multiple Plalust names? OR|AND
        - `filterMediaTags` string — Filter Tags for a Dynamic Playlist
        - `filterExactTags` integer — Flag indicating whether to filter by exact Tag match
        - `filterMediaTagsLogicalOperator` string — Which logical operator should be used when filtering by multiple Tags? OR|AND
        - `filterFolderId` integer — The ID of the folder to filter media items by
        - `maxNumberOfItems` integer — Maximum number of Media items matching dynamic Playlist filters
        - `createdDt` string — The datetime this entity was created
        - `modifiedDt` string — The datetime this entity was last modified
        - `duration` integer — 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.
        - `requiresDurationUpdate` integer — Flag indicating whether this Playlists requires a duration update
        - `enableStat` string — The option to enable the collection of Playlist Proof of Play statistics
        - `tags` TagLink[] — Tags associated with this Playlist, array of TagLink objects
          - `tag` string — The Tag
          - `tagId` integer — The Tag ID
          - `value` string — The Tag Value
        - `widgets` Widget[] — An array of Widgets assigned to this Playlist
          - `widgetId` integer — The Widget ID
          - `playlistId` integer — The ID of the Playlist this Widget belongs to
          - `ownerId` integer — The ID of the User that owns this Widget
          - `type` string — The Module Type Code
          - `duration` integer — The duration in seconds this widget should be shown
          - `displayOrder` integer — The display order of this widget
          - `useDuration` integer — Flag indicating if this widget has a duration that should be used
          - `calculatedDuration` integer — Calculated Duration of this widget after taking into account the useDuration flag
          - `createdDt` string — The datetime the Layout was created
          - `modifiedDt` string — The datetime the Layout was last modified
          - `fromDt` integer — Widget From Date
          - `toDt` integer — Widget To Date
          - `schemaVersion` integer — Widget Schema Version
          - `transitionIn` integer — Transition Type In
          - `transitionOut` integer — Transition Type out
          - `transitionDurationIn` integer — Transition duration in
          - `transitionDurationOut` integer — Transition duration out
          - `widgetOptions` WidgetOption[] — An array of Widget Options
            - `widgetId` integer — The Widget ID that this Option belongs to
            - `type` string — The option type, either attrib or raw
            - `option` string — The option name
            - `value` string — The option value
          - `mediaIds` integer[] — An array of MediaIds this widget is linked to
          - `audio` WidgetAudio[] — An array of Audio MediaIds this widget is linked to
            - `widgetId` integer — The Widget Id
            - `mediaId` integer — The Media Id
            - `volume` integer — The percentage volume
            - `loop` integer — Flag indicating whether to loop
          - `permissions` Permission[] — An array of permissions for this widget
            - `permissionId` integer — The ID of this Permission Record
            - `entityId` integer — The Entity ID that this Permission refers to
            - `groupId` integer — The User Group ID that this permission refers to
            - `objectId` integer — The object ID that this permission refers to
            - `isUser` integer — A flag indicating whether the groupId refers to a user specific group
            - `entity` string — The entity name that this refers to
            - `objectIdString` string — Legacy for when the Object ID is a string
            - `group` string — The group name that this refers to
            - `view` integer — A flag indicating whether view permission is granted
            - `edit` integer — A flag indicating whether edit permission is granted
            - `delete` integer — A flag indicating whether delete permission is granted
            - `modifyPermissions` integer — A flag indicating whether modify permission permission is granted.
          - `playlist` string — The name of the Playlist this Widget is on
        - `permissions` Permission[] — An array of permissions
          - `permissionId` integer — The ID of this Permission Record
          - `entityId` integer — The Entity ID that this Permission refers to
          - `groupId` integer — The User Group ID that this permission refers to
          - `objectId` integer — The object ID that this permission refers to
          - `isUser` integer — A flag indicating whether the groupId refers to a user specific group
          - `entity` string — The entity name that this refers to
          - `objectIdString` string — Legacy for when the Object ID is a string
          - `group` string — The group name that this refers to
          - `view` integer — A flag indicating whether view permission is granted
          - `edit` integer — A flag indicating whether edit permission is granted
          - `delete` integer — A flag indicating whether delete permission is granted
          - `modifyPermissions` integer — A flag indicating whether modify permission permission is granted.
        - `folderId` integer — The id of the Folder this Playlist belongs to
        - `permissionsFolderId` integer — The id of the Folder responsible for providing permissions for this Playlist
    - `tags` TagLink[] — Tags associated with this Layout, array of TagLink objects
      - `tag` string — The Tag
      - `tagId` integer — The Tag ID
      - `value` string — The Tag Value
    - `folderId` integer — The id of the Folder this Layout belongs to
    - `permissionsFolderId` integer — The id of the Folder responsible for providing permissions for this Layout
  - `media` Media[] — An array of Media for this user
    - `mediaId` integer — The Media ID
    - `ownerId` integer — The ID of the User that owns this Media
    - `parentId` integer — The Parent ID of this Media if it has been revised
    - `name` string — The Name of this Media
    - `mediaType` string — The module type of this Media
    - `storedAs` string — The file name of the media as stored in the library
    - `fileName` string — The original file name as it was uploaded
    - `tags` TagLink[] — Tags associated with this Media, array of TagLink objects
      - `tag` string — The Tag
      - `tagId` integer — The Tag ID
      - `value` string — The Tag Value
    - `fileSize` integer — The file size in bytes
    - `duration` integer — The duration to use when assigning this media to a Layout widget
    - `valid` integer — Flag indicating whether this media is valid.
    - `moduleSystemFile` integer — DEPRECATED: Flag indicating whether this media is a system file or not
    - `expires` integer — Timestamp indicating when this media should expire
    - `retired` integer — Flag indicating whether this media is retired
    - `isEdited` integer — Flag indicating whether this media has been edited and replaced with a newer file
    - `md5` string — A MD5 checksum of the stored media file
    - `owner` string — The username of the User that owns this media
    - `groupsWithPermissions` string — A comma separated list of groups/users with permissions to this Media
    - `released` integer — A flag indicating whether this media has been released
    - `apiRef` string — An API reference
    - `createdDt` string — The datetime the Media was created
    - `modifiedDt` string — The datetime the Media was last modified
    - `enableStat` string — The option to enable the collection of Media Proof of Play statistics
    - `orientation` string — The orientation of the Media file
    - `width` integer — The width of the Media file
    - `height` integer — The height of the Media file
    - `folderId` integer — The id of the Folder this Media belongs to
    - `permissionsFolderId` integer — The id of the Folder responsible for providing permissions for this Media
  - `events` Schedule[] — An array of Scheduled Events for this User
    - `eventId` integer — The ID of this Event
    - `eventTypeId` integer — The Event Type ID
    - `campaignId` integer — The CampaignID this event is for
    - `commandId` integer — The CommandId this event is for
    - `displayGroups` DisplayGroup[] — Display Groups assigned to this Scheduled Event.
      - `displayGroupId` integer — The displayGroup Id
      - `displayGroup` string — The displayGroup Name
      - `description` string — The displayGroup Description
      - `isDisplaySpecific` integer — A flag indicating whether this displayGroup is a single display displayGroup
      - `isDynamic` integer — A flag indicating whether this displayGroup is dynamic
      - `dynamicCriteria` string — Criteria for this dynamic group. A comma separated set of regular expressions to apply
      - `dynamicCriteriaLogicalOperator` string — Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND
      - `dynamicCriteriaTags` string — Criteria for this dynamic group. A comma separated set of tags to apply
      - `dynamicCriteriaExactTags` integer — Flag indicating whether to filter by exact Tag match
      - `dynamicCriteriaTagsLogicalOperator` string — Which logical operator should be used when filtering by multiple Tags? OR|AND
      - `userId` integer — The UserId who owns this display group
      - `tags` TagLink[] — Tags associated with this Display Group, array of TagLink objects
        - `tag` string — The Tag
        - `tagId` integer — The Tag ID
        - `value` string — The Tag Value
      - `bandwidthLimit` integer — The display bandwidth limit
      - `groupsWithPermissions` string — A comma separated list of groups/users with permissions to this DisplayGroup
      - `createdDt` string — The datetime this entity was created
      - `modifiedDt` string — The datetime this entity was last modified
      - `folderId` integer — The id of the Folder this Display Group belongs to
      - `permissionsFolderId` integer — The id of the Folder responsible for providing permissions for this Display Group
      - `ref1` string — Optional Reference 1
      - `ref2` string — Optional Reference 2
      - `ref3` string — Optional Reference 3
      - `ref4` string — Optional Reference 4
      - `ref5` string — Optional Reference 5
    - `scheduleReminders` ScheduleReminder[] — Schedule Reminders assigned to this Scheduled Event.
      - `scheduleReminderId` integer — Schedule Reminder ID
      - `eventId` integer — The event ID of the schedule reminder
      - `value` integer — An integer number to define minutes, hours etc.
      - `type` integer — The type of the reminder (i.e. Minute, Hour, Day, Week, Month)
      - `option` integer — The options regarding sending a reminder for an event. (i.e., Before start, After start, Before end, After end)
      - `isEmail` integer — Email flag for schedule reminder
      - `reminderDt` integer — A date that indicates the reminder date
      - `lastReminderDt` integer — Last reminder date a reminder was sent
    - `criteria` ScheduleCriteria[] — Schedule Criteria assigned to this Scheduled Event.
      - unknown
    - `userId` integer — The userId that owns this event.
    - `fromDt` integer — A Unix timestamp representing the from date of this event in CMS time.
    - `toDt` integer — A Unix timestamp representing the to date of this event in CMS time.
    - `isPriority` integer — Integer indicating the event priority.
    - `displayOrder` integer — The display order for this event.
    - `recurrenceType` 'None' | 'Minute' | 'Hour' | 'Day' | 'Week' | 'Month' | 'Year' — If this event recurs when what is the recurrence period.
    - `recurrenceDetail` integer — If this event recurs when what is the recurrence frequency.
    - `recurrenceRange` integer — A Unix timestamp indicating the end time of the recurring events.
    - `recurrenceRepeatsOn` string — Recurrence repeats on days - 0 to 7 where 0 is a monday
    - `recurrenceMonthlyRepeatsOn` integer — Recurrence monthly repeats on - 0 is day of month, 1 is weekday of week
    - `campaign` string — The Campaign/Layout Name
    - `command` string — The Command Name
    - `dayPartId` integer — The Day Part Id
    - `isAlways` integer — Is this event an always on event?
    - `isCustom` integer — Does this event have custom from/to date times?
    - `syncEvent` integer — Flag indicating whether the event should be synchronised across displays
    - `syncTimezone` integer — Flag indicating whether the event will sync to the Display timezone
    - `shareOfVoice` integer — Seconds (0-3600) of each full hour that is scheduled that this Layout should occupy
    - `maxPlaysPerHour` integer — The maximum number of plays per hour per display for this event
    - `isGeoAware` integer — Flag (0-1), whether this event is using Geo Location
    - `geoLocation` string — Geo JSON representing the area of this event
    - `actionTriggerCode` string — For Action event type, Action trigger code
    - `actionType` string — For Action event type, the type of the Action (navigate to Layout or Command)
    - `actionLayoutCode` string — For Action event type and navigate to Layout Action type, the Layout code
    - `parentCampaignId` integer — If the schedule should be considered part of a larger campaign
    - `syncGroupId` integer — For sync events, the id the the sync group
    - `dataSetId` integer — For data connector events, the dataSetId
    - `dataSetParams` integer — For data connector events, the data set parameters
    - `modifiedBy` integer — The userId of the user that last modified this Schedule
    - `createdOn` string — The Date this Schedule was created on
    - `updatedOn` string — The Date this Schedule was las updated on
    - `name` string — The name of this Scheduled Event
    - `resolutionId` integer — The resolutionId of this Fullscreen Scheduled Event
    - `layoutDuration` integer — The duration of this Fullscreen Scheduled Event
    - `backgroundColor` string — The background color of this Fullscreen Scheduled Event
  - `playlists` unknown
  - `displayGroups` DisplayGroup[] — An array of Display Groups owned by this User
    - `displayGroupId` integer — The displayGroup Id
    - `displayGroup` string — The displayGroup Name
    - `description` string — The displayGroup Description
    - `isDisplaySpecific` integer — A flag indicating whether this displayGroup is a single display displayGroup
    - `isDynamic` integer — A flag indicating whether this displayGroup is dynamic
    - `dynamicCriteria` string — Criteria for this dynamic group. A comma separated set of regular expressions to apply
    - `dynamicCriteriaLogicalOperator` string — Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND
    - `dynamicCriteriaTags` string — Criteria for this dynamic group. A comma separated set of tags to apply
    - `dynamicCriteriaExactTags` integer — Flag indicating whether to filter by exact Tag match
    - `dynamicCriteriaTagsLogicalOperator` string — Which logical operator should be used when filtering by multiple Tags? OR|AND
    - `userId` integer — The UserId who owns this display group
    - `tags` TagLink[] — Tags associated with this Display Group, array of TagLink objects
      - `tag` string — The Tag
      - `tagId` integer — The Tag ID
      - `value` string — The Tag Value
    - `bandwidthLimit` integer — The display bandwidth limit
    - `groupsWithPermissions` string — A comma separated list of groups/users with permissions to this DisplayGroup
    - `createdDt` string — The datetime this entity was created
    - `modifiedDt` string — The datetime this entity was last modified
    - `folderId` integer — The id of the Folder this Display Group belongs to
    - `permissionsFolderId` integer — The id of the Folder responsible for providing permissions for this Display Group
    - `ref1` string — Optional Reference 1
    - `ref2` string — Optional Reference 2
    - `ref3` string — Optional Reference 3
    - `ref4` string — Optional Reference 4
    - `ref5` string — Optional Reference 5
  - `dayParts` DayPart[] — An array of Dayparts owned by this User
    - `dayPartId` integer — The ID of this Daypart
    - `isAlways` integer — A readonly flag determining whether this DayPart is always
    - `isCustom` integer — A readonly flag determining whether this DayPart is custom
  - `isSystemNotification` integer — Does this User receive system notifications.
  - `isDisplayNotification` integer — Does this User receive system notifications.
  - `isDataSetNotification` integer — Does this User receive DataSet notifications.
  - `isLayoutNotification` integer — Does this User receive Layout notifications.
  - `isLibraryNotification` integer — Does this User receive Library notifications.
  - `isReportNotification` integer — Does this User receive Report notifications.
  - `isScheduleNotification` integer — Does this User receive Schedule notifications.
  - `isCustomNotification` integer — Does this User receive Custom notifications.
  - `twoFactorTypeId` integer — The two factor type id
  - `twoFactorSecret` string — Two Factor authorisation shared secret for this user
  - `twoFactorRecoveryCodes` string[] — Two Factor authorisation recovery codes

---

[API](https://skmtc.net/xibosignage/apis/xibo-api.md) · [All operations](https://skmtc.net/xibosignage/apis/xibo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xibosignage/xibo-api/revisions/fe497e811c7f/schema)
