--- 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| |----|-----------| |None| |
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": { "": Boolean } ``` Default: \{\} \(no filter applied\)
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
### Headers The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see [Supported REST API headers](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/api-reference/rest-api-explorer/c_RESTAPI.md). |Header|Description| |------|-----------| |Accept|Data format of the response body. Supported types: application/json, application/xml, text/xml.| |Content-Type|Data format of the request body: application/json.| |Authorization|Authentication credentials. Supports Basic authentication or session-based authentication.| |Header|Description| |------|-----------| |Content-Type|Data format of the response body: application/json.| ### Status codes The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see [REST API HTTP response codes](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/api-reference/rest-api-explorer/c_RESTAPI.md). |Status code|Description| |-----------|-----------| |200|Successful. The request was successfully processed.| |400|Bad Request. Invalid request body format.| |500|Internal server error. An unexpected error occurred while processing the request.| ### Response body parameters \(JSON or XML\)
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
### cURL request The following example searches for spaces matching "Conference" or "Desk" within a specific building, returning up to 10 results. ``` curl "https://.service-now.com/api/sn_wsd_core/wsd_unified_search/users_and_locations" \ --request POST \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --user "username:password" \ --data '{ "search_term": "Conference, Desk", "show_location": true, "show_loggedin_user": true, "include_user_email": false, "filterConfig": {}, "options": { "search_in_parent": false, "cache": true }, "sysparam_offset": 0, "sysparam_limit": 10 } }' ``` Response body. ``` { "result": { "result": [ { "displayValue": "Conference Room A - Floor 1", "value": "space_123", "table": "sn_wsd_core_space", "label": "Floor 1, Building A, Main Campus", "selectedTreeBranch": "building_456", "timezone": { "value": "America/New_York", "displayValue": "Eastern Standard Time" }, "wsdSource": "", "externalId": "", "floorId": "floor_789", "isReservable": true }, { "displayValue": "Jane Doe", "value": "user_789", "table": "sys_user", "label": "Senior Engineer, Engineering", "selectedTreeBranch": "building_456", "userDetails": { "userID": "user_789", "name": "Jane Doe", "department": "Engineering", "avatar": "/avatar/user_789", "initials": "JD" } } ], "more": true, "isMobile": false } } ```