Advisory UAV operations
The SafeSky API enables the management of advisory information for UAV operations, allowing for the publication of UAV activity areas and retrieval of active advisories within specified parameters
The SafeSky API utilizes GeoJSON, a widely adopted format for encoding geographic data structures. GeoJSON allows UAV operators to define activity areas using points, lines, polygons, and multi-geometries, making it an ideal standard for representing advisory areas in aviation. To learn more about GeoJSON and its structure, visit the Wikipedia page on GeoJSON.
1. Publish Advisory Information
Endpoint: POST /v1/advisory
Description: Publish one or more UAV activity areas to the SafeSky platform.
Request Headers:
Content-Type: application/json
x-api-key: <your_api_key>
Request Body:
The request body should be a JSON string representing the GeoJSON of the advisory area(s).
The GeoJSON must include inside the properties element of the GeoJSON the following parameter:
id
string
Yes
A unique identifier for the advisory message. This helps in tracking and managing advisories.
call_sign
string
No
The call sign associated with the UAV operation. It can be used for easy identification.
last_update
long
Yes
The timestamp of the last update in seconds since epoch (UTC-0), ensuring the advisory's relevance.
max_altitude
int
Yes
The maximum altitude (in meters AMSL) at which UAV operations are expected to take place.
remarks
string
No
Free text comments providing additional information about the advisory (e.g., purpose of operation).
Example Request:
POST /advisory
Content-Type: application/json
x-api-key: your_api_key
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"id": "Advisory123",
"call_sign": "UAV_Alpha",
"last_update": 1738142598,
"max_altitude": 150,
"remarks": "Surveying area"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[4.39201, 50.69378],
[4.39300, 50.69400],
[4.39400, 50.69500],
[4.39201, 50.69378]
]
]
}
}
]
}
Response:
Notes:
coordinates for a polygon form a closed loop by repeating the first coordinate at the end of the array.
2. Retrieve Active Advisories
Endpoint: GET /v1/advisory
Description: Retrieve a list of active advisories within a specified viewport and altitude range.
Query Parameters:
viewport
string
Yes
Bounding box for retrieving advisories, formatted as southwest_lat,southwest_lng,northeast_lat,northeast_lng.
N/A
altitude_min
int
No
Filter advisories below the given altitude in AMSL meters. Zero means 'unused'.
0
altitude_max
int
No
Filter advisories above the given altitude in AMSL meters. Zero means 'unused'.
0
Example Request:
GET /v1/advisory?viewport=43.1035,-2.0821,47.9943,15.3216&altitude_min=100&altitude_max=500
x-api-key: your_api_key
Response:
Example Response:
[
{
"id": "Advisory123",
"call_sign": "UAV_Alpha",
"aircraft_type": "Quadcopter",
"lastUpdate": 1738142598,
"latitude": 50.69378,
"longitude": 4.39201,
"max_altitude": 150,
"remarks": "Surveying area",
"operationArea": {
"type": "Polygon",
"coordinates": [
[
[4.39201, 50.69378],
[4.39300, 50.69400],
[4.39400, 50.69500],
[4.39201, 50.69378]
]
]
}
}
]
Notes:
viewport parameter defines the geographical area to search for active advisories.
Altitude filters (altitude_min and altitude_max) help narrow down advisories to specific altitude ranges.