# 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 |
- 400 Bad Request
- 401 Unauthorized
- 403 Forbidden
- 404 Venue Not Found
- 409 Conflict (duplicate label or customerFloorId)
- 500 Internal Server Error
|
| [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 |
- 401 Unauthorized
- 403 Forbidden
- 404 Venue Not Found
- 500 Internal Server Error
|
| [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 |
- 401 Unauthorized
- 403 Forbidden
- 404 Floor Not Found
- 500 Internal Server Error
|
| [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 |
- 400 Bad Request
- 401 Unauthorized
- 403 Forbidden
- 404 Floor Not Found
- 409 Conflict (duplicate label or customerFloorId)
- 500 Internal Server Error
|
| [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 |
- 401 Unauthorized
- 403 Forbidden
- 404 Floor Not Found
- 409 Conflict (active survey)
- 500 Internal Server Error
|
## 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
(\_), hash (#), hyphens (-), commas (,), and periods (.) | Floor name or label |
| `customerFloorId` | String (optional) | Must contain only alphanumeric characters, underscores (\_), and
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 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 /floor id 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
(\_), 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 /floor id 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 /floor id is not found or not associated with this project."
}Copy to clipboard
- 409 Conflict
{
"message": "Cannot delete floor: . 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)