# Floor management APIs

Source: [https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html)

The following table lists the indoor APIs to manage the floors of a venue.

| Method | Endpoint | Description | Success code | Error codes |
| --- | --- | --- | --- | --- |
| [POST](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html#post-venues-venueid-floors) | `/venues/{venueId}/floors` | Create a new floor | 201 Created | <ul class="ul" id="floor-management-apis__ul_trh_mvn_4hc"><br>                                    <li class="li">400 Bad Request</li><br><br>                                    <li class="li">401 Unauthorized</li><br><br>                                    <li class="li">403 Forbidden</li><br><br>                                    <li class="li">404 Venue Not Found</li><br><br>                                    <li class="li">409 Conflict (duplicate label or customerFloorId)</li><br><br>                                    <li class="li">500 Internal Server Error</li><br><br>                                </ul> |
| [GET](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html#get-venues-venueid-floors) | `/venues/{venueId}/floors` | List all the floors in a venue | 200 OK | <ul class="ul" id="floor-management-apis__ul_k2z_tvn_4hc"><br>                                    <li class="li">401 Unauthorized</li><br><br>                                    <li class="li">403 Forbidden</li><br><br>                                    <li class="li">404 Venue Not Found</li><br><br>                                    <li class="li">500 Internal Server Error</li><br><br>                                </ul> |
| [GET](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html#get-venues-venueid-floors-floorid) | `/venues/{venueId}/floors/{floorId}` | Retrieve the details of a specific floor | 200 OK | <ul class="ul" id="floor-management-apis__ul_hxg_5vn_4hc"><br>                                    <li class="li">401 Unauthorized</li><br><br>                                    <li class="li">403 Forbidden</li><br><br>                                    <li class="li">404 Floor Not Found</li><br><br>                                    <li class="li">500 Internal Server Error</li><br><br>                                </ul> |
| [PUT](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html#put-venues-venueid-floors-floorid) | `/venues/{venueId}/floors/{floorId}` | Update the details of a floor | 200 OK | <ul class="ul" id="floor-management-apis__ul_jpg_vvn_4hc"><br>                                    <li class="li">400 Bad Request</li><br><br>                                    <li class="li">401 Unauthorized</li><br><br>                                    <li class="li">403 Forbidden</li><br><br>                                    <li class="li">404 Floor Not Found</li><br><br>                                    <li class="li">409 Conflict (duplicate label or customerFloorId)</li><br><br>                                    <li class="li">500 Internal Server Error</li><br><br>                                </ul> |
| [DELETE](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html#delete-venues-venueid-floors-floorid) | `/venues/{venueId}/floors/{floorId}` | Delete a floor | 200 OK | <ul class="ul" id="floor-management-apis__ul_j12_yvn_4hc"><br>                                    <li class="li">401 Unauthorized</li><br><br>                                    <li class="li">403 Forbidden</li><br><br>                                    <li class="li">404 Floor Not Found</li><br><br>                                    <li class="li">409 Conflict (active survey)</li><br><br>                                    <li class="li">500 Internal Server Error</li><br><br>                                </ul> |

## POST /venues/{venueId}/floors

Source: [https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html)

Creates a new floor within a venue.

**Path parameters**

| Parameter | Type | Values | Description |
| --- | --- | --- | --- |
| `venueId` | Integer |  | The ID of the venue to retrieve |

**Request headers**

    Content-Type: application/jsonCopy to clipboard

**Request body**

    {
      "label": "Floor 1",
      "customerFloorId": "floor_001",
      "level": 1.0
    }Copy to clipboard

**Request body parameters**

| Parameter | Type | Values | Description |
| --- | --- | --- | --- |
| `label` | String | Must contain only Unicode letters, numbers, spaces, underscores<br>                                (\_), hash (#), hyphens (-), commas (,), and periods (.) | Floor name or label |
| `customerFloorId` | String (optional) | Must contain only alphanumeric characters, underscores (\_), and<br>                                hyphens (-) | Customer-defined floor identifier |
| `level` | Float (optional) | Default: 0.0 | Floor level or elevation |

**Response**

- Success response: 201 Created

        {
          "floorId": 456,
          "message": "Floor successfully created."
        }Copy to clipboard
- Error responses:
    - 400 Bad Request

            {
              "message": "label: This field is required."
            }
            {
              "message": "label: This field may not be blank."
            }
            {
              "message": "label: Ensure this field has no more than 50 characters."
            }
            {
              "message": "customerFloorId: This field may not be blank."
            }
            {
              "message": "customerFloorId: Ensure this field has no more than 255 characters."
            }Copy to clipboard
    - 401 Unauthorized: Missing or invalid Skyhook-Auth-Key
                            header

            {
              "message": "Missing Skyhook-Auth-Key."
            }
            {
              "message": "Invalid Skyhook-Auth-Key."
            }Copy to clipboard
    - 403 Forbidden: Valid API key but insufficient permissions for the
                            requested resource

            {
              "message": "Access Denied."
            }Copy to clipboard
    - 404 Not Found

            {
              "message": "Venue <venueId> not found or not associated with this project."
            }Copy to clipboard
    - 409 Conflict

            {
              "message": "Failed to create floor, duplicate Floor label."
            }
            {
              "message": "Failed to create floor, duplicate customer floor id."
            }Copy to clipboard
    - 500 Internal Server Error

            {
              "message": "An unexpected error occurred while creating Floor."
            }Copy to clipboard

## GET /venues/{venueId}/floors

Source: [https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html)

Retrieves all the floors in a venue.

**Path parameters**

| Parameter | Type | Values | Description |
| --- | --- | --- | --- |
| `venueId` | Integer |  | The ID of the venue to retrieve |

**Request headers**

    Content-Type: application/jsonCopy to clipboard

**Response fields**

| Field | Type | Values | Description |
| --- | --- | --- | --- |
| `floorId` | Integer |  | Unique floor identifier |
| `label` | String |  | Floor name or label |
| `customerFloorId` | String |  | Customer-defined floor identifier |
| `level` | Float |  | Floor level or elevation |
| `hasFloorPlan` | Boolean |  | Whether floor has an associated floor plan |
| `created` | Integer |  | Unix timestamp of creation |
| `modified` | Integer |  | Unix timestamp of last modification |

**Response**

- Success response: 200 OK

        {
            "floorId": 456,
            "label": "Floor 1",
            "customerFloorId": "floor_001",
            "level": 1.0,
            "hasFloorPlan": true,
            "created": 1698765432,
            "modified": 1698765432
          },
          {
            "floorId": 457,
            "label": "Floor 2",
            "customerFloorId": "floor_002",
            "level": 2.0,
            "hasFloorPlan": false,
            "created": 1698765433,
            "modified": 1698765433
          }Copy to clipboard
- Error responses:
    - 401 Unauthorized: Missing or invalid Skyhook-Auth-Key
                            header

            {
              "message": "Missing Skyhook-Auth-Key."
            }
            {
              "message": "Invalid Skyhook-Auth-Key."
            }Copy to clipboard
    - 403 Forbidden: Valid API key but insufficient permissions for the
                            requested resource

            {
              "message": "Access Denied."
            }Copy to clipboard
    - 404 Not Found

            {
              "message": "Venue 123 not found or not associated with this project."
            }
            {
              "message": "The requested resource was not found."
            }Copy to clipboard
    - 500 Internal Server Error

            {
              "message": "Internal Server error occurred while fetching list of Floors."
            }Copy to clipboard

## GET /venues/{venueId}/floors/{floorId}

Source: [https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html)

Retrieves the details of a specific floor in a venue by ID.

**Path parameters**

| Parameter | Type | Values | Description |
| --- | --- | --- | --- |
| `venueId` | Integer |  | The ID of the venue |
| `floorId` | Integer |  | The ID of the floor |

**Request headers**

    Content-Type: application/jsonCopy to clipboard

**Response fields**

| Field | Type | Values | Description |
| --- | --- | --- | --- |
| `floorId` | Integer |  | Unique floor identifier |
| `label` | String |  | Floor name or label |
| `customerFloorId` | String |  | Customer-defined floor identifier |
| `level` | Float |  | Floor level or elevation |
| `hasFloorPlan` | Boolean |  | Whether floor has an associated floor plan |
| `created` | Integer |  | Unix timestamp of creation |
| `modified` | Integer |  | Unix timestamp of last modification |

**Response**

- Success response: 200 OK

        {
          "floorId": 456,
          "label": "Floor 1",
          "customerFloorId": "floor_001",
          "level": 1.0,
          "hasFloorPlan": true,
          "created": 1698765432,
          "modified": 1698765432
        }Copy to clipboard
- Error responses:
    - 401 Unauthorized: Missing or invalid Skyhook-Auth-Key
                            header

            {
              "message": "Missing Skyhook-Auth-Key."
            }
            {
              "message": "Invalid Skyhook-Auth-Key."
            }Copy to clipboard
    - 403 Forbidden: Valid API key but insufficient permissions for the
                            requested resource

            {
              "message": "Access Denied."
            }Copy to clipboard
    - 404 Not Found

            {
              "message": "Venue id <venueId>/floor id <floorId> is not found or not associated with this project."
            }
            {
              "message": "The requested resource was not found."
            }Copy to clipboard
    - 500 Internal Server Error

            {
              "message": "Internal Server error occurred while fetching list of Floors."
            }Copy to clipboard

## PUT /venues/{venueId}/floors/{floorId}

Source: [https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html)

Update the information of a specific floor in a venue by ID.

**Path parameters**

| Parameter | Type | Values | Description |
| --- | --- | --- | --- |
| `venueId` | Integer |  | The ID of the venue |
| `floorId` | Integer |  | The ID of the floor |

**Request headers**

    Content-Type: application/jsonCopy to clipboard

**Request body**

    {
      "label": "Floor 1 - Updated",
      "customerFloorId": "floor_001_updated",
      "level": 1.5
    }Copy to clipboard

**Response body parameters**

| Parameter | Type | Values | Description |
| --- | --- | --- | --- |
| `label` | String | Must contain only Unicode letters, numbers, spaces, underscores<br>                                (\_), hash (#), hyphens (-), commas (,), and periods (.) | Floor name or label |
| `customerFloorId` | String |  | Customer-defined floor identifier |
| `level` | Float |  | Floor level or elevation |

**Response**

- Success response: 200 OK

        {
          "message": "Floor successfully updated."
        }Copy to clipboard
- Error responses:
    - 400 Bad Request

            {
              "message": "Floor label must contain only Unicode letters, numbers, spaces, underscores (_), hash (#), hyphens (-), commas (,), and periods (.)"
            }Copy to clipboard
    - 401 Unauthorized: Missing or invalid Skyhook-Auth-Key
                            header

            {
              "message": "Missing Skyhook-Auth-Key."
            }
            {
              "message": "Invalid Skyhook-Auth-Key."
            }Copy to clipboard
    - 403 Forbidden: Valid API key but insufficient permissions for the
                            requested resource

            {
              "message": "Access Denied."
            }Copy to clipboard
    - 404 Not Found

            {
              "message": "Venue id <venueId>/floor id <floorId> is not found or not associated with this project."
            }Copy to clipboard
    - 409 Conflict

            {
                "message": "Failed to create floor, duplicate floor label."
            }
            {
                "message": "Failed to create floor, duplicate customerFloorId."
            }Copy to clipboard
    - 500 Internal Server Error

            {
              "message": "Internal Error while processing your request."
            }Copy to clipboard

## DELETE /venues/{venueId}/floors/{floorId}

Source: [https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html](https://docs.qualcomm.com/doc/80-42204-2/topic/floor-management-apis.html)

Deletes a floor. Can't delete a floor if it has an active survey.

**Path parameters**

| Parameter | Type | Values | Description |
| --- | --- | --- | --- |
| `venueId` | Integer |  | The ID of the venue |
| `floorId` | Integer |  | The ID of the floor |

**Response**

- Success response: 200 OK

        {
          "message": "Floor successfully deleted."
        }Copy to clipboard
- Error responses:
    - 401 Unauthorized: Missing or invalid Skyhook-Auth-Key
                            header

            {
              "message": "Missing Skyhook-Auth-Key."
            }
            {
              "message": "Invalid Skyhook-Auth-Key."
            }Copy to clipboard
    - 403 Forbidden: Valid API key but insufficient permissions for the
                            requested resource

            {
              "message": "Access Denied."
            }Copy to clipboard
    - 404 Not Found

            {
              "message": "Venue id <venueId>/floor id <floorId> is not found or not associated with this project."
            }Copy to clipboard
    - 409 Conflict

            {
              "message": "Cannot delete floor: <floorId>. Floor has active survey."
            }Copy to clipboard
    - 500 Internal Server Error

            {
              "message": "Internal Error while processing your request."
            }Copy to clipboard

Last Published: May 19, 2026

[Previous Topic
Venue management APIs](https://docs.qualcomm.com/bundle/publicresource/80-42204-2/topics/venue-management-apis.md) [Next Topic
Floor plan management APIs](https://docs.qualcomm.com/bundle/publicresource/80-42204-2/topics/floor-plan-management-apis.md)