> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search FloorPlanDesks

> Search and list FloorPlanDesk records with filtering, sorting, and pagination.

A **FloorPlanDesk** (referred to as a *floor plan unit* in the UI) represents a specific area or room placed on a floor plan. Each unit typically maps to a bookable resource or a space assigned to a customer through a contract.

There are five unit types controlled by `ItemType`:

| ItemType      | Typical use                                                   |
| ------------- | ------------------------------------------------------------- |
| Office        | Private office assigned to a customer via a contract          |
| DedicatedDesk | Desk permanently assigned to a customer via a contract        |
| HotDesk       | Shared desk bookable via a resource or assigned to a contract |
| Room          | Meeting room or bookable space linked to a resource           |
| Other         | Any area that does not match the types above                  |

Link a unit to a `Resource` via `ResourceId` to let customers book it through the floor plan view on the Members Portal. Assign it to one or more contracts via `CoworkerContractIds` to track occupancy.

Units can be monitored by an IoT sensor (`SensorId`). The last sensor reading is exposed via `SensorLastValue` and `IsSensorOccupied`.

Position and size on the canvas are maintained by the floor plan editor. `AvailableFromTime` / `AvailableToTime` allow time-bounded availability windows.

## Authentication

<Note>
  This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
  The authenticated user must be a full unrestricted administrator or have the **`FloorPlanDesk-List`** role.
</Note>

## Enums

<Accordion title="eFloorPlanItemType — ItemType values">
  | Value | Name          |
  | ----- | ------------- |
  | 1     | Office        |
  | 2     | DedicatedDesk |
  | 3     | HotDesk       |
  | 4     | Other         |
  | 5     | Room          |
</Accordion>

<Accordion title="eCoworkerRecordType">
  | Value | Name       |
  | ----- | ---------- |
  | 1     | Individual |
  | 2     | Company    |
</Accordion>

<Accordion title="eSensorType">
  | Value | Name                     |
  | ----- | ------------------------ |
  | 1     | PresenceDetection        |
  | 2     | PeopleCounter            |
  | 3     | Temperature              |
  | 4     | Humidity                 |
  | 5     | Light                    |
  | 6     | Noise                    |
  | 7     | CO2                      |
  | 8     | VolatileOrganicCompounds |
  | 9     | HarmfulParticulates      |
  | 10    | Touch                    |
  | 11    | Water                    |
  | 12    | AtmosphericPressure      |
  | 13    | Power                    |
  | 14    | OpenClosed               |
  | 99    | Other                    |
</Accordion>

## Query Parameters

### Pagination & Sorting

<ParamField query="page" type="integer" default="1">
  The page number to retrieve.
</ParamField>

<ParamField query="size" type="integer" default="25">
  The number of records per page.
</ParamField>

<ParamField query="orderBy" type="string">
  The property name to sort results by (e.g. `Name`, `CreatedOn`).
</ParamField>

<ParamField query="dir" type="integer">
  Sort direction. `0` for ascending, `1` for descending.
</ParamField>

### Filters

<ParamField query="FloorPlanDesk_FloorPlan" type="integer">
  Filter by iD of the floor plan this unit belongs to.
</ParamField>

<ParamField query="FloorPlanDesk_FloorPlan_Name" type="string">
  Filter by floor plan name.
</ParamField>

<ParamField query="FloorPlanDesk_FloorPlan_Business_Id" type="integer">
  Filter by iD of the location that owns the floor plan.
</ParamField>

<ParamField query="FloorPlanDesk_FloorPlan_Business_Currency_Code" type="string">
  Filter by currency code of the location.
</ParamField>

<ParamField query="FloorPlanDesk_FloorPlan_Business_Name" type="string">
  Filter by location name.
</ParamField>

<ParamField query="FloorPlanDesk_FloorPlan_Capacity" type="integer">
  Filter by maximum capacity of the floor plan.
</ParamField>

<ParamField query="FloorPlanDesk_Coworker" type="integer">
  Filter by iD of the customer assigned to this unit (used for dedicated desks and offices).
</ParamField>

<ParamField query="FloorPlanDesk_Coworker_FullName" type="string">
  Filter by full name of the assigned customer.
</ParamField>

<ParamField query="FloorPlanDesk_Coworker_CompanyName" type="string">
  Filter by company name of the assigned customer.
</ParamField>

<ParamField query="FloorPlanDesk_Coworker_CoworkerType" type="string">
  Filter by record type of the assigned customer (Individual or Company).
</ParamField>

<ParamField query="FloorPlanDesk_Coworker_Email" type="string">
  Filter by email address of the assigned customer.
</ParamField>

<ParamField query="FloorPlanDesk_Coworker_TeamNames" type="string">
  Filter by names of the teams the assigned customer belongs to.
</ParamField>

<ParamField query="FloorPlanDesk_Sensor" type="integer">
  Filter by iD of the IoT sensor monitoring occupancy or environmental conditions in this unit.
</ParamField>

<ParamField query="FloorPlanDesk_Sensor_Name" type="string">
  Filter by sensor name.
</ParamField>

<ParamField query="FloorPlanDesk_Sensor_Unit" type="string">
  Filter by unit of measurement reported by the sensor (e.g. °C, ppm).
</ParamField>

<ParamField query="FloorPlanDesk_Sensor_SensorType" type="string">
  Filter by type of the linked sensor (e.g. PresenceDetection, PeopleCounter, Temperature).
</ParamField>

<ParamField query="FloorPlanDesk_Sensor_LastReceivedValue" type="string">
  Filter by most recent raw value reported by the sensor.
</ParamField>

<ParamField query="FloorPlanDesk_Sensor_LastValueTriggeredAction" type="boolean">
  Filter by whether the last sensor reading triggered a configured automation action.
</ParamField>

<ParamField query="FloorPlanDesk_Name" type="string">
  Filter by display name of the floor plan unit (e.g. 'Office 3', 'Hot Desk 12').
</ParamField>

<ParamField query="FloorPlanDesk_ItemType" type="integer">
  Filter by type of area this unit represents: Office, DedicatedDesk, HotDesk, Room, or Other.
</ParamField>

<ParamField query="FloorPlanDesk_Resource" type="integer">
  Filter by iD of the bookable resource linked to this unit, enabling customers to book it via the floor plan view.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_Name" type="string">
  Filter by linked resource name.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_ResourceType_Name" type="string">
  Filter by resource type name of the linked resource.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_Allocation" type="integer">
  Filter by maximum simultaneous bookings allowed for the linked resource.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_Projector" type="boolean">
  Filter by whether the linked resource has a projector.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_Internet" type="boolean">
  Filter by whether the linked resource provides internet access.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_ConferencePhone" type="boolean">
  Filter by whether the linked resource has a conference phone.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_StandardPhone" type="boolean">
  Filter by whether the linked resource has a standard phone.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_WhiteBoard" type="boolean">
  Filter by whether the linked resource has a whiteboard.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_LargeDisplay" type="boolean">
  Filter by whether the linked resource has a large display or TV screen.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_Catering" type="boolean">
  Filter by whether the linked resource offers catering services.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_TeaAndCoffee" type="boolean">
  Filter by whether the linked resource provides tea and coffee.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_Drinks" type="boolean">
  Filter by whether the linked resource provides drinks.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_SecurityLock" type="boolean">
  Filter by whether the linked resource has a security lock.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_CCTV" type="boolean">
  Filter by whether the linked resource is covered by CCTV.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_VoiceRecorder" type="boolean">
  Filter by whether the linked resource has a voice recorder.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_AirConditioning" type="boolean">
  Filter by whether the linked resource has air conditioning.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_Heating" type="boolean">
  Filter by whether the linked resource has heating.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_NaturalLight" type="boolean">
  Filter by whether the linked resource has natural light.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_StandingDesk" type="boolean">
  Filter by whether the linked resource has a standing desk.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_QuietZone" type="boolean">
  Filter by whether the linked resource is in a quiet zone.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_WirelessCharger" type="boolean">
  Filter by whether the linked resource has a wireless charger.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_PrivacyScreen" type="boolean">
  Filter by whether the linked resource has a privacy screen.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_Soundproof" type="boolean">
  Filter by whether the linked resource is soundproofed.
</ParamField>

<ParamField query="FloorPlanDesk_Resource_Shifts" type="string">
  Filter by shift schedule defined on the linked resource.
</ParamField>

<ParamField query="FloorPlanDesk_Size" type="number">
  Filter by floor area of this unit (e.g. in sq ft or sq m, depending on the location's unit setting).
</ParamField>

<ParamField query="FloorPlanDesk_SizeIsLinkedToArea" type="boolean">
  Filter by when true, the Size value is automatically calculated from the drawn shape area on the floor plan canvas.
</ParamField>

<ParamField query="FloorPlanDesk_Capacity" type="number">
  Filter by number of people this unit can accommodate at the same time.
</ParamField>

<ParamField query="FloorPlanDesk_Price" type="number">
  Filter by indicative price displayed on the floor plan view (informational only; actual billing is handled by products and contracts).
</ParamField>

<ParamField query="FloorPlanDesk_Area" type="string">
  Filter by computed area of the drawn shape on the floor plan canvas, set automatically by the editor.
</ParamField>

<ParamField query="FloorPlanDesk_SensorLastValue" type="string">
  Filter by formatted display value of the last reading from the linked sensor.
</ParamField>

<ParamField query="FloorPlanDesk_IsSensorOccupied" type="boolean">
  Filter by whether the linked sensor currently indicates this unit is occupied.
</ParamField>

<ParamField query="FloorPlanDesk_Notes" type="string">
  Filter by internal notes about this unit, visible to admins only.
</ParamField>

<ParamField query="FloorPlanDesk_Available" type="boolean">
  Filter by whether this unit is currently available for assignment or booking.
</ParamField>

<ParamField query="FloorPlanDesk_AvailableToAi" type="boolean">
  Filter by whether this unit is available to any AI channels (Email, Chat or WhatsApp) for recommendations for private offices;.
</ParamField>

<ParamField query="FloorPlanDesk_NotesForAi" type="string">
  Filter by notes or instructions for AI channels to consider when recommending this unit for private offices (e.g. 'great natural light but a bit noisy').
</ParamField>

<ParamField query="FloorPlanDesk_ShowPriceForAi" type="boolean">
  Filter by whether to show the price of this unit in AI channel recommendations and responses based on users' budget preferences.
</ParamField>

<ParamField query="FloorPlanDesk_PriceForAi" type="number">
  Filter by override price to show in AI channel recommendations and responses based on users' budget preferences (if not set, the regular Price value is used).
</ParamField>

<ParamField query="FloorPlanDesk_PositionX" type="integer">
  Filter by x coordinate of this unit's position on the floor plan canvas.
</ParamField>

<ParamField query="FloorPlanDesk_PositionY" type="integer">
  Filter by y coordinate of this unit's position on the floor plan canvas.
</ParamField>

<ParamField query="FloorPlanDesk_PositionZ" type="integer">
  Filter by z-index (draw order) of this unit on the floor plan canvas; higher values render on top.
</ParamField>

<ParamField query="FloorPlanDesk_AccessControlGroupId" type="string">
  Filter by access control group identifier that governs door/entry access for this unit.
</ParamField>

<ParamField query="FloorPlanDesk_TunnelPrivateGroupId" type="string">
  Filter by network tunnel group identifier for private network access scoped to this unit.
</ParamField>

<ParamField query="FloorPlanDesk_CoworkerContractIds" type="string">
  Filter by comma-separated list of contract IDs currently assigned to this unit.
</ParamField>

<ParamField query="FloorPlanDesk_CoworkerContractFullNames" type="string">
  Filter by comma-separated list of customer names from contracts assigned to this unit.
</ParamField>

<ParamField query="FloorPlanDesk_CoworkerContractStartDates" type="string">
  Filter by comma-separated list of start dates for contracts assigned to this unit.
</ParamField>

<ParamField query="FloorPlanDesk_AvailableFromTime" type="string">
  Filter by uTC date/time from which this unit becomes available.
</ParamField>

<ParamField query="FloorPlanDesk_AvailableToTime" type="string">
  Filter by uTC date/time until which this unit is available.
</ParamField>

<ParamField query="FloorPlanDesk_AvailableFromTimeLocal" type="string">
  Filter by local date/time from which this unit becomes available (derived from AvailableFromTime).
</ParamField>

<ParamField query="FloorPlanDesk_AvailableToTimeLocal" type="string">
  Filter by local date/time until which this unit is available (derived from AvailableToTime).
</ParamField>

<ParamField query="FloorPlanDesk_ArchilogicUniqueId" type="string">
  Filter by unique identifier linking this unit to its corresponding element in an Archilogic 3D model.
</ParamField>

<ParamField query="FloorPlanDesk_FloorPlanLayoutAssetUniqueId" type="string">
  Filter by unique identifier linking this unit to a component in the associated floor plan layout template.
</ParamField>

### Range Filters

<ParamField query="from_FloorPlanDesk_FloorPlanBusinessId" type="integer">
  Filter by iD of the location that owns the floor plan greater than or equal to this value.
</ParamField>

<ParamField query="to_FloorPlanDesk_FloorPlanBusinessId" type="integer">
  Filter by iD of the location that owns the floor plan less than or equal to this value.
</ParamField>

<ParamField query="from_FloorPlanDesk_FloorPlanCapacity" type="integer">
  Filter by maximum capacity of the floor plan greater than or equal to this value.
</ParamField>

<ParamField query="to_FloorPlanDesk_FloorPlanCapacity" type="integer">
  Filter by maximum capacity of the floor plan less than or equal to this value.
</ParamField>

<ParamField query="from_FloorPlanDesk_ResourceAllocation" type="integer">
  Filter by maximum simultaneous bookings allowed for the linked resource greater than or equal to this value.
</ParamField>

<ParamField query="to_FloorPlanDesk_ResourceAllocation" type="integer">
  Filter by maximum simultaneous bookings allowed for the linked resource less than or equal to this value.
</ParamField>

<ParamField query="from_FloorPlanDesk_Size" type="number">
  Filter by floor area of this unit (e.g. in sq ft or sq m, depending on the location's unit setting) greater than or equal to this value.
</ParamField>

<ParamField query="to_FloorPlanDesk_Size" type="number">
  Filter by floor area of this unit (e.g. in sq ft or sq m, depending on the location's unit setting) less than or equal to this value.
</ParamField>

<ParamField query="from_FloorPlanDesk_Capacity" type="number">
  Filter by number of people this unit can accommodate at the same time greater than or equal to this value.
</ParamField>

<ParamField query="to_FloorPlanDesk_Capacity" type="number">
  Filter by number of people this unit can accommodate at the same time less than or equal to this value.
</ParamField>

<ParamField query="from_FloorPlanDesk_Price" type="number">
  Filter by indicative price displayed on the floor plan view (informational only; actual billing is handled by products and contracts) greater than or equal to this value.
</ParamField>

<ParamField query="to_FloorPlanDesk_Price" type="number">
  Filter by indicative price displayed on the floor plan view (informational only; actual billing is handled by products and contracts) less than or equal to this value.
</ParamField>

<ParamField query="from_FloorPlanDesk_PriceForAi" type="number">
  Filter by override price to show in AI channel recommendations and responses based on users' budget preferences (if not set, the regular Price value is used) greater than or equal to this value.
</ParamField>

<ParamField query="to_FloorPlanDesk_PriceForAi" type="number">
  Filter by override price to show in AI channel recommendations and responses based on users' budget preferences (if not set, the regular Price value is used) less than or equal to this value.
</ParamField>

<ParamField query="from_FloorPlanDesk_PositionX" type="integer">
  Filter by x coordinate of this unit's position on the floor plan canvas greater than or equal to this value.
</ParamField>

<ParamField query="to_FloorPlanDesk_PositionX" type="integer">
  Filter by x coordinate of this unit's position on the floor plan canvas less than or equal to this value.
</ParamField>

<ParamField query="from_FloorPlanDesk_PositionY" type="integer">
  Filter by y coordinate of this unit's position on the floor plan canvas greater than or equal to this value.
</ParamField>

<ParamField query="to_FloorPlanDesk_PositionY" type="integer">
  Filter by y coordinate of this unit's position on the floor plan canvas less than or equal to this value.
</ParamField>

<ParamField query="from_FloorPlanDesk_PositionZ" type="integer">
  Filter by z-index (draw order) of this unit on the floor plan canvas; higher values render on top greater than or equal to this value.
</ParamField>

<ParamField query="to_FloorPlanDesk_PositionZ" type="integer">
  Filter by z-index (draw order) of this unit on the floor plan canvas; higher values render on top less than or equal to this value.
</ParamField>

<ParamField query="from_FloorPlanDesk_AvailableFromTime" type="string">
  Filter by uTC date/time from which this unit becomes available greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_FloorPlanDesk_AvailableFromTime" type="string">
  Filter by uTC date/time from which this unit becomes available less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_FloorPlanDesk_AvailableToTime" type="string">
  Filter by uTC date/time until which this unit is available greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_FloorPlanDesk_AvailableToTime" type="string">
  Filter by uTC date/time until which this unit is available less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_FloorPlanDesk_AvailableFromTimeLocal" type="string">
  Filter by local date/time from which this unit becomes available (derived from AvailableFromTime) greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_FloorPlanDesk_AvailableFromTimeLocal" type="string">
  Filter by local date/time from which this unit becomes available (derived from AvailableFromTime) less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_FloorPlanDesk_AvailableToTimeLocal" type="string">
  Filter by local date/time until which this unit is available (derived from AvailableToTime) greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_FloorPlanDesk_AvailableToTimeLocal" type="string">
  Filter by local date/time until which this unit is available (derived from AvailableToTime) less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_FloorPlanDesk_CreatedOn" type="string">
  Filter records created on or after this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_FloorPlanDesk_CreatedOn" type="string">
  Filter records created on or before this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="from_FloorPlanDesk_UpdatedOn" type="string">
  Filter records updated on or after this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

<ParamField query="to_FloorPlanDesk_UpdatedOn" type="string">
  Filter records updated on or before this date. Format: `YYYY-MM-DDTHH:mm`.
</ParamField>

## Code Examples

### Simple listing

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/sys/floorplandesks?page=1&size=15&orderBy=Name&dir=0" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/sys/floorplandesks?' + new URLSearchParams({
      page: 1,
      size: 15,
      orderBy: 'Name',
      dir: 1 // Ascending
    }),
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/sys/floorplandesks',
      params={
          'page': 1,
          'size': 15,
          'orderBy': 'Name',
          'dir': 0 // Ascending
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  data = response.json()
  ```
</CodeGroup>

### Filtering by Name

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/sys/floorplandesks?FloorPlanDesk_Name=example-value&orderBy=Name&dir=0" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/sys/floorplandesks?' + new URLSearchParams({
      FloorPlanDesk_Name: 'example-value',
      orderBy: 'Name',
      dir: 1
    }),
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/sys/floorplandesks',
      params={
          'FloorPlanDesk_Name': 'example-value',
          'orderBy': 'Name',
          'dir': 0 // Ascending
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  data = response.json()
  ```
</CodeGroup>

### Range filters

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/sys/floorplandesks?from_FloorPlanDesk_UpdatedOn=2025-01-01T00:00&to_FloorPlanDesk_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=0" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/sys/floorplandesks?' + new URLSearchParams({
      from_FloorPlanDesk_UpdatedOn: '2025-01-01T00:00',
      to_FloorPlanDesk_UpdatedOn: '2025-12-31T23:59',
      orderBy: 'UpdatedOn',
      dir: 1 // Descending
     }),
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/sys/floorplandesks',
      params={
          'from_FloorPlanDesk_UpdatedOn': '2025-01-01T00:00',
          'to_FloorPlanDesk_UpdatedOn': '2025-12-31T23:59',
          'orderBy': 'UpdatedOn',
          'dir': 1 // Descending
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  data = response.json()
  ```
</CodeGroup>

## Response

### 200

<ResponseField name="Records" type="FloorPlanDesk[]">
  The list of FloorPlanDesk records matching the query. See the [Get one FloorPlanDesk](/rest-api/sys/get-floorplandesks-by-id) endpoint for the full list of properties returned for each record.
</ResponseField>

<Warning>
  **Partial records** — The listing endpoint returns a summary representation of each FloorPlanDesk. The following fields are **not populated** in the `Records[]` response: `Notes`.

  To get all fields, fetch the full record using the [Get one FloorPlanDesk](/rest-api/sys/get-floorplandesks-by-id) endpoint.

  **Important for updates:** When updating a record via `PUT`, always retrieve the full record with a `GET` request first, apply your changes to that complete data, and then send the updated record. Do not use data from a listing response as the base for a `PUT` request, as missing fields may be unintentionally cleared.
</Warning>

<ResponseField name="CurrentPage" type="integer">
  Current page number.
</ResponseField>

<ResponseField name="CurrentPageSize" type="integer">
  Number of records per page.
</ResponseField>

<ResponseField name="CurrentOrderField" type="string">
  The field used for sorting.
</ResponseField>

<ResponseField name="CurrentSortDirection" type="integer">
  The sort direction (`0` = ascending, `1` = descending).
</ResponseField>

<ResponseField name="FirstItem" type="integer">
  Index of the first item on the current page.
</ResponseField>

<ResponseField name="LastItem" type="integer">
  Index of the last item on the current page.
</ResponseField>

<ResponseField name="TotalItems" type="integer">
  Total number of matching records across all pages.
</ResponseField>

<ResponseField name="TotalPages" type="integer">
  Total number of pages.
</ResponseField>

<ResponseField name="HasNextPage" type="boolean">
  Whether there is a next page of results.
</ResponseField>

<ResponseField name="HasPreviousPage" type="boolean">
  Whether there is a previous page of results.
</ResponseField>

```json Example Response theme={null}
{
  "Records": [
    {
      "FloorPlanId": 0,
      "FloorPlanName": null,
      "FloorPlanBusinessId": null,
      "FloorPlanBusinessCurrencyCode": null,
      "FloorPlanBusinessName": null,
      "FloorPlanCapacity": null,
      "CoworkerId": null,
      "CoworkerFullName": null,
      "CoworkerCompanyName": null,
      "CoworkerCoworkerType": null,
      "CoworkerEmail": null,
      "CoworkerTeamNames": null,
      "SensorId": null,
      "SensorName": null,
      "SensorUnit": null,
      "SensorSensorType": null,
      "SensorLastReceivedValue": null,
      "SensorLastValueTriggeredAction": null,
      "Name": "",
      "ItemType": 0,
      "ResourceId": null,
      "ResourceName": null,
      "ResourceResourceTypeName": null,
      "ResourceAllocation": null,
      "ResourceProjector": null,
      "ResourceInternet": null,
      "ResourceConferencePhone": null,
      "ResourceStandardPhone": null,
      "ResourceWhiteBoard": null,
      "ResourceLargeDisplay": null,
      "ResourceCatering": null,
      "ResourceTeaAndCoffee": null,
      "ResourceDrinks": null,
      "ResourceSecurityLock": null,
      "ResourceCCTV": null,
      "ResourceVoiceRecorder": null,
      "ResourceAirConditioning": null,
      "ResourceHeating": null,
      "ResourceNaturalLight": null,
      "ResourceStandingDesk": null,
      "ResourceQuietZone": null,
      "ResourceWirelessCharger": null,
      "ResourcePrivacyScreen": null,
      "ResourceSoundproof": null,
      "ResourceShifts": null,
      "Size": 0,
      "SizeIsLinkedToArea": false,
      "Capacity": 0,
      "Price": 0,
      "Area": null,
      "SensorLastValue": null,
      "IsSensorOccupied": false,
      "Available": false,
      "AvailableToAi": false,
      "NotesForAi": null,
      "ShowPriceForAi": false,
      "PriceForAi": null,
      "PositionX": 0,
      "PositionY": 0,
      "PositionZ": 0,
      "AccessControlGroupId": null,
      "TunnelPrivateGroupId": null,
      "CoworkerContractIds": null,
      "CoworkerContractFullNames": null,
      "CoworkerContractStartDates": null,
      "AvailableFromTime": null,
      "AvailableToTime": null,
      "AvailableFromTimeLocal": null,
      "AvailableToTimeLocal": null,
      "ArchilogicUniqueId": null,
      "FloorPlanLayoutAssetUniqueId": null,
      "Id": 87654321,
      "UpdatedOn": "2025-01-15T10:30:00Z",
      "CreatedOn": "2025-01-10T08:00:00Z",
      "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "UpdatedBy": "admin@example.com",
      "IsNew": false,
      "SystemId": null,
      "ToStringText": "FloorPlanDesk Example",
      "LocalizationDetails": null,
      "CustomFields": null
    }
  ],
  "CurrentPageSize": 15,
  "CurrentPage": 1,
  "CurrentOrderField": "Name",
  "CurrentSortDirection": 1,
  "FirstItem": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "LastItem": 1,
  "PageNumber": 1,
  "PageSize": 15,
  "TotalItems": 1,
  "TotalPages": 1
}
```
