> ## 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.

# Get one FloorPlan

> Retrieve a single FloorPlan record by its Id.

A **FloorPlan** is a visual diagram representing a single floor of a location. Floor plans are used by admins and customers to get an overview of the space layout, including rooms, desks, and other areas.

Each floor plan belongs to a location (`Business`) and can optionally reference a `FloorPlanLayout` template. A background/tracing image can be uploaded to overlay the drawn areas, and its position and scale can be adjusted independently from the floor plan's own scale.

Once created, floor plan units (FloorPlanDesks) are added to the floor plan to represent individual bookable or non-bookable areas such as offices, dedicated desks, hot desks, and meeting rooms.

## 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 **`FloorPlan-Read`** role.
</Note>

## Path Parameters

<ParamField path="id" type="integer" required>
  The Id of the FloorPlan record to retrieve.
</ParamField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/sys/floorplans/87654321" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/sys/floorplans/87654321',
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

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

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

  response = requests.get(
      'https://spaces.nexudus.com/api/sys/floorplans/87654321',
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

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

## Response

### 200

<ResponseField name="BusinessId" type="integer">
  ID of the location this floor plan belongs to.
</ResponseField>

<ResponseField name="BusinessName" type="string">
  Location name.
</ResponseField>

<ResponseField name="BusinessCurrencyCode" type="string">
  Currency code of the location.
</ResponseField>

<ResponseField name="FloorPlanLayoutId" type="integer">
  ID of the floor plan layout template to apply to this floor plan.
</ResponseField>

<ResponseField name="FloorPlanLayoutName" type="string">
  Floor plan layout name.
</ResponseField>

<ResponseField name="Name" type="string">
  Display name of the floor plan (e.g. 'Ground Floor', 'Level 2').
</ResponseField>

<ResponseField name="BackgroundImageFileName" type="string">
  Filename of the currently stored background/tracing image.
</ResponseField>

<ResponseField name="NewBackgroundImageUrl" type="string">
  URL of a new background/tracing image to upload. The image will be fetched and stored when the floor plan is saved.
</ResponseField>

<ResponseField name="ClearBackgroundImageFile" type="boolean">
  Set to true to remove the current background/tracing image from this floor plan.
</ResponseField>

<ResponseField name="DisplayBackground" type="boolean">
  Whether the background/tracing image is visible when the floor plan is rendered.
</ResponseField>

<ResponseField name="BackgroundScale" type="integer">
  Zoom/scale factor applied to the background/tracing image, expressed as a percentage (e.g. 100 = original size).
</ResponseField>

<ResponseField name="PositionX" type="integer">
  Horizontal offset (in pixels) of the background image within the floor plan canvas.
</ResponseField>

<ResponseField name="PositionY" type="integer">
  Vertical offset (in pixels) of the background image within the floor plan canvas.
</ResponseField>

<ResponseField name="FloorLevel" type="integer">
  Floor number used to order floor plans (e.g. 0 = ground floor, 1 = first floor, -1 = basement).
</ResponseField>

<ResponseField name="Scale" type="number">
  Real-world scale of the floor plan, representing how many real-world units correspond to one canvas unit.
</ResponseField>

<ResponseField name="Capacity" type="integer">
  Maximum number of people this floor can accommodate at the same time.
</ResponseField>

<ResponseField name="ArchilogicUniqueId" type="string">
  Unique identifier used to link this floor plan to a corresponding Archilogic 3D model.
</ResponseField>

<ResponseField name="Id" type="integer">
  Unique record identifier.
</ResponseField>

<ResponseField name="UniqueId" type="string">
  UUID of the record.
</ResponseField>

<ResponseField name="CreatedOn" type="string">
  Date and time the record was created (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedOn" type="string">
  Date and time the record was last updated (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedBy" type="string">
  Email of the user who last updated this record.
</ResponseField>

<ResponseField name="IsNew" type="boolean">
  Whether the record was recently created.
</ResponseField>

<ResponseField name="SystemId" type="string">
  External system identifier.
</ResponseField>

```json Example Response theme={null}
{
  "BusinessId": 0,
  "BusinessName": null,
  "BusinessCurrencyCode": null,
  "FloorPlanLayoutId": null,
  "FloorPlanLayoutName": null,
  "Name": "",
  "BackgroundImageFileName": null,
  "NewBackgroundImageUrl": null,
  "ClearBackgroundImageFile": null,
  "DisplayBackground": false,
  "BackgroundScale": 0,
  "PositionX": 0,
  "PositionY": 0,
  "FloorLevel": 0,
  "Scale": 0,
  "Capacity": null,
  "ArchilogicUniqueId": 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": "FloorPlan Example",
  "LocalizationDetails": null,
  "CustomFields": null
}
```
