Flight State
This request will be sent when an online vehicle starts flying (FLIGHT_START) and when the vehicle lands (FLIGHT_END). If the vehicle loses connection during flight, it's possible that the FLIGHT_END request won't be received immediately. If the vehicle does not regain connection within one hour of the flight takeoff time, a FLIGHT_END message will be sent automatically.
Request Schema
event_type = "skydio.cloud.event.flight_state"
| Field | Type | Description |
|---|---|---|
| type | FLIGHT_START, FLIGHT_END | Whether this signifies the start or the end of a flight |
| time | ISO-formatted string | Time the flight started or ended |
| flight_id | string | Unique identifier of the flight |
| vehicle_serial | string | Unique identifier of the vehicle |
Example Payload
{
"id": "479b4057-bf9c-46e5-9ab8-258ac37f6362",
"event_type": "skydio.cloud.event.flight_state",
"event_time": "2022-12-28T18:13:43.583939+00:00",
"data": {
"resource": {
"type": "FLIGHT_START",
"time": "2022-12-28T18:13:43.583901+00:00",
"flight_id": "0A9F36D0122642D4BB8A519B00F61D5B",
"vehicle_serial": "Skydio-1234"
}
}
}Waypoint Progress
This request will be sent every time a vehicle progresses through a waypoint, and completes all of its associated actions, while executing a mission.
Request Schema
event_type = "skydio.cloud.event.waypoint_progress"
| Field | Type | Description |
|---|---|---|
| time | ISO-formatted string | Time the waypoint was passed |
| mission_template_uuid | UUID4-formatted string | Unique identifier of the mission template |
| vehicle_serial | string | Unique identifier of the vehicle |
| waypoint_index | integer | Index of waypoint passed |
| waypoint_uuid | UUID4-formatted string | Unique identifier of the waypoint passed |
Example Payload
{
"id": "279c15e4-6cfd-4664-8a49-3154741cd4d8",
"event_type": "skydio.cloud.event.waypoint_progress",
"event_time": "2023-03-14T23:44:44.741150+00:00",
"data": {
"resource": {
"time": "2023-03-14T23:44:44.348098+00:00",
"mission_template_uuid": "94e09795-3b02-457f-8e16-d50f9b94ec54",
"vehicle_serial": "Skydio-27JZ",
"waypoint_index": 2,
"waypoint_uuid": "7d2b43fe-e383-4c74-b94f-8c2aacb1b08a"
}
}
}Human Detected
Sent from an online vehicle when a human was detected by the front-facing camera. If this occurs while the vehicle is not connected to the internet, no request will be sent.
Request Schema
event_type = "skydio.cloud.event.device_alert"
| Field | Type | Description |
|---|---|---|
| alert_type | HUMAN_DETECTED | A human was detected |
| alert_time | ISO-formatted string | Time of detection |
| device | string | Contains device type and unique identifier |
| mission.mission_run_uuid | string | Contains the uuid of the mission run if the alert was triggered during a mission run |
Example Payload
{
"id": "479b4057-bf9c-46e5-9ab8-258ac37f6362",
"event_type": "skydio.cloud.event.device_alert",
"event_time": "2022-01-06T22:13:27.000+00:00",
"data": {
"resource": {
"alert_type": "HUMAN_DETECTED",
"alert_time": "2022-01-06T22:13:27.000+00:00",
"device": {
"type": "VEHICLE",
"id": "Skydio2-1234"
},
"mission": {
"mission_run_uuid": "acb6bdbb-349f-4637-b4e5-c8ff00e5098a"
}
}
}
}Mission Incomplete
Sent from an online vehicle when a mission fails to complete all of its actions. If this occurs while the vehicle is not connected to the internet, no request will be sent.
Request Schema
event_type = "skydio.cloud.event.device_alert"
| Field | Type | Description |
|---|---|---|
| alert_type | MISSION_INCOMPLETE | Mission has not completed |
| alert_time | ISO-formatted string | Time mission ended |
| device | string | Contains device type and unique identifier |
| mission_result | string | Reason for which the mission failed to complete |
| mission.mission_run_uuid | string | Contains the uuid of the mission run if the alert was triggered during a mission run |
Example Payload
{
"id": "479b4057-bf9c-46e5-9ab8-258ac37f6362",
"event_type": "skydio.cloud.event.device_alert",
"event_time": "2022-01-06T22:13:27.000+00:00",
"data": {
"resource": {
"alert_type": "MISSION_INCOMPLETE",
"alert_time": "2022-01-06T22:13:27.000+00:00",
"device": {
"type": "VEHICLE",
"id": "Skydio2-1234"
},
"mission": {
"mission_run_uuid": "acb6bdbb-349f-4637-b4e5-c8ff00e5098a"
},
"mission_result": "FAILED_WAYPOINT_ACTION"
}
}
}Scheduled Mission Failed Takeoff
Sent from an online vehicle when it fails to takeoff for a scheduled mission. If this occurs while the vehicle is not connected to the internet, no request will be sent.
Request Schema
event_type = "skydio.cloud.event.device_alert"
| Field | Type | Description |
|---|---|---|
| alert_type | SCHEDULED_MISSION_FAILED_TAKEOFF | Scheduled mission failed to takeoff |
| alert_time | ISO-formatted string | Time of failure |
| device | string | Contains device type and unique identifier |
| mission.mission_run_uuid | string | Contains the uuid of the mission run if the alert was triggered during a mission run |
Example Payload
{
"id": "479b4057-bf9c-46e5-9ab8-258ac37f6362",
"event_type": "skydio.cloud.event.device_alert",
"event_time": "2022-01-06T22:13:27.000+00:00",
"data": {
"resource": {
"alert_type": "SCHEDULED_MISSION_FAILED_TAKEOFF",
"alert_time": "2022-01-06T22:13:27.000+00:00",
"device": {
"type": "VEHICLE",
"id": "Skydio2-1234"
},
"mission": {
"mission_run_uuid": "acb6bdbb-349f-4637-b4e5-c8ff00e5098a"
}
}
}
}Dock Error
Sent from an online vehicle when an error occurs during returning to or landing at dock. If this occurs while the vehicle is not connected to the internet, no request will be sent.
Request Schema
event_type = "skydio.cloud.event.device_alert"
| Field | Type | Description |
|---|---|---|
| alert_type | DOCK_ERROR | Error occured |
| alert_time | ISO-formatted string | Time of failure |
| device | string | Contains device type and unique identifier |
| dock_error_type | string | Reason for which the Dock error occured |
| mission.mission_run_uuid | string | Contains the uuid of the mission run if the alert was triggered during a mission run |
Example Payload
{
"id": "479b4057-bf9c-46e5-9ab8-258ac37f6362",
"event_type": "skydio.cloud.event.device_alert",
"event_time": "2022-01-06T22:13:27.000+00:00",
"data": {
"resource": {
"alert_type": "DOCK_ERROR",
"alert_time": "2022-01-06T22:13:27.000+00:00",
"device": {
"type": "VEHICLE",
"id": "Skydio2-1234"
},
"mission": {
"mission_run_uuid": "acb6bdbb-349f-4637-b4e5-c8ff00e5098a"
},
"dock_error_type": "LANDED_OUTSIDE_DOCK"
}
}
}Online Status
This request will be sent when a device (vehicle or dock) connects or disconnects from the internet.
A device is considered offline when it disconnects from the internet for a period of at least 15 seconds. If a device disconnects for less than 15 seconds, no requests will be sent.
Request Schema
event_type = "skydio.cloud.event.online_status"
| Field | Type | Description |
|---|---|---|
| time | ISO-formatted string | Time of online status change |
| device | string | Contains device type and unique identifier |
| is_online | boolean | Whether the device is now online (true) or offline (false) |
Example Payload
{
"id": "479b4057-bf9c-46e5-9ab8-258ac37f6362",
"event_type": "skydio.cloud.event.online_status",
"event_time": "2022-01-06T22:13:27.000+00:00",
"data": {
"resource": {
"time": "2022-01-06T22:13:27.000+00:00",
"device": {
"type": "VEHICLE",
"id": "Skydio2-1234"
},
"is_online": true
}
}
}Media File Available
This request will be sent when a media file is uploaded to Skydio Cloud.
Request Schema
event_type = "skydio.cloud.event.media_file_available"
| Field | Type | Description |
|---|---|---|
| time | ISO-formatted string | Time of online status change |
| flight_id | string | UUID for the flight |
| file_kind | string | Type of file uploaded. One of [vehicleImage, vehicleImageDng, vehicleIrImage, vehicleRadiometricImage, vehicleVideoPreview, vehicleVideoRaw, videoTelemetryCsv] |
| file_uuid | string | UUID for the media file |
| filename | string | File name for the media file |
Example Payload
{
"data": {
"resource": {
"file_kind": "vehicleImage",
"file_uuid": "f4b45fed-823c-4f9a-bf4c-81d8db461a1b",
"filename": "s1000566.jpg",
"flight_id": "74B2BA89F7A14A4CB32F4EA3A3E0673E"
}
},
"event_time": "2023-08-17T18:30:23.937262+00:00",
"event_type": "skydio.cloud.event.media_file_available",
"id": "4c8734a4-a678-45a4-8583-cd61c8a8cd82"
}Media Available for Scan
This request will be sent when all media for a scan is uploaded to Skydio Cloud.
Request Schema
event_type = "skydio.cloud.event.media_available_for_scan"
| Field | Type | Description |
|---|---|---|
| scan_id | string | UUID for the Scan |
| scan_name | string | Pilot-provided name for the Scan |
| scan_time | ISO-formatted string | Time of scan |
| scan_mode | string | Type of scan (example: "Map Capture") |
| photo_count | int | Number of media files uploaded |
Example Payload
{
"data": {
"resource": {
"scan_id": "f2186229-410b-4120-a464-20cd3b49267a",
"scan_name": "Container",
"scan_mode":"Map Capture",
"scan_time": "2023-08-17T16:54:45.869551+00:00",
"photo_count": "246"
}
},
"event_time": "2023-08-17T18:30:23.937262+00:00",
"event_type": "skydio.cloud.event.media_available_for_scan",
"id": "4c8734a4-a678-45a4-8583-cd61c8a8cd82"
}Flight Telemetry Available
This request will be sent when a vehicle finishes uploading the telemetry log for a flight to Skydio Cloud and telemetry information is available via the API.
Request Schema
event_type = "skydio.cloud.event.telemetry_available"
| Field | Type | Description |
|---|---|---|
| file_uuid | string | UUID for the telemetry file |
| flight_id | string | ID for the flight |
| vehicle_serial | string | Contains the serial for the vehicle |
Example Payload
{
"data": {
"resource": {
"file_uuid": "f4b45fed-823c-4f9a-bf4c-81d8db461a1b",
"flight_id": "74B2BA89F7A14A4CB32F4EA3A3E0673E",
"vehicle_serial": "Skydio2-1234"
}
},
"event_time": "2023-08-17T18:30:23.937262+00:00",
"event_type": "skydio.cloud.event.telemetry_available",
"id": "4c8734a4-a678-45a4-8583-cd61c8a8cd82"
}Live Stream Status
This request will be sent when a device begins or ends live streaming.
A device begins live streaming when:
- A pilot hits the "Start Live Stream" button on the device's controller or the Skydio Enterprise App
- A Skydio Cloud user hits the "Start Live Stream" button for a vehicle
- A docked vehicle begins a flight
A device stops live streaming when:
- A pilot hits the "End Live Stream" button
- A Skydio Cloud User hits the "End Live Stream" button
- A docked vehicle ends a flight
- A vehicle loses connection to its controller
- A vehicle or its controller is powered off
Request Schema
event_type = "skydio.cloud.event.live_stream_status_changed"
| Field | Type | Description |
|---|---|---|
| live_stream_status | string | Contains LIVE_STREAM_START or LIVE_STREAM_END |
| rtsp_url | string | Contains the URL for accessing a vehicle's stream via RTSPS (only available if RTSP LIve Streaming is available for the organization) |
| stream_type | string | Contains color or thermal |
| vehicle_serial | string | Contains the serial for the vehicle |
Example Payload
{
"data": {
"resource": {
"live_stream_status": "LIVE_STREAM_START",
"rtsp_url":"rtsps://stream.skydio.com/Skydio2-1234/color",
"stream_type": "color",
"vehicle_serial": "Skydio2-1234"
}
},
"event_time": "2023-08-17T18:30:23.937262+00:00",
"event_type": "skydio.cloud.event.live_stream_status_changed",
"id": "4c8734a4-a678-45a4-8583-cd61c8a8cd82"
}