--- title: WSD Unified Search API description: The WSD Unified Search API provides an endpoint to search across workplace users and locations.Searches for users and workplace locations matching the provided search term. Returns a combined list of matching results with pagination support. locale: en-US canonical_url: https://www.servicenow.com/docs/r/api-reference/rest-apis/wsd\_unified-search-api.html release: brazil product: REST APIs classification: rest-apis topic_type: concept last_updated: "2026-09-10" reading_time_minutes: 7 keywords: [Workplace Service Delivery Core, WSD] breadcrumb: [REST API reference, API reference, API implementation and reference] --- # WSD Unified Search API The WSD Unified Search API provides an endpoint to search across workplace users and locations. The WSD Unified Search API runs in the sn\_wsd\_core namespace and powers the search/type ahead experience in the Workplace Service Delivery \(WSD\) portal, returning matching users, spaces, floors, buildings, campuses, and neighborhoods in a single response. ## Requirements The WSD Unified Search API requires: - The calling user have the sn\_wsd\_core.workplace\_user role. - The Workplace Service Delivery Core \(com.sn\_wsd\_core\) plugin be active. - At least one building and floor be configured in the workplace location hierarchy. **Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/api-reference/rest-apis/api-rest.md) ## WSD Unified Search - POST /api/sn\_wsd\_core/wsd\_unified\_search/users\_and\_locations Searches for users and workplace locations matching the provided search term. Returns a combined list of matching results with pagination support. ### URL format Versioned URL: `/api/sn_wsd_core/{api_version}/wsd_unified_search/users_and_locations` Default URL: `/api/sn_wsd_core/wsd_unified_search/users_and_locations` ### Supported request parameters
| Name | Description |
|---|---|
| api\_version | Optional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String |
| Name | Description |
|---|---|
| search\_term | Search query used to find matching users and workplace locations. Accepts a comma-separated list of values to search for multiple terms simultaneously. For example, `"Conference, Desk"` returns results matching either term. Empty segments are ignored.Data type: String Default value: Empty string \(returns all results\) |
| show\_location | Flag that indicates whether to include the user's current location in the result label.Possible values: - `true`: Display the user's current location in the result label. - `false`: Don't display the user's current location in the result label. Data type: Boolean Default: true |
| show\_loggedin\_user | Flag that indicates whether to display the authenticated user as the first result when no search term is provided. Only applies to desktop clients at offset 0. Possible values: - `true`: Show the authenticated user as the first result. - `false`: Don't show the authenticated user as the first result. Data type: Boolean Default: true |
| include\_user\_email | Flag that indicates whether to include user email addresses in result labels and allow searching by email address. Possible values: - `true`: Include email in result labels and enable email search. - `false`: Don't include email in result labels or enable email search Data type: Boolean Default: false |
| filterConfig |
Object containing one or more table names as keys to restrict results to specific entity types. When empty, both users and locations are returned.Valid fields \(table names\):
- sys\_user
- sn\_wsd\_core\_workplace\_location
- sn\_wsd\_core\_region
- sn\_wsd\_core\_site
- sn\_wsd\_core\_campus
- sn\_wsd\_core\_building
- sn\_wsd\_core\_floor
- sn\_wsd\_core\_area
- sn\_wsd\_core\_space
- sn\_wsd\_core\_room
- sn\_wsd\_core\_neighborhood
Data type: Object
```
"filterConfig": {
" |
| filterConfig.<table\_name> | Flag that indicates whether to include results from the specified table. Set to true to include results from that entity type.Valid values: - `true`: Include results from that entity type. - `false`: Don't include results from that entity type. Data type: Boolean |
| options | Object containing additional configuration for search behavior. Data type: Object ``` "options": { "search_in_parent": Boolean, "cache": Boolean, "rsvModule": {Object} } ``` |
| options.search\_in\_parent | Flag that indicates whether to include results from parent location records when filtering by a child entity.Possible values: - `true`: Include parent location results. - `false`: Don't include parent location results. Data type: Boolean |
| options.cache | Flag that indicates whether to use cached search results.Possible values: - `true`: Use cached results where available. - `false`: Always fetch fresh results Data type: Boolean |
| options.rsvModule | Object containing reservation module configuration for filtering results by reservable module context.Data type: Object ``` "rsvModule": { "value": "String" } ``` |
| options.rsvModule.value | Sys\_id of the reservable module to use for filtering available spaces. Table: Reservable Module \[sn\_wsd\_rsv\_reservable\_module\] Data type: String |
| options.rsvModule.enable\_restricted\_neighborhood\_rules | Flag that indicates whether to apply restricted neighborhood rules when filtering results by reservation module.Possible values: - `true`: Apply restricted neighborhood rules. - `false`: Don't apply restricted neighborhood rules. Data type: Boolean |
| sysparam\_offset | Pagination offset. Number of records to skip before returning results. Use with **sysparam\_limit** for pagination. Minimum value: 0 Data type: Number Default value: 0 |
| sysparam\_limit | Maximum number of records to return per request. Use with **sysparam\_offset** for pagination.Minimum value: 1 Data type: Number Default value: 10 |
| Name | Description |
|---|---|
| result | Object containing results of the request.Data type: Object ``` "result": { "result": [Array], "more": Boolean, "isMobile": Boolean } ``` |
| result.isMobile | Flag that indicates whether the request was detected as originating from a mobile client.Possible values: - `true`: Request originated from a mobile client. - `false`: Request originated from a desktop client. Data type: Boolean |
| result.more | Flag that indicates whether additional results are available beyond the current page.Possible values: - `true`: More results are available. Increment **sysparam\_offset** by **sysparam\_limit** to retrieve the next page. - `false`: No more results are available. Data type: Boolean |
| result.result | Array of matching user and location objects. Each object contains common fields shared across all result types, as well as type-specific fields that are only present for user results.Data type: Array of Objects ``` "result": [ { "displayValue": "String", "value": "String", "table": "String", "label": "String", "selectedTreeBranch": "String", "timezone": {Object}, "wsdSource": "String", "externalId": "String", "floorId": "String", "isReservable": Boolean } ] ``` |
| result.result.displayValue | Display name of the result. For example, `Conference Room A - Floor 1` for a space or `Jane Doe` for a user.Data type: String |
| result.result.externalId | Identifier of the result record in an external source system, when applicable.Data type: String |
| result.result.floorId | Sys\_id of the floor on which the result location resides. Present for location results only.Table: Workplace Floor \[sn\_wsd\_core\_floor\] Data type: String |
| result.result.isReservable | Flag that indicates whether the result location can be reserved.Possible values: - `true`: The location is reservable. - `false`: The location isn't reservable. Data type: Boolean |
| result.result.label | Secondary display string providing additional context for the result. For example, the location hierarchy for a space, or the department and title for a user.Data type: String |
| result.result.selectedTreeBranch | Sys\_id of the parent location record in the workplace hierarchy associated with this result. Used to pre-select the location tree in the UI.Data type: String |
| result.result.table | Table name from which the result originates. For example, `sn_wsd_core_space` or `sys_user`.Data type: String |
| result.result.timezone | Time zone associated with the result location. Present for location results.Data type: Object ``` "timezone": { "displayValue": "String", "value": "String" } ``` |
| result.result.timezone.displayValue | Human-readable time zone name. For example, `Eastern Standard Time`.Data type: String |
| result.result.timezone.value | IANA time zone identifier for the result location. For example, `America/New_York.`Data type: String |
| result.result.userDetails | Object containing additional details about a user result. Present for user results only \(User \[sys\_user\] table\).Data type: Object ``` "userDetails": { "userID": "String", "name": "String", "department": "String", "avatar": "String", "initials": "String" } ``` |
| result.result.userDetails.avatar | Relative URL path to the user's profile avatar image.Data type: String |
| result.result.userDetails.department | Name of the department the user belongs to.Data type: String |
| result.result.userDetails.initials | Initials derived from the user's display name, used as a fallback when no avatar is available. For example, `JD` for Jane Doe.Data type: String |
| result.result.userDetails.name | Full display name of the user. For example, `Jane Doe`.Data type: String |
| result.result.userDetails.userID | Sys\_id of the user record.Table: User \[sys\_user\] Data type: String. |
| result.result.value | Sys\_id of the result record.Data type: String |
| result.result.wsdSource | Source system identifier for the result. Used when the location originates from an external integration.Data type: String |