Skip to main content

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:

ParameterTypeRequiredDescription
idstringYesA unique identifier for the advisory message. This helps in tracking and managing advisories.
call_signstringNoThe call sign associated with the UAV operation. It can be used for easy identification.
last_updatelongYesThe timestamp of the last update in seconds since epoch (UTC-0), ensuring the advisory's relevance.
max_altitudeintYesThe maximum altitude (in meters AMSL) at which UAV operations are expected to take place.
remarksstringNoFree 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:

  • 201 Created: Advisory information published successfully.
  • 400 Bad Request: Invalid parameters or failed authentication.

Notes:

  • Ensure that the 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:

ParameterTypeRequiredDescriptionDefault
viewportstringYesBounding box for retrieving advisories, formatted as southwest_lat,southwest_lng,northeast_lat,northeast_lng.N/A
altitude_minintNoFilter advisories below the given altitude in AMSL meters. Zero means 'unused'.0
altitude_maxintNoFilter 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:

  • 200 OK: Returns a list of active advisories within the specified parameters.
  • 400 Bad Request: Invalid parameters or failed authentication.

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:

  • The 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.