# Survey session management APIs
Source: [https://docs.qualcomm.com/doc/80-42204-2/topic/survey-session-management-api.html](https://docs.qualcomm.com/doc/80-42204-2/topic/survey-session-management-api.html)
The following table lists the indoor API to manage the survey sessions.
| Method | Endpoint | Description | Success code | Error codes |
| --- | --- | --- | --- | --- |
| [POST](https://docs.qualcomm.com/doc/80-42204-2/topic/survey-session-management-api.html#post-venues-venueid-survey-sessions) | `/venues/{venueId}/survey-sessions` | Create survey session(s) | 201 Created |
- 400 Bad Request
- 401 Unauthorized
- 403 Forbidden
- 404 Venue Not Found
- 413 Request Entity Too Large
- 500 Internal Server Error
|
## POST /venues/{venueId}/survey-sessions
Source: [https://docs.qualcomm.com/doc/80-42204-2/topic/survey-session-management-api.html](https://docs.qualcomm.com/doc/80-42204-2/topic/survey-session-management-api.html)
Creates one or more survey sessions for a venue. Accepts either a single object or an
array of objects.
**Path parameters**
| Parameter | Type | Values | Description |
| --- | --- | --- | --- |
| `venueId` | Integer | | The ID of the venue |
**Request headers**
Content-Type: application/jsonCopy to clipboard
**Request body for single session**
{
"floorId": 456,
"path": "s3://bucket/path/to/session.zip",
"size": 1048576,
"configuration": "config_001",
"deviceManufacturer": "Samsung",
"deviceModel": "Galaxy S21",
"deviceId": "1a2b3c4d5e6f",
"generation": 1,
"gtName": "ground_truth_01",
"stats": {
"duration": 300,
"distance": 150.5
}Copy to clipboard
**Request body for multiple sessions**
[
{
"floorId": 456,
"path": "s3://bucket/path/to/session1.zip",
"size": 1048576,
"configuration": "config_001",
"deviceManufacturer": "Samsung",
"deviceModel": "Galaxy S21",
"deviceId": "1a2b3c4d5e6f",
"generation": 1,
"stats": {
"duration": 300,
"distance": 150.5
}
},
{
"floorId": 457,
"path": "s3://bucket/path/to/session2.zip",
"size": 2097152,
"configuration": "config_002",
"deviceManufacturer": "Apple",
"deviceModel": "iPhone 13",
"deviceId": "a1b2c3d4e5f6",
"generation": 1,
"stats": {
"duration": 500,
"distance": 350.5
}
}
]Copy to clipboard
**Request body parameters**
| Parameter | Type | Values | Description |
| --- | --- | --- | --- |
| `floorId` | Integer | | ID of the floor for this session |
| `path` | String | | S3 path to survey session data. The path must end with
`.zip`. |
| `size` | Integer | Minimum: 1 byte | Size of the session file in bytes |
| `configuration` | String | Must contain alphanumeric characters, underscore (\_), and hyphen
(-) only. | Configuration identifier |
| `deviceManufacturer` | String | | Device manufacturer name |
| `deviceModel` | String | | Device model name |
| `deviceId` | String | Must contain hexadecimal characters only. | Device identifier |
| `generation` | Integer (optional) |
- Minimum value: 1
- Default: 1
| Collection generation number |
| `gtName` | String (optional) | Must contain alphanumeric characters, underscore (\_), and hyphen
(-) only. | Ground truth name |
| `stats` | Object (optional) | | JSON object for internal tracking and diagnostics; structure may
vary by release. |
**Response**
- Success responses:
- Single session: 201 Created
{
"sessionId": 1001,
"message": "Survey session successfully created."
}Copy to clipboard
- Multiple sessions: 201
Created
{
"sessionIds": [1001, 1002],
"message": "Successfully created 2 survey sessions."
}Copy to clipboard
- Error responses:
- 400 Bad Request
{
"message": "floorId: This field is required."
}
{
"message": "path: This field is required."
}
{
"message": "size: This field is required."
}
{
"message": "size: Ensure this value is greater than or equal to 1."
}
{
"message": "configuration: This field is required."
}
{
"message": "configuration: Ensure this field has no more than 50 characters."
}
{
"message": "deviceId: This field is required."
}
{
"message": "deviceManufacturer: Ensure this field has no more than 256 characters."
}
{
"message": "deviceModel: Ensure this field has no more than 256 characters."
}
{
"message": "generation: A valid integer is required."
}
{
"message": "Array of survey sessions cannot be empty. Please provide at least one survey session."
}
{
"message": "Floor with id 999999 not found in venue $EXTRACTED_VENUE_ID."
}
{
"message": "Configuration must contain only alphanumeric characters, underscore (_), and hyphen (-)."
}
{
"message": "deviceId must contain only hexadecimal characters (0-9, a-f, A-F)."
}
{
"message": "Request body cannot be empty. Please provide survey session data."
}
{
"message": "Duplicate paths found in survey session request."
}
{
"message": "Survey session path must end with .zip extension."
}
{
"message": "gtName must contain only alphanumeric characters, underscore (_), and hyphen (-)."
}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 with id not found or not associated with this project."
}Copy to clipboard
- 409 Conflict
{
"message": "Duplicate paths found in survey session request."
}
{
"message": "Survey sessions with paths already exist: ."
}Copy to clipboard
- 413 Request Entity Too Large
{
"message": "Array of survey sessions exceeds maximum limit of 100. Provided: 110 items."
}Copy to clipboard
- 500 Internal Server Error
{
"message": "An unexpected error occurred while creating survey session."
}Copy to clipboard
Last Published: May 19, 2026
[Previous Topic
Floor plan management APIs](https://docs.qualcomm.com/bundle/publicresource/80-42204-2/topics/floor-plan-management-apis.md) [Next Topic
Survey management APIs](https://docs.qualcomm.com/bundle/publicresource/80-42204-2/topics/survey-management-apis.md)