{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":585,"path":"api-reference/rest-apis/wsd_unified-search-api.md","title":"WSD Unified Search API","bundle":null,"doc_type":null,"release":"australia","body":"\n# WSD Unified Search API\n\nThe WSD Unified Search API provides an endpoint to search across workplace users and locations.\n\nThe 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.\n\n## Requirements\n\nThe WSD Unified Search API requires:\n\n-   The calling user have the sn\\_wsd\\_core.workplace\\_user role.\n-   The Workplace Service Delivery Core \\(com.sn\\_wsd\\_core\\) plugin be active.\n-   At least one building and floor be configured in the workplace location hierarchy.\n\n**Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md)\n\n## WSD Unified Search - POST /api/sn\\_wsd\\_core/wsd\\_unified\\_search/users\\_and\\_locations\n\nSearches for users and workplace locations \\(case-insensitive\\) matching the provided search term. Returns a combined list of matching results with pagination support.\n\n### URL format\n\nVersioned URL: `/api/sn_wsd_core/{api_version}/wsd_unified_search/users_and_locations`\n\nDefault URL: `/api/sn_wsd_core/wsd_unified_search/users_and_locations`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n**Note:** All searches are case-insensitive.\n\n<table class=\"rest_api_request_body\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nsearch\\_term\n\n</td><td>\n\nSearch 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\n\nDefault value: Empty string \\(returns all results\\)\n\n</td></tr><tr><td>\n\nshow\\_location\n\n</td><td>\n\nFlag that indicates whether to include the user's current location in the result label.Possible values:\n\n-   `true`: Display the user's current location in the result label.\n-   `false`: Don't display the user's current location in the result label.\n\nData type: Boolean\n\nDefault: true\n\n</td></tr><tr><td>\n\nshow\\_loggedin\\_user\n\n</td><td>\n\nFlag 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. When a `search_term` is provided, this flag has no effect. The authenticated user is returned only if they match the search criteria.\n\nPossible values:\n\n-   `true`: Show the authenticated user as the first result.\n-   `false`: Don't show the authenticated user as the first result.\n\nData type: Boolean\n\nDefault: true\n\n</td></tr><tr><td>\n\ninclude\\_user\\_email\n\n</td><td>\n\nFlag that indicates whether to include user email addresses in result labels and allow searching by email address. Possible values:\n\n-   `true`: Include email in result labels and enable email search.\n-   `false`: Don't include email in result labels or enable email search\n\nData type: Boolean\n\nDefault: false\n\n</td></tr><tr><td>\n\nfilterConfig\n\n</td><td>\n\nTable-specific encoded queries. Keys are table names. Values are encoded query strings.**Note:** **filterConfig** filters by entity type only. It doesn't support filtering results to a specific record or location hierarchy. To narrow results by location, use **search\\_term** in combination with **options.rsvModule**.\n\nValid fields \\(table names\\):\n\n-   sys\\_user\n-   sn\\_wsd\\_core\\_workplace\\_location\n-   sn\\_wsd\\_core\\_region\n-   sn\\_wsd\\_core\\_site\n-   sn\\_wsd\\_core\\_campus\n-   sn\\_wsd\\_core\\_building\n-   sn\\_wsd\\_core\\_floor\n-   sn\\_wsd\\_core\\_area\n-   sn\\_wsd\\_core\\_space\n-   sn\\_wsd\\_core\\_room\n-   sn\\_wsd\\_core\\_neighborhood\n\nData type: Object\n\n```\n\"filterConfig\": {\n  \"<table_name>\": Boolean\n}\n```\n\nDefault: \\{\\} \\(no filter applied, searches all tables\\)\n\n</td></tr><tr><td>\n\nfilterConfig.&lt;table\\_name&gt;\n\n</td><td>\n\nFlag that indicates whether to include results from the specified table. Set to `true` to include results from that entity type.Valid values:\n\n-   `true`: Include results from that entity type.\n-   `false`: Don't include results from that entity type.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\noptions\n\n</td><td>\n\nObject containing additional configuration for search behavior. Data type: Object\n\n```\n\"options\": { \n  \"search_in_parent\": Boolean,\n  \"cache\": Boolean,\n  \"rsvModule\": {Object}\n}\n```\n\n</td></tr><tr><td>\n\noptions.search\\_in\\_parent\n\n</td><td>\n\nFlag that indicates whether to include results from parent location records when filtering by a child entity.Possible values:\n\n-   `true`: Include parent location results.\n-   `false`: Don't include parent location results.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\noptions.cache\n\n</td><td>\n\nFlag that indicates whether to use cached search results.Possible values:\n\n-   `true`: Use cached results where available.\n-   `false`: Always fetch fresh results\n\nData type: Boolean\n\n</td></tr><tr><td>\n\noptions.rsvModule\n\n</td><td>\n\nObject containing reservation module configuration for filtering results by reservable module context.Data type: Object\n\n```\n\"rsvModule\": { \n  \"value\": \"String\",\n  \"enable_restricted_neighborhood_rules\": Boolean\n}\n```\n\n</td></tr><tr><td>\n\noptions.rsvModule.value\n\n</td><td>\n\nSys\\_id of the reservable module to use for filtering available spaces. Table: Reservable Module \\[sn\\_wsd\\_rsv\\_reservable\\_module\\]\n\nData type: String\n\n</td></tr><tr><td>\n\noptions.rsvModule.enable\\_restricted\\_neighborhood\\_rules\n\n</td><td>\n\nFlag that indicates whether to apply restricted neighborhood rules when filtering results by reservation module.Possible values:\n\n-   `true`: Apply restricted neighborhood rules.\n-   `false`: Don't apply restricted neighborhood rules.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nsysparam\\_offset\n\n</td><td>\n\nPagination offset. Number of records to skip before returning results. Use with **sysparam\\_limit** for pagination. Minimum value: 0\n\nData type: Number\n\nDefault value: 0\n\n</td></tr><tr><td>\n\nsysparam\\_limit\n\n</td><td>\n\nMaximum number of records to return per request. Use with **sysparam\\_offset** for pagination.Minimum value: 1\n\nData type: Number\n\nDefault value: 10\n\n</td></tr></tbody>\n</table>### Headers\n\nThe 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/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Header|Description|\n|------|-----------|\n|Accept|Data format of the response body. Supported types: application/json, application/xml, text/xml.|\n|Content-Type|Data format of the request body: application/json.|\n|Authorization|Authentication credentials. Supports Basic authentication or session-based authentication.|\n\n|Header|Description|\n|------|-----------|\n|Content-Type|Data format of the response body: application/json.|\n\n### Status codes\n\nThe 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/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. Invalid request body format.|\n|401|Authentication failed.|\n|403|User lacks required ACL permissions.|\n|500|Internal server error. An unexpected error occurred while processing the request.|\n\n### Response body parameters \\(JSON or XML\\)\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nresult\n\n</td><td>\n\nObject containing results of the request.Data type: Object\n\n```\n\"result\": {\n  \"result\": [Array],\n  \"more\": Boolean,\n  \"isMobile\": Boolean\n}\n```\n\n</td></tr><tr><td>\n\nresult.isMobile\n\n</td><td>\n\nFlag that indicates whether the request was detected as originating from a mobile client. This value can be used to mirror the same client-type logic in your own UI, for example to replicate the `show_loggedin_user` behavior.Possible values:\n\n-   `true`: Request originated from a mobile client.\n-   `false`: Request originated from a desktop client.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.more\n\n</td><td>\n\nFlag that indicates whether additional results are available beyond the current page.Possible values:\n\n-   `true`: More results are available. Increment **sysparam\\_offset** by **sysparam\\_limit** to retrieve the next page.\n-   `false`: No more results are available.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.result\n\n</td><td>\n\nArray 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\n\n```\n\"result\": [\n  {\n    \"displayValue\": \"String\",\n    \"value\": \"String\",\n    \"table\": \"String\",\n    \"label\": \"String\",\n    \"selectedTreeBranch\": \"String\",\n    \"timezone\": {Object},\n    \"wsdSource\": \"String\",\n    \"externalId\": \"String\",\n    \"floorId\": \"String\",\n    \"isReservable\": Boolean\n  }\n]\n```\n\n</td></tr><tr><td>\n\nresult.result.displayValue\n\n</td><td>\n\nDisplay name of the result. For example, `Conference Room A - Floor 1` for a space or `Jane Doe` for a user.Data type: String\n\n</td></tr><tr><td>\n\nresult.result.externalId\n\n</td><td>\n\nIdentifier of the result record in an external source system, when applicable.Data type: String\n\n</td></tr><tr><td>\n\nresult.result.floorId\n\n</td><td>\n\nSys\\_id of the floor on which the result location resides. Present for location results only.Table: Workplace Floor \\[sn\\_wsd\\_core\\_floor\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nresult.result.isReservable\n\n</td><td>\n\nFlag that indicates whether the result location can be reserved.Possible values:\n\n-   `true`: The location is reservable.\n-   `false`: The location isn't reservable.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\nresult.result.label\n\n</td><td>\n\nSecondary 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\n\n</td></tr><tr><td>\n\nresult.result.selectedTreeBranch\n\n</td><td>\n\nSys\\_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\n\n</td></tr><tr><td>\n\nresult.result.table\n\n</td><td>\n\nTable name from which the result originates. For example, `sn_wsd_core_space` or `sys_user`.Data type: String\n\n</td></tr><tr><td>\n\nresult.result.timezone\n\n</td><td>\n\nTime zone associated with the result location. Present for location results.Data type: Object\n\n```\n\"timezone\": {\n  \"displayValue\": \"String\",\n  \"value\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nresult.result.timezone.displayValue\n\n</td><td>\n\nHuman-readable time zone name. For example, `Eastern Standard Time`.Data type: String\n\n</td></tr><tr><td>\n\nresult.result.timezone.value\n\n</td><td>\n\nIANA time zone identifier for the result location. For example, `America/New_York.`Data type: String\n\n</td></tr><tr><td>\n\nresult.result.userDetails\n\n</td><td>\n\nObject containing additional details about a user result. Present for user results only \\(User \\[sys\\_user\\] table\\).Data type: Object\n\n```\n\"userDetails\": {\n  \"userID\": \"String\",\n  \"name\": \"String\",\n  \"department\": \"String\",\n  \"avatar\": \"String\",\n  \"initials\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\nresult.result.userDetails.avatar\n\n</td><td>\n\nRelative URL path to the user's profile avatar image.Data type: String\n\n</td></tr><tr><td>\n\nresult.result.userDetails.department\n\n</td><td>\n\nName of the department the user belongs to.Data type: String\n\n</td></tr><tr><td>\n\nresult.result.userDetails.initials\n\n</td><td>\n\nInitials 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\n\n</td></tr><tr><td>\n\nresult.result.userDetails.name\n\n</td><td>\n\nFull display name of the user. For example, `Jane Doe`.Data type: String\n\n</td></tr><tr><td>\n\nresult.result.userDetails.userID\n\n</td><td>\n\nSys\\_id of the user record.Table: User \\[sys\\_user\\]\n\nData type: String.\n\n</td></tr><tr><td>\n\nresult.result.value\n\n</td><td>\n\nSys\\_id of the result record.Data type: String\n\n</td></tr><tr><td>\n\nresult.result.wsdSource\n\n</td><td>\n\nSource system identifier for the result. Used when the location originates from an external integration.Data type: String\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example searches for spaces matching \"Conference\" or \"Desk\" within a specific building, returning up to 10 results.\n\n```\ncurl \"https://<instance>.service-now.com/api/sn_wsd_core/wsd_unified_search/users_and_locations\" \\ \n--request POST \\ \n--header \"Accept: application/json\" \\ \n--header \"Content-Type: application/json\" \\ \n--user \"username:password\" \\\n--data '{\n  \"search_term\": \"Conference, Desk\",\n  \"show_location\": true,\n  \"show_loggedin_user\": true,\n  \"include_user_email\": false,\n  \"filterConfig\": {\n  \"sn_wsd_core_building\": true\n                  },\n  \"options\": {\n       \"search_in_parent\": false,\n       \"cache\": true\n              },\n       \"sysparam_offset\": 0,\n       \"sysparam_limit\": 10 \n  }\n}'\n```\n\nResponse body.\n\n```\n{\n  \"result\": {\n    \"result\": [\n      {\n        \"displayValue\": \"Conference Room A - Floor 1\",\n        \"value\": \"space_123\",\n        \"table\": \"sn_wsd_core_space\",\n        \"label\": \"Floor 1, Building A, Main Campus\",\n        \"selectedTreeBranch\": \"building_456\",\n        \"timezone\": {\n          \"value\": \"America/New_York\",\n          \"displayValue\": \"Eastern Standard Time\"\n        },\n        \"wsdSource\": \"\",\n        \"externalId\": \"\",\n        \"floorId\": \"floor_789\",\n        \"isReservable\": true\n      },\n      {\n        \"displayValue\": \"Jane Doe\",\n        \"value\": \"user_789\",\n        \"table\": \"sys_user\",\n        \"label\": \"Senior Engineer, Engineering\",\n        \"selectedTreeBranch\": \"building_456\",\n        \"userDetails\": {\n          \"userID\": \"user_789\",\n          \"name\": \"Jane Doe\",\n          \"department\": \"Engineering\",\n          \"avatar\": \"/avatar/user_789\",\n          \"initials\": \"JD\"\n        }\n      }\n    ],\n    \"more\": true,\n    \"isMobile\": false\n  }\n}\n```\n\n### cURL request\n\nThe following are examples of different search criteria.\n\nSearch all locations and users:\n\n```\n{ \n  \"search_term\": \"engineering\", \n  \"filterConfig\": {}, \n  \"sysparm_offset\": 0, \n  \"sysparm_limit\": 20\n}\n```\n\nSearch only reservable spaces:\n\n```\n{\n  \"search_term\": \"workspace\",\n  \"filterConfig\": {\n    \"sn_wsd_core_workplace_location\": \"is_reservable=true^sys_class_name=sn_wsd_core_space\"\n  },\n  \"sysparm_offset\": 0,\n  \"sysparm_limit\": 10\n}\n```\n\nSearch only active users in IT department:\n\n```\n{\n  \"search_term\": \"smith\",\n  \"include_user_email\": true,\n  \"filterConfig\": {\n    \"sys_user\": \"department.name=IT Department\"\n  },\n  \"sysparm_offset\": 0,\n  \"sysparm_limit\": 10\n}\n```\n\nSearch neighborhoods with restricted access validation:\n\n```\n{\n  \"search_term\": \"team\",\n  \"filterConfig\": {\n    \"sn_wsd_core_neighborhood\": \"\"\n  },\n  \"options\": {\n    \"sn_wsd_core_neighborhood\": {\n      \"validateAccess\": true\n    },\n    \"rsvModule\": {\n      \"value\": \"module_sys_id_here\"\n    }\n  },\n  \"sysparm_offset\": 0,\n  \"sysparm_limit\": 10\n}\n```\n\n## WSD Unified Search - GET /api/sn\\_wsd\\_core/wsd\\_unified\\_search/current\\_location\n\nRetrieve the current location of a specific user based on their active reservations, workplace profile, or neighborhood assignment. Returns the most relevant public location first, falling back to private locations if no public location is found.\n\n### URL format\n\nVersioned URL: `/api/sn_wsd_core/{api_version}/wsd_unified_search/current_location`\n\nDefault URL: `/api/sn_wsd_core/wsd_unified_search/current_location`\n\n### Supported request parameters\n\n<table class=\"rest_api_path_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\napi\\_version\n\n</td><td id=\"version-entry-RESTAPI\">\n\nOptional. 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\n\n</td></tr></tbody>\n</table><table class=\"rest_api_query_parameters\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nuserSysId\n\n</td><td>\n\nRequired. Sys\\_id of the user whose current location to retrieve.Table: User \\[sys\\_user\\]\n\nData type: String\n\n</td></tr><tr><td>\n\nuseNeighborhoods\n\n</td><td>\n\nFlag that indicates whether to include a neighborhood-based location from the user's workplace profile record when no reservation or direct profile location is found.Table: Workplace Profile \\[sn\\_wsd\\_core\\_workplace\\_profile\\]\n\nValid values:\n\n-   `true`: Include neighborhood-based location as a fallback.\n-   `false`: Don't include neighborhood-based location.\n\nData type: Boolean\n\nDefault: false\n\n</td></tr></tbody>\n</table>|Name|Description|\n|----|-----------|\n|None| |\n\n### Headers\n\nThe 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/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n<table class=\"rest_api_request_headers\"><thead><tr><th>\n\nHeader\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAccept\n\n</td><td id=\"accept-entry-RESTAPI\">\n\nData format of the response body. Supported types: **application/json** or **application/xml**. Default: **application/json**\n\n</td></tr><tr><td>\n\nAuthorization\n\n</td><td>\n\nAuthentication credentials. Supports Basic authentication or session-based authentication.\n\n</td></tr></tbody>\n</table>|Header|Description|\n|------|-----------|\n|Content-Type|Data format of the response body: application/json.|\n\n### Status codes\n\nThe 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/australia/markdown/australia/api-reference/rest-api-explorer/c_RESTAPI.md).\n\n|Status code|Description|\n|-----------|-----------|\n|200|Successful. The request was successfully processed.|\n|400|Bad Request. The userSysId parameter is missing or invalid.|\n|500|Internal server error. An unexpected error occurred while processing the request.|\n\n### Response body parameters \\(JSON or XML\\)\n\nReturns a single location object when a current location is found, or an empty object \\{\\} when no location is found.\n\n<table><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nisPrivate\n\n</td><td>\n\nFlag that indicates whether the returned location is private. A location is considered private when it's marked as private in the workplace profile or when it's associated with a reservation that has a private or sensitive status.Valid values:\n\n-   `true`: Location is private or the reservation has private/sensitive status.\n-   `false`: Location is public.\n\nData type: Boolean\n\n</td></tr><tr><td>\n\ndisplayValue\n\n</td><td>\n\nDisplay name of the result location. For example, `Building A - Floor 2 - Workspace 201`.Data type: String\n\n</td></tr><tr><td>\n\nvalue\n\n</td><td>\n\nSys\\_id of the result location record.Data type: String.\n\n</td></tr><tr><td>\n\ntable\n\n</td><td>\n\nName of the ServiceNow table from which the location originates For example, `sn_wsd_core_space`.Data type: String\n\n</td></tr><tr><td>\n\nlabel\n\n</td><td>\n\nSecondary display string providing location hierarchy context. For example, `Floor 2, Building A`.Data type: String\n\n</td></tr><tr><td>\n\nselectedTreeBranch\n\n</td><td>\n\nSys\\_id of the parent location record in the workplace hierarchy. Used to pre-select the location tree in the UI.Data type: String\n\n</td></tr><tr><td>\n\ntimezone\n\n</td><td>\n\nTime zone associated with the result location.Data type: Object\n\n```\n\"timezone\": {\n  \"value\": \"String\",\n  \"displayValue\": \"String\"\n}\n```\n\n</td></tr><tr><td>\n\ntimezone.value\n\n</td><td>\n\nIANA time zone identifier for the result location. For example, `America/New_York`.Data type: String\n\n</td></tr><tr><td>\n\ntimezone.displayValue\n\n</td><td>\n\nHuman-readable timezone name. For example, `Eastern Standard Time`.Data type: String\n\n</td></tr><tr><td>\n\nwsdSource\n\n</td><td>\n\nSource system identifier for the location. Used when the location originates from an external integration.Data type: String\n\n</td></tr><tr><td>\n\nexternalId\n\n</td><td>\n\nIdentifier of the location record in an external source system, when applicable.Data type: String\n\n</td></tr><tr><td>\n\nfloorId\n\n</td><td>\n\nSys\\_id of the floor on which the location resides. Table: Workplace Floor \\[sn\\_wsd\\_core\\_floor\\] table\n\nData type: String\n\n</td></tr><tr><td>\n\nisReservable\n\n</td><td>\n\nFlag that indicates whether the location can be reserved.Possible values:\n\n-   `true`: The location is reservable.\n-   `false`: The location isn't reservable.\n\nData type: Boolean\n\n</td></tr></tbody>\n</table>### cURL request\n\nThe following example retrieves the current location of a specific user, including neighborhood-based location as a fallback.\n\n```\ncurl \"https://<instance>.service-now.com/api/sn_wsd_core/wsd_unified_search/current_location\n  ?userSysId=abc123def456&useNeighborhoods=true\" \\\n  --request GET \\\n  --header \"Accept: application/json\" \\\n  --user \"username:password\"\n```\n\nReponse body when location is found.\n\n```\n{\n  \"result\": {\n    \"displayValue\": \"Building A - Floor 2 - Workspace 201\",\n    \"value\": \"abc123def456\",\n    \"table\": \"sn_wsd_core_space\",\n    \"label\": \"Floor 2, Building A\",\n    \"selectedTreeBranch\": \"building789xyz\",\n    \"timezone\": {\n      \"value\": \"America/New_York\",\n      \"displayValue\": \"Eastern Standard Time\"\n    },\n    \"wsdSource\": \"manual\",\n    \"externalId\": \"EXT-WS-201\",\n    \"floorId\": \"floor123\",\n    \"isReservable\": true,\n    \"isPrivate\": false\n  }\n}\n```\n\nResponse body when location isn't found \\(empty object \\{\\}\\).\n\n```\n{\n  \"result\": {}\n}\n```\n\n"}}