Dronetag Cloud Platform API Documentation (v2-beta)

Download OpenAPI specification:Download

Welcome to the Dronetag Cloud Platform API Documentation. Here, you will find detailed information on endpoints, request and response formats, authentication methods, and examples to help you effectively utilize our API.

To learn more on how to best use our APIs, please read our Developers documentation on our help website

Telemetry

The Telemetry API provides access to the current telemetry data for UAs, Operators, and Systems. This allows users to monitor real-time information about flight status, location and other Remote ID information.

Retrieve historical operator telemetry

The response is streamed when using Accept header values application/x-ndjson, application/gpx+xml, application/vnd.google-earth.kml+xml, or text/csv.

Authorizations:
OAuth2AuthorizationCodeBearer
query Parameters
From (string) or From (string) or From (null) (From)
Examples: from=2024-03-04T11:00:00Z from=-01:00:00 from=-PT1H

Absolute or relative date range start (ISO8601 datetime or duration string). Optional only when making a request with operation_id set.

To (string) or To (string) or To (null) (To)
Examples: to=2024-03-04T11:55:00Z to=-00:05:00 to=-PT5M

Absolute or relative date range end (ISO8601 datetime or duration string). Current datetime is used when left empty.

Bbox (string) or Bbox (null) (Bbox)
Examples: bbox=14.383,50.100,14.394,50.106

Bounding box coordinates (lon_min, lat_min, lon_max, lat_max). This parameter is applied on the operation level, which means that all operation telemetry will be returned if it intersects the bounding box with at least one datapoint.

Operation Id (string) or Operation Id (null) (Operation Id)

If not empty, filter telemetry by a specific operation If globalize=true this parameter is the global operation ID and must be a valid UUID,if it is false then this parameter is the (sub)operation ID.

Uas Id (string) or Uas Id (null) (Uas Id)

If not empty, filter telemetry to a specific UAS ID

Sensor Id (string) or Sensor Id (null) (Sensor Id)

If not empty, filter telemetry by a specific sensor ID

Limit (integer) or Limit (null) (Limit)

When not using streamed format the default value is 100 with the maximum allowed value of 1000. Streamed formats do not have upper bound and no limit is applied by default.

offset
integer (Offset) >= 0
Default: 0
PublicTelemetryOrderingEnum (string) or Order (null) (Order)
Default: "time"
Examples: order=time order=-time

Note that when using Accept header with application/vnd.google-earth.kml+xml or application/gpx+xml it must be set to time.

Globalize (boolean) or Globalize (null) (Globalize)

If set to true, data will be presented under the global operation, which is the desired behaviour. Unglobalized data (set to false) can lead to incomplete dataset being presented. If left unset the endpoint itself will determine whether to present globalized or unglobalized data.

exclude_public
boolean (Exclude Public)
Default: false

If set, only the data you explicitly have access to will be part of the result. This is useful if you only want to see or export your data.

header Parameters
accept
string (GeoExportAcceptHeader)
Default: application/json
Enum: "*/*" "application/json" "application/x-ndjson" "text/csv" "application/gpx+xml" "application/vnd.google-earth.kml+xml"

Responses

Response samples

Content type
[
  • {
    }
]

Retrieve latest Operator telemetry per operation on global scale

Returns last reported Operator telemetry per operation on a global scale and inside a limited time window. This endpoint is intended to provide approximate location of an ongoing operations when viewing larger regions.

This endpoint allows querying data on a geographical scale that surpasses the otherwise imposed size limit of the bounding box. The trade-offs are:

  • only "live" view is supported (no historical data beyond the fixed time window)
  • single telemetry per operation
  • data are cached and can be stale, up to 10.0 seconds (when compared to sockets or other telemetry endpoints)
  • limited data format (only a subset of otherwise used DUMP format)
  • limited query options
Authorizations:
OAuth2AuthorizationCodeBearer
query Parameters
Bbox (string) or Bbox (null) (Bbox)
Examples: bbox=14.383,50.100,14.394,50.106

Bounding box coordinates (lon_min, lat_min, lon_max, lat_max).

max_age
integer (Max Age) ( 0 .. 30 ]
Default: 30
Examples: max_age=15

The maximum allowed age of the returned telemetry in minutes.

globalize
boolean (Globalize)
Default: true

If set data will be presented under the global operation, which is the desired default behaviour. Unglobalized data can lead to incomplete dataset being presented.

header Parameters
accept
string (Accept)
Default: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve historical system telemetry

The response is streamed when using Accept header values application/x-ndjson, application/gpx+xml, application/vnd.google-earth.kml+xml, or text/csv.

Note that since the location is optional for system telemetry, the data points without it will be omitted when using the application/vnd.google-earth.kml+xml or application/gpx+xml.

Authorizations:
OAuth2AuthorizationCodeBearer
query Parameters
From (string) or From (string) or From (null) (From)
Examples: from=2024-03-04T11:00:00Z from=-01:00:00 from=-PT1H

Absolute or relative date range start (ISO8601 datetime or duration string). Optional only when making a request with operation_id set.

To (string) or To (string) or To (null) (To)
Examples: to=2024-03-04T11:55:00Z to=-00:05:00 to=-PT5M

Absolute or relative date range end (ISO8601 datetime or duration string). Current datetime is used when left empty.

Bbox (string) or Bbox (null) (Bbox)
Examples: bbox=14.383,50.100,14.394,50.106

Bounding box coordinates (lon_min, lat_min, lon_max, lat_max). This parameter is applied on the operation level, which means that all operation telemetry will be returned if it intersects the bounding box with at least one datapoint.

Operation Id (string) or Operation Id (null) (Operation Id)

If not empty, filter telemetry by a specific operation If globalize=true this parameter is the global operation ID and must be a valid UUID,if it is false then this parameter is the (sub)operation ID.

Uas Id (string) or Uas Id (null) (Uas Id)

If not empty, filter telemetry to a specific UAS ID

Sensor Id (string) or Sensor Id (null) (Sensor Id)

If not empty, filter telemetry by a specific sensor ID

Limit (integer) or Limit (null) (Limit)

When not using streamed format the default value is 100 with the maximum allowed value of 1000. Streamed formats do not have upper bound and no limit is applied by default.

offset
integer (Offset) >= 0
Default: 0
PublicTelemetryOrderingEnum (string) or Order (null) (Order)
Default: "time"
Examples: order=time order=-time

Note that when using Accept header with application/vnd.google-earth.kml+xml or application/gpx+xml it must be set to time.

Globalize (boolean) or Globalize (null) (Globalize)

If set to true, data will be presented under the global operation, which is the desired behaviour. Unglobalized data (set to false) can lead to incomplete dataset being presented. If left unset the endpoint itself will determine whether to present globalized or unglobalized data.

exclude_public
boolean (Exclude Public)
Default: false

If set, only the data you explicitly have access to will be part of the result. This is useful if you only want to see or export your data.

header Parameters
accept
string (GeoExportAcceptHeader)
Default: application/json
Enum: "*/*" "application/json" "application/x-ndjson" "text/csv" "application/gpx+xml" "application/vnd.google-earth.kml+xml"

Responses

Response samples

Content type
[
  • {
    }
]

Retrieve latest System telemetry per operation on global scale

Returns last reported System telemetry per operation on a global scale and inside a limited time window. This endpoint is intended to provide approximate location of an ongoing operations when viewing larger regions.

This endpoint allows querying data on a geographical scale that surpasses the otherwise imposed size limit of the bounding box. The trade-offs are:

  • only "live" view is supported (no historical data beyond the fixed time window)
  • single telemetry per operation
  • data are cached and can be stale, up to 10.0 seconds (when compared to sockets or other telemetry endpoints)
  • limited data format (only a subset of otherwise used DUMP format)
  • limited query options
Authorizations:
OAuth2AuthorizationCodeBearer
query Parameters
Bbox (string) or Bbox (null) (Bbox)
Examples: bbox=14.383,50.100,14.394,50.106

Bounding box coordinates (lon_min, lat_min, lon_max, lat_max).

max_age
integer (Max Age) ( 0 .. 30 ]
Default: 30
Examples: max_age=15

The maximum allowed age of the returned telemetry in minutes.

globalize
boolean (Globalize)
Default: true

If set data will be presented under the global operation, which is the desired default behaviour. Unglobalized data can lead to incomplete dataset being presented.

header Parameters
accept
string (Accept)
Default: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve historical UA telemetry

The response is streamed when using Accept header values application/x-ndjson, application/gpx+xml, application/vnd.google-earth.kml+xml, or text/csv.

Authorizations:
OAuth2AuthorizationCodeBearer
query Parameters
From (string) or From (string) or From (null) (From)
Examples: from=2024-03-04T11:00:00Z from=-01:00:00 from=-PT1H

Absolute or relative date range start (ISO8601 datetime or duration string). Optional only when making a request with operation_id set.

To (string) or To (string) or To (null) (To)
Examples: to=2024-03-04T11:55:00Z to=-00:05:00 to=-PT5M

Absolute or relative date range end (ISO8601 datetime or duration string). Current datetime is used when left empty.

Bbox (string) or Bbox (null) (Bbox)
Examples: bbox=14.383,50.100,14.394,50.106

Bounding box coordinates (lon_min, lat_min, lon_max, lat_max). This parameter is applied on the operation level, which means that all operation telemetry will be returned if it intersects the bounding box with at least one datapoint.

Operation Id (string) or Operation Id (null) (Operation Id)

If not empty, filter telemetry by a specific operation If globalize=true this parameter is the global operation ID and must be a valid UUID,if it is false then this parameter is the (sub)operation ID.

Uas Id (string) or Uas Id (null) (Uas Id)

If not empty, filter telemetry to a specific UAS ID

Sensor Id (string) or Sensor Id (null) (Sensor Id)

If not empty, filter telemetry by a specific sensor ID

Limit (integer) or Limit (null) (Limit)

When not using streamed format the default value is 100 with the maximum allowed value of 1000. Streamed formats do not have upper bound and no limit is applied by default.

offset
integer (Offset) >= 0
Default: 0
PublicTelemetryOrderingEnum (string) or Order (null) (Order)
Default: "time"
Examples: order=time order=-time

Note that when using Accept header with application/vnd.google-earth.kml+xml or application/gpx+xml it must be set to time.

Globalize (boolean) or Globalize (null) (Globalize)

If set to true, data will be presented under the global operation, which is the desired behaviour. Unglobalized data (set to false) can lead to incomplete dataset being presented. If left unset the endpoint itself will determine whether to present globalized or unglobalized data.

exclude_public
boolean (Exclude Public)
Default: false

If set, only the data you explicitly have access to will be part of the result. This is useful if you only want to see or export your data.

header Parameters
accept
string (GeoExportAcceptHeader)
Default: application/json
Enum: "*/*" "application/json" "application/x-ndjson" "text/csv" "application/gpx+xml" "application/vnd.google-earth.kml+xml"

Responses

Response samples

Content type
[
  • {
    }
]

Retrieve latest UA telemetry per operation on global scale

Returns last reported UA telemetry per operation on a global scale and inside a limited time window. This endpoint is intended to provide approximate location of an ongoing operations when viewing larger regions.

This endpoint allows querying data on a geographical scale that surpasses the otherwise imposed size limit of the bounding box. The trade-offs are:

  • only "live" view is supported (no historical data beyond the fixed time window)
  • single telemetry per operation
  • data are cached and can be stale, up to 10.0 seconds (when compared to sockets or other telemetry endpoints)
  • limited data format (only a subset of otherwise used DUMP format)
  • limited query options
Authorizations:
OAuth2AuthorizationCodeBearer
query Parameters
Bbox (string) or Bbox (null) (Bbox)
Examples: bbox=14.383,50.100,14.394,50.106

Bounding box coordinates (lon_min, lat_min, lon_max, lat_max).

max_age
integer (Max Age) ( 0 .. 30 ]
Default: 30
Examples: max_age=15

The maximum allowed age of the returned telemetry in minutes.

globalize
boolean (Globalize)
Default: true

If set data will be presented under the global operation, which is the desired default behaviour. Unglobalized data can lead to incomplete dataset being presented.

header Parameters
accept
string (Accept)
Default: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Operation

The Operation API enables users to retrieve detailed information about known flight operations.

Get list of operations

Note that the globalize parameter modifies the output schema. The default and desired behaviour is to use globalize=true. If globalize=false is used, the returned operations can be fragmented, i.e., there can be multiple separate operations that would normally be presented as one.

Authorizations:
OAuth2AuthorizationCodeBearer
query Parameters
required
From (string) or From (string) (From)
Examples: from=2024-03-04T11:00:00Z from=-01:00:00 from=-PT1H

Absolute or relative date range start (ISO8601 datetime or duration string). Optional only when making a request with operation_id set.

To (string) or To (string) or To (null) (To)
Examples: to=2024-03-04T11:55:00Z to=-00:05:00 to=-PT5M

Absolute or relative date range end (ISO8601 datetime or duration string). Current datetime is used when left empty.

Source Id (string) or Source Id (null) (Source Id)
Deprecated

Filter operations by a specific source. Deprecated, use sensor_id instead.

Sensor Id (string) or Sensor Id (null) (Sensor Id)

Filter operations by a specific source sensor ID.

Limit (integer) or Limit (null) (Limit)

If not provided, defaults to 100.

offset
integer (Offset) >= 0
Default: 0
Bbox (string) or Bbox (null) (Bbox)
Examples: bbox=14.383,50.100,14.394,50.106

Bounding box coordinates (lon_min, lat_min, lon_max, lat_max). Only operations that have at least one telemetry inside the bbox will be included in the result.

order
string (OperationListOrderingEnum)
Default: "time"
Enum: "time" "-time"
Examples: order=time order=-time
include_last_telemetry
boolean (Include Last Telemetry)
Default: false

If set to true, the last telemetry of each type will be included, if such telemetry even exists. If set to false, last_telemetry will be missing from the output schema.

globalize
boolean (Globalize)
Default: true

If set the returned operations will be the global operations, which is the desired and default behaviour. Unglobalized data can lead to fragmentation (i.e. a single "flight" can be present as multiple operations). Note that this parameter slightly modifies the output schema.

exclude_public
boolean (Exclude Public)
Default: false

If set, only the data you explicitly have access to will be part of the result. This is useful if you only want to see or export your data.

Responses

Response samples

Content type
application/json
[ ]

Get operation detail

Authorizations:
OAuth2AuthorizationCodeBearer
path Parameters
operation_id
required
string (The ID of the operation)

If globalize=true it must be a valid UUID.

query Parameters
Globalize (boolean) or Globalize (null) (Globalize)

Specifies if the retrieved operation should be global or not. If not set (the default) the endpoint itself will determine if the returned operation should or shouldn't be globalized.

Note that if you do know if the operation_id is global or not, you should explicitly set this parameter.

Responses

Response samples

Content type
application/json
Example
{
  • "id": "string",
  • "status": "past",
  • "sensor_id": "string",
  • "uas_operator_id": "string",
  • "ua_classification": "string",
  • "ua_classification_type": "string",
  • "ua_identifiers": [ ],
  • "authentication": [ ],
  • "descriptions": [ ],
  • "warnings": [ ],
  • "bbox": "14.5,50.1,14.6,50.2",
  • "time_created": "2019-08-24T14:15:22Z",
  • "time_updated": "2019-08-24T14:15:22Z",
  • "time_first_telemetry": "2019-08-24T14:15:22Z",
  • "time_last_telemetry": "2019-08-24T14:15:22Z",
  • "sources": [
    ],
  • "sensor_ids": [
    ],
  • "suboperations": [ ]
}

Delete operation

Deletes the operation with the given operation_id. Note that the delete is implemented as a soft delete.

If `globalize=true` then the delete will target all of the global operation's suboperations you
have a `write` access to, i.e., if there is a suboperation you only have `read` access
to the global operation will remain present even after the delete.

If `globalize=false` then only the specific suboperation will be deleted (assuming you have
a `write` access).

However, by default the `globalize` is not set and the endpoint itself will determine if the
passed `operation_id` is that of a global operation or suboperation. For this reason, it is
strongly recommended to explicitly set the `globalize` parameter.

Note that `globalize=true` puts an extra validation on the `operation_id`. It must be a valid
`UUID`.
Authorizations:
OAuth2AuthorizationCodeBearer
path Parameters
operation_id
required
string (The ID of the operation)

If globalize=true it must be a valid UUID.

query Parameters
Globalize (boolean) or Globalize (null) (Globalize)

Specifies if the retrieved operation should be global or not. If not set (the default) the endpoint itself will determine if the returned operation should or shouldn't be globalized.

Note that if you do know if the operation_id is global or not, you should explicitly set this parameter.

Responses

Response samples

Content type
application/json
{
  • "detail": {
    }
}

Aircrafts

The Aircrafts API allows users to manage aircraft stored in their Dronetag accounts. You can list, add, modify, or delete aircraft details using this API.

Get a list of aircrafts

Returns all aircrafts that user has access to.

Authorizations:
LegacyApiKeyAuth
query Parameters
_download
string
Examples:
  • _download=true - Returned collection is exported as a file

Format of the file depends on the request Accept header value. Currently supported values are: application/json, text/csv, application/vnd.google-earth.kml+xml (just for the flight telemetry)

format
string
Enum: "csv" "json"
limit
integer

Returned collection is split into invididual pages of data.

Link header includes pagination information, for example:

Link: <http://api.dronetag.app/v1/flights?limit=3&offset=7>; rel="prev",
<http://api.dronetag.app/v1/flights?limit=3&offset=13>; rel="next"

Note: The example includes a line break for readability

X-Total-Count header includes information about total count of objects.

The limit indicates the maximum number of items to return. Default limit is 10.

offset
integer

The offset indicates the starting position of the query in relation to the complete set of unpaginated items.

ordering
string

Returned collection can be sorted according to one or multiple fields.

Use ordering=-<field_name> or ordering=+<field_name> for descending respectively ascending ordering.

For sorting according to multiple fields you can use ordering=name,weight

owner
string <uuid>

Responses

Response samples

Content type
[
  • {
    }
]

Create new aircraft

Creates new aircraft. If name is omitted, system generates a default name. Weight of the aircraft, if weight=null is read from AircraftModel entity. If real aircraft weight differ from aircraft model's weight, it can be overriden by the weight field.

Authorizations:
LegacyApiKeyAuth
query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
name
required
string [ 1 .. 255 ] characters
model
string or null <uuid>
weight
required
number <double>

in grams (g)

uas_class
required
string (UasClassEnum)
Enum: "AircraftUASClass.C0" "AircraftUASClass.C1" "AircraftUASClass.C2" "AircraftUASClass.C3" "AircraftUASClass.C4" "AircraftUASClass.C5" "AircraftUASClass.C6" "AircraftUASClass.OTHER" "AircraftUASClass.NONE" "AircraftUASClass.UNKNOWN"
  • AircraftUASClass.C0 - C0
  • AircraftUASClass.C1 - C1
  • AircraftUASClass.C2 - C2
  • AircraftUASClass.C3 - C3
  • AircraftUASClass.C4 - C4
  • AircraftUASClass.C5 - C5
  • AircraftUASClass.C6 - C6
  • AircraftUASClass.OTHER - OTHER
  • AircraftUASClass.NONE - NONE
  • AircraftUASClass.UNKNOWN - UNKNOWN
endurance
required
integer [ 0 .. 2147483647 ]

in minutes (mins)

Responses

Request samples

Content type
{
  • "name": "string",
  • "model": "a047ecae-0f27-4ff4-95bb-0f06d1225aa8",
  • "weight": 0.1,
  • "uas_class": "AircraftUASClass.C0",
  • "endurance": 2147483647
}

Response samples

Content type
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "model": {
    },
  • "weight": 0.1,
  • "uas_class": "AircraftUASClass.C0",
  • "endurance": 2147483647
}

Get aircraft detail

Returns detailed information about an aircraft.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "model": {
    },
  • "weight": 0.1,
  • "owner": {
    },
  • "uas_class": "AircraftUASClass.C0",
  • "endurance": 2147483647
}

Update existing aircraft

Edits an existing aircraft. Fields that are not changed, can be omitted.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>
Request Body schema:
required
name
required
string [ 1 .. 255 ] characters
model
string or null <uuid>
weight
required
number <double>

in grams (g)

uas_class
required
string (UasClassEnum)
Enum: "AircraftUASClass.C0" "AircraftUASClass.C1" "AircraftUASClass.C2" "AircraftUASClass.C3" "AircraftUASClass.C4" "AircraftUASClass.C5" "AircraftUASClass.C6" "AircraftUASClass.OTHER" "AircraftUASClass.NONE" "AircraftUASClass.UNKNOWN"
  • AircraftUASClass.C0 - C0
  • AircraftUASClass.C1 - C1
  • AircraftUASClass.C2 - C2
  • AircraftUASClass.C3 - C3
  • AircraftUASClass.C4 - C4
  • AircraftUASClass.C5 - C5
  • AircraftUASClass.C6 - C6
  • AircraftUASClass.OTHER - OTHER
  • AircraftUASClass.NONE - NONE
  • AircraftUASClass.UNKNOWN - UNKNOWN
endurance
required
integer [ 0 .. 2147483647 ]

in minutes (mins)

Responses

Request samples

Content type
{
  • "name": "string",
  • "model": "a047ecae-0f27-4ff4-95bb-0f06d1225aa8",
  • "weight": 0.1,
  • "uas_class": "AircraftUASClass.C0",
  • "endurance": 2147483647
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "model": {
    },
  • "weight": 0.1,
  • "owner": {
    },
  • "uas_class": "AircraftUASClass.C0",
  • "endurance": 2147483647
}

Delete aircraft

Deletes an aircraft.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "messages": [
    ]
}

Get aircraft vendors with models

Returns a list of existing drone vendors with all models for users to choose from.

Authorizations:
LegacyApiKeyAuthNone
query Parameters
ordering
string

Returned collection can be sorted according to one or multiple fields.

Use ordering=-<field_name> or ordering=+<field_name> for descending respectively ascending ordering.

For sorting according to multiple fields you can use ordering=name,weight

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Airspace

The Airspace API is a legacy API designed for accessing current telemetry data.

Please switch to using the Telemetry API instead.

Devices

The Devices API enables users to manage Dronetag devices registered to their accounts.

Get a list of devices

Returns all Dronetag devices that user has access to.

Authorizations:
LegacyApiKeyAuth
query Parameters
_download
string
Examples:
  • _download=true - Returned collection is exported as a file

Format of the file depends on the request Accept header value. Currently supported values are: application/json, text/csv, application/vnd.google-earth.kml+xml (just for the flight telemetry)

format
string
Enum: "csv" "json"
limit
integer

Returned collection is split into invididual pages of data.

Link header includes pagination information, for example:

Link: <http://api.dronetag.app/v1/flights?limit=3&offset=7>; rel="prev",
<http://api.dronetag.app/v1/flights?limit=3&offset=13>; rel="next"

Note: The example includes a line break for readability

X-Total-Count header includes information about total count of objects.

The limit indicates the maximum number of items to return. Default limit is 10.

offset
integer

The offset indicates the starting position of the query in relation to the complete set of unpaginated items.

ordering
string

Returned collection can be sorted according to one or multiple fields.

Use ordering=-<field_name> or ordering=+<field_name> for descending respectively ascending ordering.

For sorting according to multiple fields you can use ordering=name,weight

owner
string <uuid>
serial_number
string
type
string

Responses

Response samples

Content type
[
  • {
    }
]

Register new device

Register a new device

Authorizations:
LegacyApiKeyAuth
query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
serial_number
required
string non-empty
name
string or null non-empty
activation_confirmed
boolean or null
default_aircraft_override
string or null <uuid>

Responses

Request samples

Content type
{
  • "serial_number": "string",
  • "name": "string",
  • "activation_confirmed": true,
  • "default_aircraft_override": "81e9bb11-9a89-4b30-adbb-c804d467c1c1"
}

Response samples

Content type
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "serial_number": "string",
  • "name": "string",
  • "type": "string",
  • "product": {
    },
  • "owner": {
    },
  • "operator": {
    },
  • "hw_revision": "string",
  • "has_network_features": true,
  • "flavor": "string",
  • "iccid": "string",
  • "fw_bundle": "string",
  • "date_activated": "2019-08-24",
  • "groups": [
    ],
  • "is_userless_allowed": true,
  • "default_aircraft_override": {
    },
  • "access_list": "string",
  • "color_tag": "string",
  • "callsign": "string"
}

Get device detail

Returns detailed information about a single Dronetag device.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string

Device ID or Serial Number

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "serial_number": "string",
  • "name": "string",
  • "type": "string",
  • "product": {
    },
  • "owner": {
    },
  • "operator": {
    },
  • "hw_revision": "string",
  • "has_network_features": true,
  • "flavor": "string",
  • "iccid": "string",
  • "fw_bundle": "string",
  • "date_activated": "2019-08-24",
  • "groups": [
    ],
  • "is_userless_allowed": true,
  • "default_aircraft_override": {
    },
  • "access_list": "string",
  • "color_tag": "string",
  • "callsign": "string"
}

Update existing device

Edits an existing device.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string

Device ID or Serial Number

Request Body schema:
name
string or null non-empty
fw_bundle
string non-empty
provisioning_status
string non-empty
groups
Array of strings[ items non-empty ]
default_aircraft_override
string or null <uuid>
color_tag
string or null non-empty
callsign
string or null non-empty

Responses

Request samples

Content type
{
  • "name": "string",
  • "fw_bundle": "string",
  • "provisioning_status": "string",
  • "groups": [
    ],
  • "default_aircraft_override": "81e9bb11-9a89-4b30-adbb-c804d467c1c1",
  • "color_tag": "string",
  • "callsign": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "serial_number": "string",
  • "name": "string",
  • "type": "string",
  • "product": {
    },
  • "owner": {
    },
  • "operator": {
    },
  • "hw_revision": "string",
  • "has_network_features": true,
  • "flavor": "string",
  • "iccid": "string",
  • "fw_bundle": "string",
  • "date_activated": "2019-08-24",
  • "groups": [
    ],
  • "is_userless_allowed": true,
  • "default_aircraft_override": {
    },
  • "access_list": "string",
  • "color_tag": "string",
  • "callsign": "string"
}

Unregister a device

Breaks the link between Dronetag device and user account. After unregistering, the device can be paired again with different account. Unregistering doesn't delete any data on its own, only pairing is changed. Upon unregistering, user should be asked if he wants to keep the data related to this device, or wipe them.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string

Device ID or Serial Number

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "messages": [
    ]
}

Get ACL for the device

Get ACL for the device

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string

Device ID or Serial Number

Responses

Response samples

Content type
application/json
[
  • "string"
]

Retrieve device's provisioning capabilities

Lists device capabilities as a simple boolean dictionary.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "product_has_network_features": true,
  • "has_softsim": true,
  • "can_be_provisioned": true
}

Get device's configuration set

Retrieves a default configuration set, assigned either directly to the device (takes priority), or assigned to the device flavor, if any is set.

If both device and flavor has no configuration set assigned, or device has no configuration set assigned and no flavor, an 404 error is returned.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "date_created": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "data": {
    },
  • "is_default": true,
  • "is_merged": true
}

List device's eligibility issues

Retrieves a list of eventual device eligibility issues — an issues that would prevent creating a new flight with this device.

If there are no issues, an empty response is usually returned. Empty response means, that the device has no issues and there should be no restrictions to start a new flight with this device.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Generate a new Soft SIM profile for the device

Generates a new SIM profile for this device and retrieves the newly creates SIM profile as a binary data.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "messages": [
    ]
}

Get device sim card detail

Returns detailed information about a single Dronetag device's sim card.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "iccid": "string",
  • "imsi": "string",
  • "msisdn": "string",
  • "ip": "string",
  • "activated": "2019-08-24T14:15:22Z",
  • "provider_name": "string",
  • "provider_acronym": "string",
  • "note": "string"
}

Get device sim card data usage

Returns data usage information about a single Dronetag device's sim card.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "used_data_bytes": "string",
  • "data_quota_bytes": "string",
  • "scan_hours_left_estimate": "string",
  • "active_data_bundles": [
    ]
}

Get device status history

Returns a history of device's status updates for a specific flight

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>
query Parameters
_download
string
Examples:
  • _download=true - Returned collection is exported as a file

Format of the file depends on the request Accept header value. Currently supported values are: application/json, text/csv, application/vnd.google-earth.kml+xml (just for the flight telemetry)

format
string
Enum: "csv" "json" "kml"
limit
integer

Returned collection is split into invididual pages of data.

Link header includes pagination information, for example:

Link: <http://api.dronetag.app/v1/flights?limit=3&offset=7>; rel="prev",
<http://api.dronetag.app/v1/flights?limit=3&offset=13>; rel="next"

Note: The example includes a line break for readability

X-Total-Count header includes information about total count of objects.

The limit indicates the maximum number of items to return. Default limit is 10.

offset
integer

The offset indicates the starting position of the query in relation to the complete set of unpaginated items.

Responses

Response samples

Content type
[
  • {
    }
]

Create device status history

Creates a new device status history for a flight, from a collection of entries

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>
query Parameters
format
string
Enum: "csv" "json" "kml"
Request Body schema:
required
Array
flight
required
string
time
string <date-time> (Time from GNSS receiver)
time_received
string <date-time> (Time received on cloud)
battery
number or null <double> (Voltage of devices battery)

in Voltes (V)

cellid
string or null (ID of current LTE cell) <= 9 characters

Cell ID ranges from 0 to 268,435,455 on UMTS and LTE networks.

rsrp
number or null <double> (Reference Signal Received Power of LTE)

in decibelmiliwatts (dBm)

rsrq
number or null <double> (Reference Signal Received Quality of LTE)

in decibels (dB)

snr
number or null <double> (Signal to Noise Ratio of LTE)

in decibels (dB)

tac
string or null (Tracking Area Code of LTE) <= 5 characters

The Tracking Area Code has a range of 0 to 65536.

satellites
integer or null (Number of GNSS satellites) [ -2147483648 .. 2147483647 ]
charging
boolean or null

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
{
  • "error": "string",
  • "messages": [
    ]
}

Create Device Manufacture Report

Endpoint to create a new device manufacture report

Authorizations:
LegacyApiKeyAuth
Request Body schema:
required
serial_number
required
string non-empty
station_id
required
string [ 1 .. 64 ] characters
operator
string <= 64 characters

Responses

Request samples

Content type
{
  • "serial_number": "string",
  • "station_id": "string",
  • "operator": "string"
}

Response samples

Content type
application/json
{
  • "device": {
    },
  • "station_id": "string",
  • "operator": "string"
}

Create a new device

Create a new device in backend database

Authorizations:
LegacyApiKeyAuth
Request Body schema:
required
serial_number
required
string [ 1 .. 20 ] characters
name
string <= 255 characters
type
required
string non-empty
owner
string or null <email> non-empty
works
boolean
PurposeEnum (string) or BlankEnum (any)
One of
string (PurposeEnum)
Enum: "retail" "development" "user-testing" "obsolete"
  • retail - RETAIL
  • development - DEVELOPMENT
  • user-testing - USER_TESTING
  • obsolete - OBSOLETE
fw_bundle
string or null (Firmware bundle version) <= 32 characters
hw_revision
string or null (Hardware revision) <= 256 characters
mfw_version
string or null (LTE Modem firmware version) <= 32 characters
iccid
string or null non-empty

Integrated Circuit Card Identifier (SIM card ID)

mmcu_id
string non-empty
(ProvisioningStatusEnum (string or null)) or (BlankEnum (any or null)) or (NullEnum (any or null))
One of
string or null (ProvisioningStatusEnum)
Enum: "pending" "provisioned" "revoked"
  • pending - PENDING
  • provisioned - PROVISIONED
  • revoked - REVOKED
hw_notes
string or null (Hardware notes)
manufacture_batch
string or null <= 32 characters

Manufacture batch ID

groups
Array of strings[ items non-empty ]

Responses

Request samples

Content type
{
  • "serial_number": "string",
  • "name": "string",
  • "type": "string",
  • "owner": "user@example.com",
  • "works": true,
  • "purpose": "retail",
  • "fw_bundle": "string",
  • "hw_revision": "string",
  • "mfw_version": "string",
  • "iccid": "string",
  • "mmcu_id": "string",
  • "provisioning_status": "pending",
  • "hw_notes": "string",
  • "manufacture_batch": "string",
  • "groups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "provisioning_status": "pending",
  • "certificate_sn": "string",
  • "can_be_provisioned": true
}

Update device information

Update information about the device

Authorizations:
LegacyApiKeyAuth
Request Body schema:
required
serial_number
required
string [ 1 .. 20 ] characters
name
string <= 255 characters
type
required
string non-empty
owner
string or null <email> non-empty
works
boolean
PurposeEnum (string) or BlankEnum (any)
One of
string (PurposeEnum)
Enum: "retail" "development" "user-testing" "obsolete"
  • retail - RETAIL
  • development - DEVELOPMENT
  • user-testing - USER_TESTING
  • obsolete - OBSOLETE
fw_bundle
string or null (Firmware bundle version) <= 32 characters
hw_revision
string or null (Hardware revision) <= 256 characters
mfw_version
string or null (LTE Modem firmware version) <= 32 characters
iccid
string or null non-empty

Integrated Circuit Card Identifier (SIM card ID)

mmcu_id
string non-empty
(ProvisioningStatusEnum (string or null)) or (BlankEnum (any or null)) or (NullEnum (any or null))
One of
string or null (ProvisioningStatusEnum)
Enum: "pending" "provisioned" "revoked"
  • pending - PENDING
  • provisioned - PROVISIONED
  • revoked - REVOKED
manufacture_batch
string or null <= 32 characters

Manufacture batch ID

hw_notes
string or null (Hardware notes)
groups
Array of strings[ items non-empty ]

Responses

Request samples

Content type
{
  • "serial_number": "string",
  • "name": "string",
  • "type": "string",
  • "owner": "user@example.com",
  • "works": true,
  • "purpose": "retail",
  • "fw_bundle": "string",
  • "hw_revision": "string",
  • "mfw_version": "string",
  • "iccid": "string",
  • "mmcu_id": "string",
  • "provisioning_status": "pending",
  • "manufacture_batch": "string",
  • "hw_notes": "string",
  • "groups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "serial_number": "string",
  • "name": "string",
  • "type": "string",
  • "owner": "user@example.com",
  • "works": true,
  • "purpose": "retail",
  • "fw_bundle": "string",
  • "hw_revision": "string",
  • "mfw_version": "string",
  • "iccid": "string",
  • "mmcu_id": "string",
  • "provisioning_status": "pending",
  • "hw_notes": "string",
  • "manufacture_batch": "string",
  • "groups": [
    ]
}

Make devices retail ready

Post a request to make devices retail ready. If any of the devices fail, the update is not made on any of the devices.

Authorizations:
LegacyApiKeyAuth
Request Body schema:
serial_number_list
Array of strings[ items non-empty ]
id_list
Array of strings <uuid> [ items <uuid > ]

Responses

Request samples

Content type
{
  • "serial_number_list": [
    ],
  • "id_list": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Get device sim card detail

Returns detailed information about a single Dronetagdevice's sim card according to simcards iccid.

Authorizations:
LegacyApiKeyAuth
path Parameters
iccid
required
string

Responses

Response samples

Content type
application/json
{
  • "iccid": "string",
  • "imsi": "string",
  • "msisdn": "string",
  • "ip": "string",
  • "activated": "2019-08-24T14:15:22Z",
  • "provider_name": "string",
  • "provider_acronym": "string",
  • "note": "string"
}

Flights

The Flights API provides access to historical flight list and telemetry data stored in Dronetag user accounts.

Get a list of flights

Returns all flights that user has access to.

Authorizations:
LegacyApiKeyAuth
query Parameters
_download
string
Examples:
  • _download=true - Returned collection is exported as a file

Format of the file depends on the request Accept header value. Currently supported values are: application/json, text/csv, application/vnd.google-earth.kml+xml (just for the flight telemetry)

aircraft
string <uuid>
date_finished
string <date-time>
date_from
string
date_started
string <date-time>
date_to
string
device
string <uuid>
device_sn
string
format
string
Enum: "csv" "json"
limit
integer

Returned collection is split into invididual pages of data.

Link header includes pagination information, for example:

Link: <http://api.dronetag.app/v1/flights?limit=3&offset=7>; rel="prev",
<http://api.dronetag.app/v1/flights?limit=3&offset=13>; rel="next"

Note: The example includes a line break for readability

X-Total-Count header includes information about total count of objects.

The limit indicates the maximum number of items to return. Default limit is 10.

offset
integer

The offset indicates the starting position of the query in relation to the complete set of unpaginated items.

ordering
string

Returned collection can be sorted according to one or multiple fields.

Use ordering=-<field_name> or ordering=+<field_name> for descending respectively ascending ordering.

For sorting according to multiple fields you can use ordering=name,weight

pilot
string <uuid>
status
string

Filter by flight status

visibility
string

Responses

Response samples

Content type
[
  • {
    }
]

Create a flight

Creates a flight. Flights are created with the status planned, if the status is not specified. Other statuses are also allowed, for example, for the case of offline sync of the flights. id is also allowed to be set which should be used only after a check is done, that a flight with this id does not exist, otherwise it will throw an 409 error.
If user decide to create a flight for an organization (organization_id != null), both device_id and aircraft_id must refer to devices and aircraft that are both in the same organization. If flight visibility is not specified in the request body, it is taken from user preferences default_visibility field.

Authorizations:
LegacyApiKeyAuth
query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
id
string <uuid>
date_planned_start
required
string <date-time>
date_planned_finish
required
string <date-time>
date_started
string or null <date-time>
date_finished
string or null <date-time>
visibility
string (VisibilityEnum)
Enum: "public" "private"
  • public - PUBLIC
  • private - PRIVATE
required
object or object or object
One of
type
string
Value: "Point"
coordinates
Array of numbers <float> [ 2 .. 3 ] items [ items <float > ]
max_flight_altitude
required
number <double> (Max flight geodetic altitude)

in metres (m)

lower_altitude
number <double> (Min flight geodetic altitude) >= 0

in metres (m)

takeoff_latitude
required
number <double> [ -90 .. 90 ]

in degrees (°)

takeoff_longitude
required
number <double> [ -180 .. 180 ]

in degrees (°)

max_height
number or null <double> >= 0

Maximum height (relative altitude) used for geofencing

status
string
Default: "planned"
Enum: "planned" "current" "inactive" "uploading" "processing" "error" "finished" "cancelled"
  • planned - PLANNED
  • current - CURRENT
  • inactive - INACTIVE
  • uploading - UPLOADING
  • processing - PROCESSING
  • error - ERROR
  • finished - FINISHED
  • cancelled - CANCELLED
device
string or null <uuid>
pilot
string <uuid>
aircraft
string or null <uuid>
operation_mode
string (OperationModeEnum)
Enum: "vlos" "bvlos"
  • vlos - VLOS
  • bvlos - BVLOS
operation_category
string (OperationCategoryEnum)
Enum: "open" "specific" "certified"
  • open - OPEN
  • specific - SPECIFIC
  • certified - CERTIFIED
source
string
Default: "direct-source"
Enum: "direct-source" "flight-store"
  • direct-source - Direct
  • flight-store - Flight store
color_tag_used
string or null <= 25 characters ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
callsign_used
string or null <= 20 characters

Callsign of the device

Responses

Request samples

Content type
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "date_planned_start": "2019-08-24T14:15:22Z",
  • "date_planned_finish": "2019-08-24T14:15:22Z",
  • "date_started": "2019-08-24T14:15:22Z",
  • "date_finished": "2019-08-24T14:15:22Z",
  • "visibility": "public",
  • "region": {
    },
  • "max_flight_altitude": 0.1,
  • "lower_altitude": 0.1,
  • "takeoff_latitude": -90,
  • "takeoff_longitude": -180,
  • "max_height": 0.1,
  • "status": "planned",
  • "device": "8dca31e6-c85b-4a6b-bfb4-205d45d9b3bd",
  • "pilot": "9b930a8e-4cbf-4c3d-b228-f550dcd80d0a",
  • "aircraft": "b5e9a414-31c7-41b7-b21e-1f857715972c",
  • "operation_mode": "vlos",
  • "operation_category": "open",
  • "source": "direct-source",
  • "color_tag_used": "string",
  • "callsign_used": "string"
}

Response samples

Content type
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "date_planned_start": "2019-08-24T14:15:22Z",
  • "date_planned_finish": "2019-08-24T14:15:22Z",
  • "date_started": "2019-08-24T14:15:22Z",
  • "date_finished": "2019-08-24T14:15:22Z",
  • "status": "planned",
  • "closing_flag": "nominal",
  • "distance": 0.1,
  • "duration": 0,
  • "visibility": "public",
  • "aircraft": {
    },
  • "device": {
    },
  • "thumbnail_url": "http://example.com",
  • "thumbnail_dark_url": "http://example.com",
  • "source": "direct-source",
  • "color_tag_used": "string",
  • "callsign_used": "string"
}

Create or update a flight plan using serial number

Create or update a flight plan using serial number. Tries to find a flight plan with serial number specified by via_serial_number query parameter and: - status set to "current" or "planned" - date_planned_start < timezone.now() < date_planned_finish and update it with parameters defined in request body. Before a flight is created, an eligibility check is performed, if the user can create a new flight for the selected device. If not, 4xx errors are returned with description in the response body.

Note: If takeoff_latitude and takeoff_longitude are provided it is also checked if the take_off > location is inside the geometry defined by the region_geojson. If not a new flight is created. If flight plan does not exist a new flight plan will be created in the following way: date_planned_start - set to timezone.now() or value of date_started from request body date_planned_finish - set to date_planned_start + 30 minutes or the value of date_finished from request body date_started - set to date_planned_start date_finished - null - is calculated together with duration in flight postprocessing, which should be called after uploading telemetry and status data. status - "current" or value of status from request body region_geojson - default radius 1000m and take_off parameters provided in the request body. { "type": "Feature", "properties": { "radius": radius, }, "geometry": {"type": "Point", "coordinates": [takeoff_latitude, takeoff_longitude]} } max_flight_altitude - default 120m + value of takeoff_altitude from request body. If takeoff_altitude not provided backend try to fetch the data from Open Topo Data. If fetching fails, the default value of takeoff_altitude is 0. visibility - default "public" or value from default_visiblity user preferences device - specified by the value of via_serial_number query parameter aircraft - Default aircraft of device owner, returns 400 if not set pilot - Device owner

Authorizations:
LegacyApiKeyAuth
query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
takeoff_latitude
required
number <double>
takeoff_longitude
required
number <double>
takeoff_altitude
number or null <double>
takeoff_pressure
number or null <double>

Responses

Request samples

Content type
{
  • "takeoff_latitude": 0.1,
  • "takeoff_longitude": 0.1,
  • "takeoff_altitude": 0.1,
  • "takeoff_pressure": 0.1
}

Response samples

Content type
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "date_planned_start": "2019-08-24T14:15:22Z",
  • "date_planned_finish": "2019-08-24T14:15:22Z",
  • "date_started": "2019-08-24T14:15:22Z",
  • "date_finished": "2019-08-24T14:15:22Z",
  • "status": "planned",
  • "closing_flag": "nominal",
  • "distance": 0.1,
  • "duration": 0,
  • "visibility": "public",
  • "aircraft": {
    },
  • "device": {
    },
  • "thumbnail_url": "http://example.com",
  • "thumbnail_dark_url": "http://example.com",
  • "source": "direct-source",
  • "color_tag_used": "string",
  • "callsign_used": "string"
}

Get flight detail

Returns flight detailed information.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "date_planned_start": "2019-08-24T14:15:22Z",
  • "date_planned_finish": "2019-08-24T14:15:22Z",
  • "date_started": "2019-08-24T14:15:22Z",
  • "date_finished": "2019-08-24T14:15:22Z",
  • "status": "planned",
  • "closing_flag": "nominal",
  • "distance": 0.1,
  • "duration": 2147483647,
  • "visibility": "public",
  • "region": {
    },
  • "max_flight_altitude": 0.1,
  • "max_height": 0.1,
  • "lower_altitude": 0.1,
  • "take_off": {
    },
  • "thumbnail_url": "http://example.com",
  • "aircraft": {
    },
  • "device": {
    },
  • "pilot": {
    },
  • "operation_mode": "vlos",
  • "operation_category": "open",
  • "source": "direct-source",
  • "color_tag_used": "string",
  • "callsign_used": "string"
}

Update a flight plan

Edits an existing flight plan. Flight plans are flights with future date and status planned, therefore only planned flights can be edited. **Past flights are read-only.**Only properties of flight can be edited, not the relationships (with aircrafts and devices). Fields that are not changed, can be omitted

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>
Request Body schema:
(StatusEnum (string or null)) or (NullEnum (any or null))
One of
string or null (StatusEnum)
Enum: "planned" "current" "inactive" "uploading" "processing" "error" "finished" "cancelled"
  • planned - PLANNED
  • current - CURRENT
  • inactive - INACTIVE
  • uploading - UPLOADING
  • processing - PROCESSING
  • error - ERROR
  • finished - FINISHED
  • cancelled - CANCELLED
(ClosingFlagEnum (string or null)) or (NullEnum (any or null))
One of
string or null (ClosingFlagEnum)
Enum: "nominal" "corrupted" "timeouted" "expired" "replaced"
  • nominal - NOMINAL
  • corrupted - CORRUPTED
  • timeouted - TIMEOUTED
  • expired - EXPIRED
  • replaced - REPLACED
(object or null) or (object or null) or (object or null)
One of
type
string
Value: "Point"
coordinates
Array of numbers <float> [ 2 .. 3 ] items [ items <float > ]
(VisibilityEnum (string or null)) or (NullEnum (any or null))
One of
string or null (VisibilityEnum)
Enum: "public" "private"
  • public - PUBLIC
  • private - PRIVATE
takeoff_latitude
number or null <double>
takeoff_longitude
number or null <double>
max_flight_altitude
number <double>
max_height
number or null <double> >= 0

Maximum height (relative altitude) used for geofencing

lower_altitude
number <double> (Min flight geodetic altitude) >= 0

in metres (m)

Responses

Request samples

Content type
{
  • "status": "planned",
  • "closing_flag": "nominal",
  • "region": {
    },
  • "visibility": "public",
  • "takeoff_latitude": 0.1,
  • "takeoff_longitude": 0.1,
  • "max_flight_altitude": 0.1,
  • "max_height": 0.1,
  • "lower_altitude": 0.1
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "date_planned_start": "2019-08-24T14:15:22Z",
  • "date_planned_finish": "2019-08-24T14:15:22Z",
  • "date_started": "2019-08-24T14:15:22Z",
  • "date_finished": "2019-08-24T14:15:22Z",
  • "status": "planned",
  • "closing_flag": "nominal",
  • "distance": 0.1,
  • "duration": 2147483647,
  • "visibility": "public",
  • "region": {
    },
  • "max_flight_altitude": 0.1,
  • "max_height": 0.1,
  • "lower_altitude": 0.1,
  • "take_off": {
    },
  • "thumbnail_url": "http://example.com",
  • "aircraft": {
    },
  • "device": {
    },
  • "pilot": {
    },
  • "operation_mode": "vlos",
  • "operation_category": "open",
  • "source": "direct-source",
  • "color_tag_used": "string",
  • "callsign_used": "string"
}

Delete a flight

Deletes a flight together with all its telemetry data.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "messages": [
    ]
}

Get flight authorization detail

Returns details about flight authorization

Authorizations:
LegacyApiKeyAuthNone
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "operation_mode": "vlos",
  • "operation_category": "open",
  • "uas_serial_number": "string",
  • "connectivity_methods": [
    ],
  • "identification_technologies": [ ],
  • "emergency_procedure_url": "https://dronetag.cz/uspace/emergency",
  • "uas_class": "AircraftUASClass.C0",
  • "endurance_minutes": 2147483647,
  • "operator_id": "string"
}

Queue flight processing

Triggers flight post-processing, adds a request to queue to calculate distance, date_finished, duration and generates thumbnail. Can be triggered only once, after uploading telemetry & status data.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "messages": [
    ]
}

Get flight telemetry

Returns flight telemetry data

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>
query Parameters
_download
string
Examples:
  • _download=true - Returned collection is exported as a file

Format of the file depends on the request Accept header value. Currently supported values are: application/json, text/csv, application/vnd.google-earth.kml+xml (just for the flight telemetry)

format
string
Enum: "csv" "gpx" "json" "kml"
limit
integer

Returned collection is split into invididual pages of data.

Link header includes pagination information, for example:

Link: <http://api.dronetag.app/v1/flights?limit=3&offset=7>; rel="prev",
<http://api.dronetag.app/v1/flights?limit=3&offset=13>; rel="next"

Note: The example includes a line break for readability

X-Total-Count header includes information about total count of objects.

The limit indicates the maximum number of items to return. Default limit is 10.

offset
integer

The offset indicates the starting position of the query in relation to the complete set of unpaginated items.

ordering
string

Returned collection can be sorted according to one or multiple fields.

Use ordering=-<field_name> or ordering=+<field_name> for descending respectively ascending ordering.

For sorting according to multiple fields you can use ordering=name,weight

Responses

Response samples

Content type
[
  • {
    }
]

Create flight telemetry

Create flight telemetry data for flight.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>
query Parameters
format
string
Enum: "csv" "gpx" "json" "kml"
Request Body schema:
required
Array
time
required
string <date-time> (Time from GNSS receiver)

when data were captured on the drone (UTC time)

required
object (TelemetryLocationRequest)
lat
required
number <double>
lon
required
number <double>
required
object (TelemetryVelocityRequest)
x
required
number <double>
y
required
number <double>
z
required
number <double>
altitude
number or null <double> (Pressure altitude from GNSS receiver)

in metres (m)

geo_altitude
number or null <double> (Geodetic altitude from GNSS receiver)

in metres (m)

vertical_accuracy
number or null <double>

in metres (m)

horizontal_accuracy
number or null <double>

in metres (m)

speed_accuracy
number or null <double>

in metres per second (m/s)

height
number or null <double>

in metres (m)

pressure
number or null <double>

in hectopascals (hPa)

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
{
  • "error": "string",
  • "messages": [
    ]
}

Get flight telemetry and device status

Returns flight telemetry and device status data

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>
query Parameters
_download
string
Examples:
  • _download=true - Returned collection is exported as a file

Format of the file depends on the request Accept header value. Currently supported values are: application/json, text/csv, application/vnd.google-earth.kml+xml (just for the flight telemetry and device status)

format
string
Enum: "csv" "json"

Responses

Response samples

Content type
[
  • {
    }
]

flights_telemetry_status_create

Implementation of /flights/{id}/telemetry-status (GET)

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>
query Parameters
format
string
Enum: "csv" "json"
Request Body schema:
required
time
required
string <date-time>
time_received
required
string <date-time>
latitude
required
number <double>
longitude
required
number <double>
altitude
required
number <double>
geo_altitude
required
number <double>
velocity_x
required
number <double>
velocity_y
required
number <double>
velocity_z
required
number <double>
vertical_accuracy
required
number <double>
horizontal_accuracy
required
number <double>
speed_accuracy
required
number <double>
height
required
number <double>
pressure
required
number <double>
heading
required
number <double>
battery
number or null <double>
rsrq
number or null <double>
rsrp
number or null <double>
cellid
string or null non-empty
snr
number or null <double>
tac
string or null non-empty
satellites
integer or null
charging
boolean or null

Responses

Request samples

Content type
{
  • "time": "2019-08-24T14:15:22Z",
  • "time_received": "2019-08-24T14:15:22Z",
  • "latitude": 0.1,
  • "longitude": 0.1,
  • "altitude": 0.1,
  • "geo_altitude": 0.1,
  • "velocity_x": 0.1,
  • "velocity_y": 0.1,
  • "velocity_z": 0.1,
  • "vertical_accuracy": 0.1,
  • "horizontal_accuracy": 0.1,
  • "speed_accuracy": 0.1,
  • "height": 0.1,
  • "pressure": 0.1,
  • "heading": 0.1,
  • "battery": 0.1,
  • "rsrq": 0.1,
  • "rsrp": 0.1,
  • "cellid": "string",
  • "snr": 0.1,
  • "tac": "string",
  • "satellites": 0,
  • "charging": true
}

Response samples

Content type
{
  • "time": "2019-08-24T14:15:22Z",
  • "time_received": "2019-08-24T14:15:22Z",
  • "latitude": 0.1,
  • "longitude": 0.1,
  • "altitude": 0.1,
  • "geo_altitude": 0.1,
  • "velocity_x": 0.1,
  • "velocity_y": 0.1,
  • "velocity_z": 0.1,
  • "vertical_accuracy": 0.1,
  • "horizontal_accuracy": 0.1,
  • "speed_accuracy": 0.1,
  • "height": 0.1,
  • "pressure": 0.1,
  • "heading": 0.1,
  • "battery": 0.1,
  • "rsrq": 0.1,
  • "rsrp": 0.1,
  • "cellid": "string",
  • "snr": 0.1,
  • "tac": "string",
  • "satellites": 0,
  • "charging": true
}

Get device's current flight

Returns device's current flight.

Authorizations:
LegacyApiKeyAuthNone
path Parameters
sn
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "date_planned_start": "2019-08-24T14:15:22Z",
  • "date_planned_finish": "2019-08-24T14:15:22Z",
  • "date_started": "2019-08-24T14:15:22Z",
  • "date_finished": "2019-08-24T14:15:22Z",
  • "status": "planned",
  • "closing_flag": "nominal",
  • "distance": 0.1,
  • "duration": 2147483647,
  • "visibility": "public",
  • "region": {
    },
  • "max_flight_altitude": 0.1,
  • "max_height": 0.1,
  • "lower_altitude": 0.1,
  • "take_off": {
    },
  • "thumbnail_url": "http://example.com",
  • "aircraft": {
    },
  • "device": {
    },
  • "pilot": {
    },
  • "operation_mode": "vlos",
  • "operation_category": "open",
  • "source": "direct-source",
  • "color_tag_used": "string",
  • "callsign_used": "string"
}

Get overview statistics of my flights

Implementation of /flights/stats

Distance data is in meters (m) and time data is in seconds (s)

Authorizations:
LegacyApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "total_flights": 0,
  • "total_distance": 0.1,
  • "total_duration": 0.1,
  • "count_planned": 0,
  • "count_current": 0,
  • "count_past": 0,
  • "flight_hours_this_month": 0,
  • "flight_hours_monthly_allowance": 0,
  • "flight_hours_monthly_additional_allowance": 0
}

Search

The Search API offers functionality to search across multiple object types within the Dronetag ecosystem.

Perform a multi-search

Performs a search across multiple resources of the web platform, such as: - Platform objects with access (devices, aircrafts, zones...)Using this search, user can quickly find his devices, aircrafts or search zones by name.Search is case-insensitiveIf no results are found, response is still 200 OK, but with emptysearch results.

Authorizations:
LegacyApiKeyAuthNone
query Parameters
query
string
Examples:
  • query=marian - Search all objects containing `marian`

Search query

Responses

Response samples

Content type
application/json
{
  • "objects": [
    ]
}

Users

The Users API allows for the management of user accounts and profiles. Users can update personal information, configure account settings, and manage properties related to their profiles.

Register a new user

When registering a new user, the user preferences are set to default_visibility:public

Authorizations:
LegacyApiKeyAuthNone
Request Body schema:
required
full_name
string or null <= 255 characters
email
required
string <email> [ 1 .. 254 ] characters
phone_number
string or null <= 128 characters
uas_operator_id
string or null <= 255 characters
(Country232Enum (string or null)) or (BlankEnum (any or null)) or (NullEnum (any or null))
One of
string or null (Country232Enum)
Enum: "AF" "AX" "AL" "DZ" "AS" "AD" "AO" "AI" "AQ" "AG" "AR" "AM" "AW" "AU" "AT" "AZ" "BS" "BH" "BD" "BB" "BY" "BE" "BZ" "BJ" "BM" "BT" "BO" "BQ" "BA" "BW" "BV" "BR" "IO" "BN" "BG" "BF" "BI" "CV" "KH" "CM" "CA" "KY" "CF" "TD" "CL" "CN" "CX" "CC" "CO" "KM" "CG" "CD" "CK" "CR" "CI" "HR" "CU" "CW" "CY" "CZ" "DK" "DJ" "DM" "DO" "EC" "EG" "SV" "GQ" "ER" "EE" "SZ" "ET" "FK" "FO" "FJ" "FI" "FR" "GF" "PF" "TF" "GA" "GM" "GE" "DE" "GH" "GI" "GR" "GL" "GD" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "VA" "HN" "HK" "HU" "IS" "IN" "ID" "IR" "IQ" "IE" "IM" "IL" "IT" "JM" "JP" "JE" "JO" "KZ" "KE" "KI" "KP" "KR" "KW" "KG" "LA" "LV" "LB" "LS" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MH" "MQ" "MR" "MU" "YT" "MX" "FM" "MD" "MC" "MN" "ME" "MS" "MA" "MZ" "MM" "NA" "NR" "NP" "NL" "NC" "NZ" "NI" "NE" "NG" "NU" "NF" "MK" "MP" "NO" "OM" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "PL" "PT" "PR" "QA" "RE" "RO" "RU" "RW" "BL" "SH" "KN" "LC" "MF" "PM" "VC" "WS" "SM" "ST" "SA" "SN" "RS" "SC" "SL" "SG" "SX" "SK" "SI" "SB" "SO" "ZA" "GS" "SS" "ES" "LK" "SD" "SR" "SJ" "SE" "CH" "SY" "TW" "TJ" "TZ" "TH" "TL" "TG" "TK" "TO" "TT" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "AE" "GB" "US" "UM" "UY" "UZ" "VU" "VE" "VN" "VG" "VI" "WF" "EH" "YE" "ZM" "ZW"
  • AF - Afghanistan
  • AX - Åland Islands
  • AL - Albania
  • DZ - Algeria
  • AS - American Samoa
  • AD - Andorra
  • AO - Angola
  • AI - Anguilla
  • AQ - Antarctica
  • AG - Antigua and Barbuda
  • AR - Argentina
  • AM - Armenia
  • AW - Aruba
  • AU - Australia
  • AT - Austria
  • AZ - Azerbaijan
  • BS - Bahamas
  • BH - Bahrain
  • BD - Bangladesh
  • BB - Barbados
  • BY - Belarus
  • BE - Belgium
  • BZ - Belize
  • BJ - Benin
  • BM - Bermuda
  • BT - Bhutan
  • BO - Bolivia
  • BQ - Bonaire, Sint Eustatius and Saba
  • BA - Bosnia and Herzegovina
  • BW - Botswana
  • BV - Bouvet Island
  • BR - Brazil
  • IO - British Indian Ocean Territory
  • BN - Brunei Darussalam
  • BG - Bulgaria
  • BF - Burkina Faso
  • BI - Burundi
  • CV - Cabo Verde
  • KH - Cambodia
  • CM - Cameroon
  • CA - Canada
  • KY - Cayman Islands
  • CF - Central African Republic
  • TD - Chad
  • CL - Chile
  • CN - China
  • CX - Christmas Island
  • CC - Cocos (Keeling) Islands
  • CO - Colombia
  • KM - Comoros
  • CG - Congo
  • CD - Congo
  • CK - Cook Islands
  • CR - Costa Rica
  • CI - Côte d'Ivoire
  • HR - Croatia
  • CU - Cuba
  • CW - Curaçao
  • CY - Cyprus
  • CZ - Czech Republic
  • DK - Denmark
  • DJ - Djibouti
  • DM - Dominica
  • DO - Dominican Republic
  • EC - Ecuador
  • EG - Egypt
  • SV - El Salvador
  • GQ - Equatorial Guinea
  • ER - Eritrea
  • EE - Estonia
  • SZ - Eswatini
  • ET - Ethiopia
  • FK - Falkland Islands (Malvinas)
  • FO - Faroe Islands
  • FJ - Fiji
  • FI - Finland
  • FR - France
  • GF - French Guiana
  • PF - French Polynesia
  • TF - French Southern Territories
  • GA - Gabon
  • GM - Gambia
  • GE - Georgia
  • DE - Germany
  • GH - Ghana
  • GI - Gibraltar
  • GR - Greece
  • GL - Greenland
  • GD - Grenada
  • GP - Guadeloupe
  • GU - Guam
  • GT - Guatemala
  • GG - Guernsey
  • GN - Guinea
  • GW - Guinea-Bissau
  • GY - Guyana
  • HT - Haiti
  • HM - Heard Island and McDonald Islands
  • VA - Holy See
  • HN - Honduras
  • HK - Hong Kong
  • HU - Hungary
  • IS - Iceland
  • IN - India
  • ID - Indonesia
  • IR - Iran
  • IQ - Iraq
  • IE - Ireland
  • IM - Isle of Man
  • IL - Israel
  • IT - Italy
  • JM - Jamaica
  • JP - Japan
  • JE - Jersey
  • JO - Jordan
  • KZ - Kazakhstan
  • KE - Kenya
  • KI - Kiribati
  • KP - Korea
  • KR - Korea
  • KW - Kuwait
  • KG - Kyrgyzstan
  • LA - Lao People's Democratic Republic
  • LV - Latvia
  • LB - Lebanon
  • LS - Lesotho
  • LR - Liberia
  • LY - Libya
  • LI - Liechtenstein
  • LT - Lithuania
  • LU - Luxembourg
  • MO - Macao
  • MG - Madagascar
  • MW - Malawi
  • MY - Malaysia
  • MV - Maldives
  • ML - Mali
  • MT - Malta
  • MH - Marshall Islands
  • MQ - Martinique
  • MR - Mauritania
  • MU - Mauritius
  • YT - Mayotte
  • MX - Mexico
  • FM - Micronesia
  • MD - Moldova
  • MC - Monaco
  • MN - Mongolia
  • ME - Montenegro
  • MS - Montserrat
  • MA - Morocco
  • MZ - Mozambique
  • MM - Myanmar
  • NA - Namibia
  • NR - Nauru
  • NP - Nepal
  • NL - Netherlands
  • NC - New Caledonia
  • NZ - New Zealand
  • NI - Nicaragua
  • NE - Niger
  • NG - Nigeria
  • NU - Niue
  • NF - Norfolk Island
  • MK - North Macedonia
  • MP - Northern Mariana Islands
  • NO - Norway
  • OM - Oman
  • PK - Pakistan
  • PW - Palau
  • PS - Palestine
  • PA - Panama
  • PG - Papua New Guinea
  • PY - Paraguay
  • PE - Peru
  • PH - Philippines
  • PN - Pitcairn
  • PL - Poland
  • PT - Portugal
  • PR - Puerto Rico
  • QA - Qatar
  • RE - Réunion
  • RO - Romania
  • RU - Russian Federation
  • RW - Rwanda
  • BL - Saint Barthélemy
  • SH - Saint Helena, Ascension and Tristan da Cunha
  • KN - Saint Kitts and Nevis
  • LC - Saint Lucia
  • MF - Saint Martin (French part)
  • PM - Saint Pierre and Miquelon
  • VC - Saint Vincent and the Grenadines
  • WS - Samoa
  • SM - San Marino
  • ST - Sao Tome and Principe
  • SA - Saudi Arabia
  • SN - Senegal
  • RS - Serbia
  • SC - Seychelles
  • SL - Sierra Leone
  • SG - Singapore
  • SX - Sint Maarten (Dutch part)
  • SK - Slovakia
  • SI - Slovenia
  • SB - Solomon Islands
  • SO - Somalia
  • ZA - South Africa
  • GS - South Georgia and the South Sandwich Islands
  • SS - South Sudan
  • ES - Spain
  • LK - Sri Lanka
  • SD - Sudan
  • SR - Suriname
  • SJ - Svalbard and Jan Mayen
  • SE - Sweden
  • CH - Switzerland
  • SY - Syrian Arab Republic
  • TW - Taiwan
  • TJ - Tajikistan
  • TZ - Tanzania
  • TH - Thailand
  • TL - Timor-Leste
  • TG - Togo
  • TK - Tokelau
  • TO - Tonga
  • TT - Trinidad and Tobago
  • TN - Tunisia
  • TR - Turkey
  • TM - Turkmenistan
  • TC - Turks and Caicos Islands
  • TV - Tuvalu
  • UG - Uganda
  • UA - Ukraine
  • AE - United Arab Emirates
  • GB - United Kingdom
  • US - United States of America
  • UM - United States Minor Outlying Islands
  • UY - Uruguay
  • UZ - Uzbekistan
  • VU - Vanuatu
  • VE - Venezuela
  • VN - Viet Nam
  • VG - Virgin Islands (British)
  • VI - Virgin Islands (U.S.)
  • WF - Wallis and Futuna
  • EH - Western Sahara
  • YE - Yemen
  • ZM - Zambia
  • ZW - Zimbabwe
password
required
string [ 1 .. 128 ] characters

Responses

Request samples

Content type
{
  • "full_name": "string",
  • "email": "user@example.com",
  • "phone_number": "string",
  • "uas_operator_id": "string",
  • "country": "AF",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "email": "user@example.com",
  • "is_verified": true,
  • "full_name": "string",
  • "phone_number": "string",
  • "uas_operator_id": "string",
  • "country": "AF",
  • "registered": "2019-08-24T14:15:22Z",
  • "default_aircraft": {
    },
  • "owned_devices": [
    ],
  • "aircrafts": [
    ],
  • "preferences": {
    },
  • "flight_hours_this_period": "string",
  • "subscription_plan": {
    },
  • "trial_started": "2019-08-24"
}

Get user profile

Returns detailed information about user, together with his owned devices and aircrafts. Retrieval of user owned resources can be disabled with only_user switch parameter.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "email": "user@example.com",
  • "is_verified": true,
  • "full_name": "string",
  • "phone_number": "string",
  • "uas_operator_id": "string",
  • "country": "AF",
  • "registered": "2019-08-24T14:15:22Z",
  • "default_aircraft": {
    },
  • "owned_devices": [
    ],
  • "aircrafts": [
    ],
  • "preferences": {
    },
  • "flight_hours_this_period": "string",
  • "subscription_plan": {
    },
  • "trial_started": "2019-08-24"
}

Update user profile

Updates user profile. Fields can be updated partially (if ommited, they won't change).

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>
Request Body schema:
email
string <email> non-empty
full_name
string or null <= 255 characters
phone_number
string or null <= 128 characters
uas_operator_id
string or null <= 255 characters
pilot_license_id
string or null <= 255 characters
(Country232Enum (string or null)) or (BlankEnum (any or null)) or (NullEnum (any or null))
One of
string or null (Country232Enum)
Enum: "AF" "AX" "AL" "DZ" "AS" "AD" "AO" "AI" "AQ" "AG" "AR" "AM" "AW" "AU" "AT" "AZ" "BS" "BH" "BD" "BB" "BY" "BE" "BZ" "BJ" "BM" "BT" "BO" "BQ" "BA" "BW" "BV" "BR" "IO" "BN" "BG" "BF" "BI" "CV" "KH" "CM" "CA" "KY" "CF" "TD" "CL" "CN" "CX" "CC" "CO" "KM" "CG" "CD" "CK" "CR" "CI" "HR" "CU" "CW" "CY" "CZ" "DK" "DJ" "DM" "DO" "EC" "EG" "SV" "GQ" "ER" "EE" "SZ" "ET" "FK" "FO" "FJ" "FI" "FR" "GF" "PF" "TF" "GA" "GM" "GE" "DE" "GH" "GI" "GR" "GL" "GD" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "VA" "HN" "HK" "HU" "IS" "IN" "ID" "IR" "IQ" "IE" "IM" "IL" "IT" "JM" "JP" "JE" "JO" "KZ" "KE" "KI" "KP" "KR" "KW" "KG" "LA" "LV" "LB" "LS" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MH" "MQ" "MR" "MU" "YT" "MX" "FM" "MD" "MC" "MN" "ME" "MS" "MA" "MZ" "MM" "NA" "NR" "NP" "NL" "NC" "NZ" "NI" "NE" "NG" "NU" "NF" "MK" "MP" "NO" "OM" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "PL" "PT" "PR" "QA" "RE" "RO" "RU" "RW" "BL" "SH" "KN" "LC" "MF" "PM" "VC" "WS" "SM" "ST" "SA" "SN" "RS" "SC" "SL" "SG" "SX" "SK" "SI" "SB" "SO" "ZA" "GS" "SS" "ES" "LK" "SD" "SR" "SJ" "SE" "CH" "SY" "TW" "TJ" "TZ" "TH" "TL" "TG" "TK" "TO" "TT" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "AE" "GB" "US" "UM" "UY" "UZ" "VU" "VE" "VN" "VG" "VI" "WF" "EH" "YE" "ZM" "ZW"
  • AF - Afghanistan
  • AX - Åland Islands
  • AL - Albania
  • DZ - Algeria
  • AS - American Samoa
  • AD - Andorra
  • AO - Angola
  • AI - Anguilla
  • AQ - Antarctica
  • AG - Antigua and Barbuda
  • AR - Argentina
  • AM - Armenia
  • AW - Aruba
  • AU - Australia
  • AT - Austria
  • AZ - Azerbaijan
  • BS - Bahamas
  • BH - Bahrain
  • BD - Bangladesh
  • BB - Barbados
  • BY - Belarus
  • BE - Belgium
  • BZ - Belize
  • BJ - Benin
  • BM - Bermuda
  • BT - Bhutan
  • BO - Bolivia
  • BQ - Bonaire, Sint Eustatius and Saba
  • BA - Bosnia and Herzegovina
  • BW - Botswana
  • BV - Bouvet Island
  • BR - Brazil
  • IO - British Indian Ocean Territory
  • BN - Brunei Darussalam
  • BG - Bulgaria
  • BF - Burkina Faso
  • BI - Burundi
  • CV - Cabo Verde
  • KH - Cambodia
  • CM - Cameroon
  • CA - Canada
  • KY - Cayman Islands
  • CF - Central African Republic
  • TD - Chad
  • CL - Chile
  • CN - China
  • CX - Christmas Island
  • CC - Cocos (Keeling) Islands
  • CO - Colombia
  • KM - Comoros
  • CG - Congo
  • CD - Congo
  • CK - Cook Islands
  • CR - Costa Rica
  • CI - Côte d'Ivoire
  • HR - Croatia
  • CU - Cuba
  • CW - Curaçao
  • CY - Cyprus
  • CZ - Czech Republic
  • DK - Denmark
  • DJ - Djibouti
  • DM - Dominica
  • DO - Dominican Republic
  • EC - Ecuador
  • EG - Egypt
  • SV - El Salvador
  • GQ - Equatorial Guinea
  • ER - Eritrea
  • EE - Estonia
  • SZ - Eswatini
  • ET - Ethiopia
  • FK - Falkland Islands (Malvinas)
  • FO - Faroe Islands
  • FJ - Fiji
  • FI - Finland
  • FR - France
  • GF - French Guiana
  • PF - French Polynesia
  • TF - French Southern Territories
  • GA - Gabon
  • GM - Gambia
  • GE - Georgia
  • DE - Germany
  • GH - Ghana
  • GI - Gibraltar
  • GR - Greece
  • GL - Greenland
  • GD - Grenada
  • GP - Guadeloupe
  • GU - Guam
  • GT - Guatemala
  • GG - Guernsey
  • GN - Guinea
  • GW - Guinea-Bissau
  • GY - Guyana
  • HT - Haiti
  • HM - Heard Island and McDonald Islands
  • VA - Holy See
  • HN - Honduras
  • HK - Hong Kong
  • HU - Hungary
  • IS - Iceland
  • IN - India
  • ID - Indonesia
  • IR - Iran
  • IQ - Iraq
  • IE - Ireland
  • IM - Isle of Man
  • IL - Israel
  • IT - Italy
  • JM - Jamaica
  • JP - Japan
  • JE - Jersey
  • JO - Jordan
  • KZ - Kazakhstan
  • KE - Kenya
  • KI - Kiribati
  • KP - Korea
  • KR - Korea
  • KW - Kuwait
  • KG - Kyrgyzstan
  • LA - Lao People's Democratic Republic
  • LV - Latvia
  • LB - Lebanon
  • LS - Lesotho
  • LR - Liberia
  • LY - Libya
  • LI - Liechtenstein
  • LT - Lithuania
  • LU - Luxembourg
  • MO - Macao
  • MG - Madagascar
  • MW - Malawi
  • MY - Malaysia
  • MV - Maldives
  • ML - Mali
  • MT - Malta
  • MH - Marshall Islands
  • MQ - Martinique
  • MR - Mauritania
  • MU - Mauritius
  • YT - Mayotte
  • MX - Mexico
  • FM - Micronesia
  • MD - Moldova
  • MC - Monaco
  • MN - Mongolia
  • ME - Montenegro
  • MS - Montserrat
  • MA - Morocco
  • MZ - Mozambique
  • MM - Myanmar
  • NA - Namibia
  • NR - Nauru
  • NP - Nepal
  • NL - Netherlands
  • NC - New Caledonia
  • NZ - New Zealand
  • NI - Nicaragua
  • NE - Niger
  • NG - Nigeria
  • NU - Niue
  • NF - Norfolk Island
  • MK - North Macedonia
  • MP - Northern Mariana Islands
  • NO - Norway
  • OM - Oman
  • PK - Pakistan
  • PW - Palau
  • PS - Palestine
  • PA - Panama
  • PG - Papua New Guinea
  • PY - Paraguay
  • PE - Peru
  • PH - Philippines
  • PN - Pitcairn
  • PL - Poland
  • PT - Portugal
  • PR - Puerto Rico
  • QA - Qatar
  • RE - Réunion
  • RO - Romania
  • RU - Russian Federation
  • RW - Rwanda
  • BL - Saint Barthélemy
  • SH - Saint Helena, Ascension and Tristan da Cunha
  • KN - Saint Kitts and Nevis
  • LC - Saint Lucia
  • MF - Saint Martin (French part)
  • PM - Saint Pierre and Miquelon
  • VC - Saint Vincent and the Grenadines
  • WS - Samoa
  • SM - San Marino
  • ST - Sao Tome and Principe
  • SA - Saudi Arabia
  • SN - Senegal
  • RS - Serbia
  • SC - Seychelles
  • SL - Sierra Leone
  • SG - Singapore
  • SX - Sint Maarten (Dutch part)
  • SK - Slovakia
  • SI - Slovenia
  • SB - Solomon Islands
  • SO - Somalia
  • ZA - South Africa
  • GS - South Georgia and the South Sandwich Islands
  • SS - South Sudan
  • ES - Spain
  • LK - Sri Lanka
  • SD - Sudan
  • SR - Suriname
  • SJ - Svalbard and Jan Mayen
  • SE - Sweden
  • CH - Switzerland
  • SY - Syrian Arab Republic
  • TW - Taiwan
  • TJ - Tajikistan
  • TZ - Tanzania
  • TH - Thailand
  • TL - Timor-Leste
  • TG - Togo
  • TK - Tokelau
  • TO - Tonga
  • TT - Trinidad and Tobago
  • TN - Tunisia
  • TR - Turkey
  • TM - Turkmenistan
  • TC - Turks and Caicos Islands
  • TV - Tuvalu
  • UG - Uganda
  • UA - Ukraine
  • AE - United Arab Emirates
  • GB - United Kingdom
  • US - United States of America
  • UM - United States Minor Outlying Islands
  • UY - Uruguay
  • UZ - Uzbekistan
  • VU - Vanuatu
  • VE - Venezuela
  • VN - Viet Nam
  • VG - Virgin Islands (British)
  • VI - Virgin Islands (U.S.)
  • WF - Wallis and Futuna
  • EH - Western Sahara
  • YE - Yemen
  • ZM - Zambia
  • ZW - Zimbabwe
default_aircraft
string or null <uuid>
password
string non-empty

Responses

Request samples

Content type
{
  • "email": "user@example.com",
  • "full_name": "string",
  • "phone_number": "string",
  • "uas_operator_id": "string",
  • "pilot_license_id": "string",
  • "country": "AF",
  • "default_aircraft": "5d8bb8c2-9bc4-45d1-8fb4-970a2022ce05",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "email": "user@example.com",
  • "is_verified": true,
  • "full_name": "string",
  • "phone_number": "string",
  • "uas_operator_id": "string",
  • "country": "AF",
  • "registered": "2019-08-24T14:15:22Z",
  • "default_aircraft": {
    },
  • "owned_devices": [
    ],
  • "aircrafts": [
    ],
  • "preferences": {
    },
  • "flight_hours_this_period": "string",
  • "subscription_plan": {
    },
  • "trial_started": "2019-08-24"
}

Deactivate user profile

Deactivates the user profile (account). You can de-activate only your own account.

Deactivated profile cannot be re-activated, data will be anonymized.

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "messages": [
    ]
}

Get user preferences

Get user preferences

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update user preferences

Preferences can be updated partially (you don't have to specify all preferences, if you don't want to change them).If some preference should be removed, use blank value (such as null) as the value

Authorizations:
LegacyApiKeyAuth
path Parameters
id
required
string <uuid>
Request Body schema:
required
property
required
string non-empty
value
required
string non-empty

Responses

Request samples

Content type
{
  • "property": "string",
  • "value": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Get my profile

Returns detailed information about the actively logged user.

Authorizations:
LegacyApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "email": "user@example.com",
  • "is_verified": true,
  • "full_name": "string",
  • "phone_number": "string",
  • "uas_operator_id": "string",
  • "country": "AF",
  • "registered": "2019-08-24T14:15:22Z",
  • "default_aircraft": {
    },
  • "owned_devices": [
    ],
  • "aircrafts": [
    ],
  • "preferences": {
    },
  • "flight_hours_this_period": "string",
  • "subscription_plan": {
    },
  • "trial_started": "2019-08-24"
}

users_password_reset_request_create

Authorizations:
LegacyApiKeyAuth

Responses

Re-send a verification email

Re-send a verification email

Authorizations:
LegacyApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "messages": [
    ]
}

Personal Access Tokens

List tokens

Returns the list of PATs associated with the user from the auth JWT (user_id claim).

Authorizations:
OAuth2AuthorizationCodeBearer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new token

Creates a new personal access token (PAT).

The password is not stored. It is only required to obtain the offline token, which will be later used for the PAT -> JWT exchange.

Note that the token in the response is the only occassion the token will be made available, after that, it is not possible to obtain the full token again.

Authorizations:
OAuth2AuthorizationCodeBearer
Request Body schema: application/json
required
password
required
string <password> (Password)
Name (string) or Name (null) (Name)
Any of
string (Name)
expires_at
required
string <date-time> (Expires At)

Responses

Request samples

Content type
application/json
{
  • "password": "pa$$word",
  • "name": "string",
  • "expires_at": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "token": "string"
}

Get token detailed information

Authorizations:
OAuth2AuthorizationCodeBearer
path Parameters
token_id
required
string <uuid> (Token Id)

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "prefix": "string"
}

Delete and revoke token

Deletes/revokes the PAT. Revoked PATs are not stored.

Authorizations:
OAuth2AuthorizationCodeBearer
path Parameters
token_id
required
string <uuid> (Token Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}