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:

Parameter Type Required Description
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 /v1/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:

Parameter Type Required Description Default
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:

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