# Venue management APIs

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

The following table lists the indoor APIs to manage the venues.

| Method | Endpoint | Description | Success code | Error codes |
| --- | --- | --- | --- | --- |
| [POST](https://docs.qualcomm.com/doc/80-42204-2/topic/venue-management-apis.html#post-venues) | `/venues` | Create a new venue | 201 Created | <ul class="ul" id="venue-management-apis__ul_mzw_tpn_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">409 Conflict (duplicate label or customerVenueId)</li><br><br>                                    <li class="li">500 Internal server error</li><br><br>                                </ul> |
| [GET](https://docs.qualcomm.com/doc/80-42204-2/topic/venue-management-apis.html#get-venues) | `/venues` | List all venues | 200 OK | <ul class="ul" id="venue-management-apis__ul_mb1_3bl_whc"><br>                                    <li class="li">401 Unauthorized</li><br><br>                                    <li class="li">403 Forbidden</li><br><br>                                    <li class="li">500 Internal server error</li><br><br>                                </ul> |
| [GET](https://docs.qualcomm.com/doc/80-42204-2/topic/venue-management-apis.html#get-venues-venueid) | `/venues/{venueId}` | Retrieve the details of a specific venue | 200 OK | <ul class="ul" id="venue-management-apis__ul_vsp_xpn_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> |
| [PUT](https://docs.qualcomm.com/doc/80-42204-2/topic/venue-management-apis.html#put-venues) | `/venues/{venueId}` | Update venue information | 200 OK | <ul class="ul" id="venue-management-apis__ul_arc_zpn_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 customerVenueId)</li><br><br>                                    <li class="li">500 Internal server error</li><br><br>                                </ul> |
| [DELETE](https://docs.qualcomm.com/doc/80-42204-2/topic/venue-management-apis.html#delete-venues) | `/venues/{venueId}` | Delete a venue | 200 OK | <ul class="ul" id="venue-management-apis__ul_nhb_1qn_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">409 Conflict (active survey)</li><br><br>                                    <li class="li">500 Internal server error</li><br><br>                                </ul> |

## POST /venues

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

Creates a new venue associated with the authenticated CRS project.

**Request headers**

    Content-Type: application/jsonCopy to clipboard

**Request body**

    {
      "label": "Building A",
      "customerVenueId": "venue_001",
      "latitude": 37.7749,
      "longitude": -122.4194
    }Copy to clipboard

**Response fields**

| Field | Type | Values | Description |
| --- | --- | --- | --- |
| `label` | String | Must contain only Unicode letters, numbers, spaces, underscores<br>                (\_), hash (#), hyphens (-), commas (,), and periods (.) | Venue name or label |
| `customerVenueId` | String (optional) | Must contain only alphanumeric characters, underscores (\_), and<br>                hyphens (-) | Customer-defined venue identifier |
| `latitude` | Float | -90 to 90 | Latitude coordinate. Approximate centroid of the venue. |
| `longitude` | Float | -180 to 180 | Longitude coordinate. Approximate centroid of the venue. |

**Response**

- Success response: 201 Created

        {
          "venueId": <venueId>,
          "message": "Venue successfully created."
        }Copy to clipboard
- Error responses:
    - 400 Bad Request

            {
              "message": "Venue label must contain only Unicode letters, numbers, spaces, underscores (_), hash (#), hyphens (-), commas (,), and periods (.)"
            }
            {
              "message": "latitude: This field is required."
            }
            {
              "message": "latitude: A valid number is required."
            }
            {
              "message": "Latitude must be between -90 and 90."
            }
            {
              "message": "longitude: This field is required."
            }
            {
              "message": "longitude: A valid number is required."
            }
            {
              "message": "Longitude must be between -180 and 180."
            }
            {
              "message": "label: This field is required."
            }
            {
              "message": "label: This field may not be blank."
            }
            {
              "message": "label: Ensure this field has no more than 200 characters."
            }
            {
              "message": "customerVenueId: This field may not be blank."
            }
            {
              "message": "customerVenueId: 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
    - 409 Conflict

            {
              "message": "Failed to create/update venue, duplicate venue label."
            }
            {
              "message": "Failed to create/update venue, duplicate customerVenueId."
            }Copy to clipboard
    - 500 Internal Server Error

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

## GET /venues

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

Retrieves all the venues associated with the authenticated project.

**Request headers**

    Content-Type: application/jsonCopy to clipboard

**Query parameters**

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `customerVenueId` | String | No | Filters venues by an exact customer-provided venue identifier.<br><ul class="ul" id="get-venues__ul_j44_2cq_hjc"><br>                                    <li class="li">If no match is found, an empty list is returned. </li><br><br>                                    <li class="li">If omitted, all venues are returned (existing behavior).<br>                                    </li><br><br>                                </ul> |
| `pageNumber` | Integer | Yes, if paginated response is required; else No. | 1-based page index.<br><ul class="ul" id="get-venues__ul_ctt_rhq_hjc"><br>                                    <li class="li">If provided, response is paginated.</li><br><br>                                    <li class="li">Maximum: 500</li><br><br>                                </ul> |
| `pageSize` | Integer | No | Number of items per page.<br><ul class="ul" id="get-venues__ul_irh_ncq_hjc"><br>                                    <li class="li">Applicable only to paginated responses when<br>                                            <code class="ph codeph">pageNumber</code> is specified. </li><br><br>                                    <li class="li">Default: 50</li><br><br>                                    <li class="li">Maximum: 500</li><br><br>                                </ul> |
| `ordering` | String | No | Sort field and direction.<br><ul class="ul" id="get-venues__ul_jq1_vhq_hjc"><br>                                    <li class="li">Applicable only to paginated responses.</li><br><br>                                    <li class="li">Default: -modified (most recent first)</li><br><br>                                </ul> |

**Response fields**

| Field | Type | Values | Description |
| --- | --- | --- | --- |
| `venueId` | Integer |  | Unique venue identifier |
| `label` | String |  | Venue name or label |
| `customerVenueId` | String |  | Customer-defined venue identifier |
| `numFloors` | Integer |  | Number of floors in this venue |
| `surveyState` | String | <ul class="ul" id="get-venues__ul_izc_trn_4hc"><br>                                    <li class="li">INACTIVE</li><br><br>                                    <li class="li">ACTIVATING</li><br><br>                                    <li class="li">ACTIVE</li><br><br>                                    <li class="li">DEACTIVATING</li><br><br>                                </ul> | Current venue survey state |
| `latitude` | Float |  | Latitude coordinate |
| `longitude` | Float |  | Longitude coordinate |
| `created` | Integer |  | Unix timestamp of creation |
| `modified` | Integer |  | Unix timestamp of last modification |

**Response**

- Success response: 200 OK

        {
            "venueId": 123,
            "label": "Building A",
            "customerVenueId": "venue_001",
            "numFloors": 2,
            "surveyState": "ACTIVE",
            "latitude": 37.7749,
            "longitude": -122.4194,
            "created": 1698765432,
            "modified": 1698765432
          },
          {
            "venueId": 124,
            "label": "Building B",
            "customerVenueId": "venue_002",
            "numFloors": 5,
            "surveyState": "INACTIVE",
            "latitude": 37.7750,
            "longitude": -122.4195,
            "created": 1698765433,
            "modified": 1698765433
          }Copy to clipboard
- Response (paginated)

        {
          "pageNumber": 1,
          "pageSize": 50,
          "totalPages": 1,
          "totalResults": 2,
          "results": [
            {
              "venueId":123,
              "label":"Building A",
              "customerVenueId":"venue_001",
              "numFloors": 2,
              "surveyState": "ACTIVE",
              "latitude":37.7749,
              "longitude":-122.4194,
              "created":1698765432,
              "modified":1698765432
            },
            {
              "venueId":124,
              "label":"Building B",
              "customerVenueId":"venue_002",
              "numFloors": 5,
              "surveyState": "INACTIVE",
              "latitude":37.7750,
              "longitude":-122.4195,
              "created":1698765433,
              "modified":1698765433
            }
          ]
        }Copy to clipboard
- Error response:
    - 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
    - 500 Internal Server Error

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

## GET /venues/{venueId}

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

Retrieves the details of a specific venue by ID.

**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 |
| --- | --- | --- | --- |
| `venueId` | Integer |  | Unique venue identifier |
| `label` | String |  | Venue name or label |
| `customerVenueId` | String |  | Customer-defined venue identifier |
| `numFloors` | Integer |  | Number of floors in this venue |
| `surveyState` | String | <ul class="ul" id="get-venues-venueid__ul_izc_trn_4hc"><br>                                    <li class="li">INACTIVE</li><br><br>                                    <li class="li">ACTIVATING</li><br><br>                                    <li class="li">ACTIVE</li><br><br>                                    <li class="li">DEACTIVATING</li><br><br>                                </ul> | Current venue survey state |
| `latitude` | Float |  | Latitude coordinate |
| `longitude` | Float |  | Longitude coordinate |
| `created` | Integer |  | Unix timestamp of creation |
| `modified` | Integer |  | Unix timestamp of last modification |

**Response**

- Success response: 200 OK

        {
          "venueId": 123,
          "label": "Building A",
          "customerVenueId": "venue_001",
          "numFloors": 2,
          "surveyState": "ACTIVE",
          "latitude": 37.7749,
          "longitude": -122.4194,
          "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> 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 Venue details."
            }Copy to clipboard

## PUT /venues/{venueId}

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

Updates the details of a specific venue by ID.

**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": "Building A - Updated",
      "customerVenueId": "venue_001_updated",
      "latitude": 37.7750,
      "longitude": -122.4195
    }Copy to clipboard

**Request body parameters**

| Parameter | Type | Values | Description |
| --- | --- | --- | --- |
| `label` | String |  | (Optional) Venue name or label |
| `customerVenueId` | String |  | (Optional) Customer-defined venue identifier |
| `latitude` | Float | -90 to 90 | (Optional) Latitude coordinate |
| `longitude` | Float | -180 to 180 | (Optional) Longitude coordinate |

**Response**

- Success response: 200 OK

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

            {
              "message": "Venue label must contain only alphanumeric characters, spaces, underscore (_), #, and hyphen (-)"
            }
            {
              "message": "latitude: A valid number is required."
            }
            {
              "message": "longitude: A valid number is required."
            }
            {
              "message": "label: This field may not be blank."
            }
            {
              "message": "customerVenueId: This field may not be blank."
            }
            {
              "message": "customerVenueId: 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 id <venueId> not found or not associated with this project."
            }Copy to clipboard
    - 409 Conflict

            {
              "message": "Failed to create/update venue, duplicate venue label."
            }
            {
              "message": "Failed to create/update venue, duplicate customerVenueId."
            }Copy to clipboard
    - 500 Internal Server Error

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

## DELETE /venues/{venueId}

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

Deletes a venue by ID. Can't delete a venue if it has an active survey.

**Path parameters**

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

**Request headers**

    Content-Type: application/jsonCopy to clipboard

**Response**

- Success response: 200 OK

        {
          "message": "Venue 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 with id <venueId> not found or not associated with this project."
            }
            {
              "message": "The requested resource was not found."
            }Copy to clipboard
    - 409 Conflict

            {
              "message": "Cannot delete Venue: <venueId>. Venue 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
Indoor API headers and authentication](https://docs.qualcomm.com/bundle/publicresource/80-42204-2/topics/indoor-api-headers-and-authentication.md) [Next Topic
Floor management APIs](https://docs.qualcomm.com/bundle/publicresource/80-42204-2/topics/floor-management-apis.md)