Skip to main content

Understanding DUMP Messages

DUMP message types explained visually

The DUMP (Dronetag Unified Message Protocol) is Dronetag's internal messaging format, used consistently across all our services. Whether you are interacting with our REST API, Socket.io, or integrating through our portal, you can rely on DUMP to be the standard data exchange format.

The current version is DUMP v1.

DUMP supports the following message types:

The details of these message types, including when and how they are used, are explained further below.

Note on Consistency Across Services

Although we aim for full consistency, some services may still use older message formats. We are actively working on migrating all services to the DUMP format, but backward compatibility with older APIs is required for now. Until we fully deprecate v1 APIs, you might encounter formats that are not DUMP-compliant.

DUMP Message Types

Operation (or OperationUpdate)

See JSON Schema Preview
PropertyTypeDescriptionRequired
idstringUnique operation ID (typically in the form of a UUID)Yes
statusObject 'DUMPOperationStatus'Current operation statusYes
sensor_idstringThe unique identifier for the sensor or device of this operation.Yes
uas_operator_idanyID of the UAS operator (typically in the form of a UUID)No
ua_classificationanyTODONo
ua_classification_typeanyTODONo
ua_identifiersarray of 'DUMPUAIdentifier' objectsCollection of UA identifiersNo
authenticationarray of 'DUMPSignature' objectsCollection of signatures to prove authenticityNo
descriptionsarray of 'DUMPOperationDescription' objectsCollection of various operation descriptions, for example for the purpose of verbosely describing state of the operationNo
warningsarray of 'DUMPWarning' objectsA list of warnings related to the operation. These warnings are usually produces while receiving the telemetry data which are non-compliant or has problematic values. For example, if the telemetry data contains invalid fields or timestamps, a warning will be generated.No

📋 See the full schema JSON schema in our API documentation


An Operation message contains static information about a specific flight. The purpose of separating this data into an operation object is to avoid repeating unchanged information, such as the drone’s serial number or the Remote ID (RID) module’s ID, in every telemetry message.

It’s important to understand that a single operation may not always correspond directly to a single flight. In cases where a flight is recorded using multiple systems—like a combination of Network Remote ID and ground-based Direct Remote ID receivers—the flight might be divided into multiple operations.

The difference between Operation and OperationUpdate is significant. The Operation message represents the full state of the flight at the time of the request and is returned when you query through the REST API. On the other hand, OperationUpdate messages represent partial updates, sent primarily in real-time scenarios (e.g., via Socket.io or our integration portal). OperationUpdate only includes recent changes, not the entire state.

Example

{
"id": "a45cb00e-b600-4111-bd52-42537c28feb3",
"status": "current",
"uas_operator_id": "FIN87astrdge12k8",
"ua_classification": "class1",
"ua_classification_type": "open",
"ua_identifiers": [
{
"type": "serial_number",
"value": "15968AB92D361"
},
{
"type": "caa_assigned",
"value": "JA.JU12345ABCDE"
}
],
"authentication": [],
"descriptions": []
}

Telemetry-UA

See JSON Schema Preview
PropertyTypeDescriptionRequired
timestampstring (date-time)The original telemetry timestamp. Time from GNSS receiver (UTC)Yes
timestamp_accuracynumberTimestamp accuracy (max. error) [s]No
sensor_idstringThe unique identifier for the sensor or device that originally received the telemetry data. In Telemetry-System messages, this field specifies the originating system.Yes
operation_idstringOperation ID (typically in the form of a UUID)Yes
operational_stateObject 'DUMPOperationalState'UA’s current stateYes
locationanyUA’s location from GNSSNo
altitudesarray of 'DUMPAltitude' objectsCollection of altitudesNo
velocityanyUA’s velocity and speed related informationNo
air_pressureanyMeasured air pressure [hPa]No

📋 See the full schema JSON schema in our API documentation


The Telemetry-UA message is the primary data object for Remote ID. It provides a snapshot of the unmanned aircraft’s (UA) geographical position, status, and other relevant information required by Remote ID regulations.

Each Telemetry-UA message is associated with an Operation through the operation_id field. Every Remote ID-enabled device generates Telemetry-UA messages during operation.

Example

{
"operation_id": "a45cb00e-b600-4111-bd52-42537c28feb3",
"timestamp": "2024-10-05T10:15:06.100Z",
"timestamp_accuracy": 0.1,
"operational_state": "airborne",
"location": {
"latitude": 50.073873, "longitude": 14.466586, "accuracy": 50
},
"altitudes": [
{ "type": "WGS84", "value": 192.5, "accuracy": 10 },
{ "type": "QNE", "value": 323.1, "accuracy": 0.5 },
{ "type": "AGL", "value": -10.0, "accuracy": 0.5 }
],
"velocity": {
"heading": 92, "horizontal_speed": 9.72, "vertical_speed": 1.22, "speed_accuracy": 0.5
},
"air_pressure": 1017.712
}

Telemetry-Operator

See JSON Schema Preview
PropertyTypeDescriptionRequired
timestampstring (date-time)The original telemetry timestamp. Time from GNSS receiver (UTC)Yes
timestamp_accuracynumberTimestamp accuracy (max. error) [s]No
sensor_idstringThe unique identifier for the sensor or device that originally received the telemetry data. In Telemetry-System messages, this field specifies the originating system.Yes
operation_idstringOperation ID (typically in the form of a UUID)Yes
locationObject 'DUMPLocation'Location from GNSSYes
altitudeObject 'DUMPAltitude'Operator’s altitudeYes
source_typeObject 'DUMPOperatorSourceType'The nature of the operator’s positionYes

📋 See the full schema JSON schema in our API documentation


The Telemetry-Operator message tracks the operator’s location. Some UAV systems report the pilot’s real-time position through their control equipment. Standard Remote ID drones can provide operator tracking, while Remote ID modules typically only supply the takeoff location.

Example

{
"operation_id": "a45cb00e-b600-4111-bd52-42537c28feb3",
"timestamp": "2024-10-05T10:15:06.100Z",
"timestamp_accuracy": 0.1,
"location": {
"latitude": 50.073873, "longitude": 14.466586, "accuracy": 50
},
"altitude": {
"type": "WGS84", "value": 202.5, "accuracy": 10
},
"source_type": "take_off"
}

Telemetry-System

See JSON Schema Preview
PropertyTypeDescriptionRequired
timestampstring (date-time)The original telemetry timestamp. Time from GNSS receiver (UTC)Yes
timestamp_accuracynumberTimestamp accuracy (max. error) [s]No
sensor_idstringThe unique identifier for the sensor or device that originally received the telemetry data. In Telemetry-System messages, this field specifies the originating system.Yes
operation_idanyOperation ID (typically in the form of a UUID) Optional, as Telemetry-SYSTEM are linked to Operations only in specific cases, such as the System being the NRI (Network Remote ID) system.No
system_typeObject 'DUMPSystemType'Type of the deviceYes
system_statusObject 'DUMPSystemStatus'Current system stateYes
locationanyThe current system locationNo
altitudeanyThe current system altitudeNo
power_sourceanyCurrent system’s power source and its stateNo
lte_connectivityanyCurrent system’s LTE connection and its stateNo
gnss_connectivityanyCurrent system’s GNSS connection and its stateNo

📋 See the full schema JSON schema in our API documentation


The Telemetry-System message provides information about the status of the Remote ID module itself, rather than the aircraft. It includes details on battery charge, GNSS connectivity, LTE signal, and other system parameters. Currently, only Dronetag devices generate Telemetry-System messages.

Example

{
"operation_id": "a45cb00e-b600-4111-bd52-42537c28feb3",
"timestamp": "2024-10-05T10:15:06.100Z",
"timestamp_accuracy": 0.1,
"system_type": "rid_module",
"system_status": "operational",
"power_source": {
"type": "battery",
"input_voltage": 4.11,
"charge_percentage": 90,
"is_being_charged": false
},
"lte_connectivity": {
"status": "connected",
"rsrq": -10,
"rsrp": -97,
"snr": 9,
"tac": "291E",
"cell_id": "555CA02"
},
"gnss_connectivity": {
"status": "connected",
"satellites": 12
}
}