---
sourceDocument: Australia API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/api-reference

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# WSD User API

# WSD User API {#ariaid-title1}

Release version: Australia  
Updated April 28, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 9 minutes to read  
The WSD User API is a Scripted REST API which returns the authenticated user's workplace context, including their assigned workspace location, in-office presence schedule, collaborators, and past and future
reservations.
This WSD User is featured with the Workplace Service Delivery (WSD) Reservation product and provides a single-call entry point for initializing the reservation booking experience with all relevant user data. This API sits within the Workplace Service Delivery Reservation (com.sn_wsd_rsv) plugin and serves as the entry point for surfacing a user's complete workplace identity and history.

An authenticated user is someone who is logged in or whose credentials are included in the API request.  
Common use cases:

* Reservation portal initialization: Load a user's home location, schedule, and booking history in a single call when opening a workplace app or portal.
* Custom mobile or web apps: Fetch all the user context without stitching together multiple table API calls,for example when building front-end reservation experiences.
* In-office presence tracking: Identify which employees are scheduled to be in-office on a given day.
{#wsd_user-api__ul_d4s_ns5_bjc}

## Requirements {#wsd_user-api__section_mbl_vw4_bjc}

The WSD User API requires:

* At least one user record must exist with the sn_wsd_core.workplace_user role.
* The Workplace Service Delivery Concierge (com.sn_wsd_concierge), Workplace Service Delivery Core (com.sn_wsd_core), and Workplace Service Delivery Reservation (com.sn_wsd_rsv) plugins to be active.
{#wsd_user-api__ul_okx_zw4_bjc}

## Related APIs {#wsd_user-api__section_kbb_kt5_bjc}

The WSD User API belongs to a family of APIs all under the `sn_wsd_rsv` namespace that together support the full reservation lifecycle:

* WSD Search API: Find available reservable spaces based on location, time, and capacity criteria.
* WSD Reservation API: Create reservations and manage check-in/check-out.
* WSD Reservable Module API: Retrieve the booking rule configurations that govern what users can reserve and how.
{#wsd_user-api__ul_exw_3t5_bjc}

## WSD User - GET /api/sn_wsd_rsv/v1/user/context {#ariaid-title2}

Retrieves the authenticated user's workplace context, including their assigned workplace location, presence schedule, collaborators, and past and future reservations.
Use this endpoint to initialize a reservation experience by loading all relevant user context in a single call. Collaborator data is optionally included when the com.sn_wsd_concierge plugin is active.

### URL format

Versioned URL: /api/sn_wsd_rsv/{api_version}/user/context

Default URL: /api/sn_wsd_rsv/user/context

### Supported request parameters

{#wsd_user-GET-context__entry__2}{#wsd_user-GET-context__version-not_optional-RESTAPI}

| Name | Description |
|-|-|
| api_version | Optional. Version of the endpoint to access. For example, <kbd class="ph userinput">v1</kbd> or <kbd class="ph userinput">v2</kbd>. Only specify this value to use an endpoint version other than the latest. Data type: String |
[Table 1. Path parameters]

{#wsd_user-GET-context__entry__6}

| Name | Description |
|-|-|
| include | Value to include related data in the response. Uses strict equality matching (not comma-separated parsing). Note: include is only effective when the Workplace Service Delivery Concierge (com.sn_wsd_concierge) plugin is active. If the plugin is inactive, the parameter is ignored and `collaborators` is omitted from the response. Only valid value: <kbd class="ph userinput">collaborators</kbd> Data type: String Default: Excludes collaborators from the response. |
| past_reservations_months | Number of months of past reservations to return. Data type: Number Minimum value: `0`- A value of 0 returns an empty array for that direction. Maximum value: `12` Default value: `3` |
| future_reservations_months | Number of months of future reservations to return. Data type: Number Minimum value: `0` Maximum value: `12` Default value: `3` |
[Table 2. Query parameters]

{#wsd_user-GET-context__entry__14}

| Name | Description |
|-|-|
| None |   |
[Table 3. Request body parameters (XML or JSON)]

### 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://servicenow-prod.fluidtopics.net/qh7RcF0RI6a~i9u3octdlg "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#wsd_user-GET-context__entry__18}

| Header | Description |
|-|-|
| Accept | Data format of the response body. Supported types: application/json, application/xml, text/xml. |
| Authorization | Authentication credentials. Supports Basic authentication or session-based authentication. |
[Table 4. Request headers]

{#wsd_user-GET-context__entry__24}

| Header | Description |
|-|-|
| Content-Type | Data format of the response body: application/json. |
[Table 5. Response headers]

### 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://servicenow-prod.fluidtopics.net/qh7RcF0RI6a~i9u3octdlg "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.").
{#wsd_user-GET-context__entry__28}{#wsd_user-GET-context__entry-200-status-code}{#wsd_user-GET-context__entry-500-status-code}

| Status code | Description |
|-|-|
| 200 | Successful. The request was successfully processed. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
[Table 6. Status codes]

### Response body parameters (JSON or XML)

{#wsd_user-GET-context__entry__34}

| Name | Description |
|-|-|
| result | Object containing results of the request. Data type: Object "result": { "collaborators": [Array], "reservations": {Object}, "schedule": {Object}, "workplace_location": {Object} } |
| collaborators | List of the user's collaborators with their presence data. Data type: Array of Objects "collaborators": [ { "exceptions": "Array", "name": "String", "routine": "Object", "sys_id": "String", } ] |
| collaborators.exceptions | List of dates on which the collaborator's in-office schedule deviates from their routine. Data type: Array of Objects "exceptions": [ { "date": "String", "in_office": Boolean, "location": "String", "origin": "String", "sys_id": "String" } ] |
| collaborators.exceptions.sys_id | Sys_id of the exception record. Table: Employee presence exceptions (sn_wsd_concierge_employee_presence_exception) Data type: String |
| collaborators.exceptions.date | Date this exception applies to. This is the date the user's routine is being overridden. Format: yyyy-MM-dd Data type: String |
| collaborators.exceptions.in_office | Flag that indicates whether the user will be in the office on this date. This overrides whatever the weekly routine specifies for that day of the week. Valid values: * `true`: User will be in the office. * `false`: User won't be in the office {#wsd_user-GET-context__ul_ttw_2zp_bjc} Data type: Boolean |
| collaborators.exceptions.origin | Source that created the exception. Valid values: * `user`: Created manually by the employee. * `system`: Created automatically by the platform. * `manual`: Created by an admin or on behalf of the user. {#wsd_user-GET-context__ul_mzn_kzp_bjc} Data type: String |
| collaborators.exceptions.location | Name or identifier of the office location the user will be at on this date. Only relevant when `in_office` is `true`. May be an empty string when the user is remote. Data type: String |
| collaborators.name | Display name of the collaborator. For example, <kbd class="ph userinput">Jane Smith</kbd>. Data type: String |
| collaborators.routine | The collaborator's recurring weekly in-office schedule. Follows the same day-of-week Boolean structure as schedule.routine. A value of `true` indicates in-office attendance, and `false` indicates no attendance. Data type: Object "routine": { "monday": Boolean, "tuesday": Boolean, "wednesday": Boolean, "thursday": Boolean, "friday": Boolean, "saturday": Boolean, "sunday": Boolean } |
| collaborators.sys_id | Sys_id of the collaborator's user record. Table: User \[sys_user\] Data type: String |
| reservations | Object containing the user's past and future reservations. Private and location-less reservations are excluded. Maximum 100 reservations per direction. Filtered by states: confirmed, completed. Data type: Object "reservations": { "past": [Array], "future": [Array] } |
| reservations.future | List of the user's future reservations within the requested month range. Ordered by start datetime, soonest first. Data type: Array of Object "future": [ { "sys_id": "String", "number": "String", "start": "String", "end": "String", "state": "String", "subject": "String, "location": {Object}, "building": {Object} } ] |
| reservations.future.building | Building in which the reserved location resides. Data type: Object "building": { "name": "String", "sys_id": "String" } |
| reservations.future.building.name | Display name of the building. For example, <kbd class="ph userinput">HQ Building A</kbd>. Data type: String |
| reservations.future.building.sys_id | Sys_id of the building record. Table: Workplace Building \[sn_wsd_core_building\] Data type: String |
| reservations.future.end | End date time of the reservation in UTC. Format: yyyy-MM-dd HH:mm:ss Data type: String |
| reservations.future.location | The reserved space. Data type: Object "location": { "sys_id": "String", "name": "String" } |
| reservations.future.location.name | Display name of the reserved location. For example, <kbd class="ph userinput">Desk 42</kbd>. Data type: String |
| reservations.future.location.sys_id | Sys_id of the reserved location. Table: Workplace Location \[sn_wsd_core_workplace_location\] Data type: String |
| reservations.future.number | Human-readable reservation number. For example, <kbd class="ph userinput">RSV0001234</kbd>. Data type: String |
| reservations.future.start | Start date time of the reservation in UTC. Format: yyyy-MM-dd HH:mm:ss Data type: String |
| reservations.future.state | Current state of the reservation. Valid values: * `confirmed` * `completed` {#wsd_user-GET-context__ul_hlk_wbv_bjc} Data type: String |
| reservations.future.subject | Subject or title of the reservation. For example, <kbd class="ph userinput">Team standup desk</kbd>. Data type: String |
| reservations.future.sys_id | Sys_id of the reservation record. Table: Workplace Reservation \[sn_wsd_rsv_reservation\] Data type: String |
| reservations.past | List of the user's past reservations within the requested month range. Ordered by start date/time, most recent first. Data type: Array of Objects "past": [ { "sys_id": "String", "number": "String", "start": "String", "end": "String", "state": "String", "subject": "String, "location": {Object}, "building": {Object} } ] |
| reservations.past.building.name | Display name of the building. For example, <kbd class="ph userinput">HQ Building A</kbd>. Data type: String |
| reservations.past.building.sys_id | Sys_id of the building record. Table: Workplace Building \[sn_wsd_core_building\] Data type: String |
| reservations.past.end | End date time of the reservation in UTC. Format: yyyy-MM-dd HH:mm:ss Data type: String |
| reservations.past.location | The reserved space. Data type: Object "location": { "sys_id": "String", "name": "String" } |
| reservations.past.location.name | Display name of the reserved location. For example, <kbd class="ph userinput">Desk 42</kbd>. Data type: String |
| reservations.past.location.sys_id | Sys_id of the reserved location. Table: Workplace Location \[sn_wsd_core_workplace_location\] Data type: String |
| reservations.past.number | Human-readable reservation number. For example, <kbd class="ph userinput">RSV0001234</kbd>. Data type: String |
| reservations.past.start | Start date time of the reservation in UTC. Format: yyyy-MM-dd HH:mm:ss Data type: String |
| reservations.past.state | Current state of the reservation. Valid values: * `confirmed` * `completed` Data type: String |
| reservations.past.subject | Subject or title of the reservation. For example, <kbd class="ph userinput">Team standup desk</kbd>. Data type: String |
| reservations.past.sys_id | Sys_id of the reservation record. Table: Workplace Reservation \[sn_wsd_rsv_reservation\] Data type: String |
| schedule | User's in-office presence schedule, including their recurring weekly routine and any exceptions. Note: When the com.sn_wsd_concierge plugin is inactive, routine is null and exceptions is an empty array. Data type: Object "schedule": { "exceptions": [Array], "routine": {Object} } |
| schedule.exceptions | List of dates on which the user's in-office schedule deviates from their routine. Data type: Array of Objects "exceptions": [ { "sys_id": "sys_id", "date": "String", "in_office": Boolean, "origin": "String", "location": "String" } ] |
| schedule.exceptions.date | Date this exception applies to, in yyyy-MM-dd format. This is the date the user's routine is being overridden. Data type: String |
| schedule.exceptions.in_office | Flag that indicates whether the user will be in the office on this date. This overrides whatever the schedule specifies for that day of the week. Valid values: * `true`: User will be in the office. * `false`: User won't be in the office Data type: Boolean |
| schedule.exceptions.location | The name or identifier of the office location the user will be at on this date. Only relevant when `in_office` is `true`. May be an empty string when the user is remote. Data type: String |
| schedule.exceptions.origin | Source that created the exception. Valid values: * `user`: Created manually by the employee. * `system`: Created automatically by the platform. * `manual`: Created by an admin or on behalf of the user. Data type: String |
| schedule.exceptions.sys_id | Sys_id of the exception record. Table: Employee presence exceptions (sn_wsd_concierge_employee_presence_exception) Data type: String |
| schedule.routine | User's recurring weekly in-office schedule. Each field is a Boolean which represents a day of the week and indicates whether the user is scheduled to be in-office on that day. A value of `true` indicates in-office attendance, and `false` indicates no attendance. Data type: Object "routine": { "monday": Boolean, "tuesday": Boolean, "wednesday": Boolean, "thursday": Boolean, "friday": Boolean, "saturday": Boolean, "sunday": Boolean } |
| workplace_location | The user's assigned workplace location, including floor, building, and campus details. Data type: Object "workplace_location": { "building": {Object}, "campus": {Object}, "floor": {Object}, "name": "String", "sys_id": "String" } |
| workplace_location.building | Building in which the workplace location resides. Data type: Object "building": { "name": "String", "sys_id": "String" } |
| workplace_location.building.name | Display name of the building. For example, <kbd class="ph userinput">HQ Building A</kbd>. Data type: String |
| workplace_location.building.sys_id | Sys_id of the building record. Table: Workplace Building \[sn_wsd_core_building\] Data type: String |
| workplace_location.campus | Campus on which the building resides. Data type: Object "campus": { "name": "String", "sys_id": "String" } |
| workplace_location.campus.name | Display name of the campus. For example, <kbd class="ph userinput">Main Campus</kbd>. Data type: String |
| workplace_location.campus.sys_id | Sys_id of the campus record. Table: Workplace Campus \[sn_wsd_core_campus\] Data type: String |
| workplace_location.floor | Floor on which the workplace location resides. Data type: Object "floor": { "name": "String", "sys_id": "String" } |
| workplace_location.floor.name | Display name of the floor. For example, <kbd class="ph userinput">Floor 3</kbd>. Data type: String |
| workplace_location.floor.sys_id | Sys_id of the floor record. Table: Workplace Floor \[sn_wsd_core_floor\] Data type: String |
| workplace_location.name | Display name of the user's assigned workplace location. For example, <kbd class="ph userinput">Desk 42 - Floor 3</kbd>. Data type: String |
| workplace_location.sys_id | Sys_id of the user's assigned workplace location. Table: Workplace Location \[sn_wsd_core_workplace_location\] Data type: String |
[ ]

### cURL request

The following example retrieves the authenticated user's full workplace context, including collaborators, 1 month of past reservations, and 6 months of future reservations.

This example uses Basic authentication. If your instance uses SSO, use a bearer token or session cookie instead. See the 'Headers' table for details.

    curl "https://<instance>.service-now.com/api/sn_wsd_rsv/v1/user/context?include=collaborators&past_reservations_months=1&future_reservations_months=6" \
      --request GET \
      --header "Accept: application/json" \
      --user "username:password"

Response body.

    {
      "result": {
        "workplace_location": {
          "sys_id": "a1b2c3d4e5f6g7h8",
          "name": "Desk 42 - Floor 3",
          "floor": { "sys_id": "f1a2b3c4", "name": "Floor 3" },
          "building": { "sys_id": "b1c2d3e4", "name": "HQ Building A" },
          "campus": { "sys_id": "c1d2e3f4", "name": "Main Campus" }
        },
        "schedule": {
          "routine": {
            "monday": true, "tuesday": true, "wednesday": false,
            "thursday": true, "friday": false, "saturday": false, "sunday": false
          },
          "exceptions": []
        },
        "collaborators": [
          {
            "sys_id": "d4e5f6g7",
            "name": "Jane Smith",
            "routine": { "monday": true, "tuesday": false, "wednesday": true,
                         "thursday": true, "friday": false, "saturday": false, "sunday": false },
            "exceptions": []
          }
        ],
        "reservations": {
          "past": [
            {
              "sys_id": "r1e2s3v4",
              "number": "RSV0001234",
              "start": "2026-04-01 09:00:00",
              "end": "2026-04-01 17:00:00",
              "state": "completed",
              "subject": "Team standup desk",
              "location": { "sys_id": "l1o2c3", "name": "Desk 42" },
              "building": { "sys_id": "b1c2d3e4", "name": "HQ Building A" }
            }
          ],
          "future": []
        }
      }
    }


