Live UAV operations
1. Get Nearby Aircraft
Endpoint: GET /v1//uav
Description:  Retrieve a list of airborne aircraft within a specific radius and altitude range from the given latitude and longitude. By default, the search radius is 10000 meters, with a maximum of 20000 meters.
Request Headers:
x-api-key:<your_api_key>
Note: If you have published UAvs to the API, they will be part of the response.
Query Parameters:
| Parameter | Type | Required | Description | Default | 
|---|---|---|---|---|
lat | 
double | 
Yes | Latitude in decimal degrees (4 decimal precision). | N/A | 
lng | 
double | 
Yes | Longitude in decimal degrees (4 decimal precision). | N/A | 
alt_min | 
int | 
No | Filter all aircraft below the given altitude in AMSL meters. Zero means 'unused'. | 0 | 
alt_max | 
int | 
No | Filter all aircraft above the given altitude in AMSL meters. Zero means 'unused'. | 0 | 
rad | 
int | 
No | Radius in meters from the reference point (maximum: 20000 meters). | 10000 | 
Response:
- 200 OK: Returns a list of nearby aircraft.
 - 400 BAD REQUEST: Invalid parameters or failed authentication.
 
Example Request:
GET /v1/uav?latitude=48.8588&longitude=2.2943&altitude_min=1000&altitude_max=3000&radius=15000
Example Response:
[
     {
        "latitude": 48.86584,
        "longitude": 2.63723,
        "beacon_type": "JET",
        "call_sign": "IBE06CK",
        "transponder_type": "ADS-B",
        "last_update": 1733412793,
        "altitude": 10554,
        "vertical_rate": 2,
        "accuracy": 0,
        "altitude_accuracy": 0,
        "course": 205,
        "ground_speed": 237,
        "turn_rate": 0.0,
        "status": "AIRBORNE",
        "id": "3423C3"
    },
    {
        "latitude": 48.95459,
        "longitude": 2.44153,
        "beacon_type": "JET",
        "call_sign": "NJE419F",
        "transponder_type": "ADS-B",
        "last_update": 1733412793,
        "altitude": 0,
        "vertical_rate": 0,
        "accuracy": 0,
        "altitude_accuracy": 0,
        "course": 292,
        "ground_speed": 0,
        "turn_rate": 0.0,
        "status": "GROUNDED",
        "id": "494105"
    }
]
2. Publish UAV and Get Nearby Aircraft
Endpoint: POST /v1/uav
Description:Publishes one or many UAV position to the SafeSky platform. Optionally, it's returning a list of nearby aircraft for each UAV position within a radius of 10000 meters. This response will not include the UAV you have posted.
Request Headers:
Content-Type:application/jsonx-api-key:<your_api_key>
Note: UAVs that you have published are excluded from the response.
Request Body:
| Field | Type | Required | Description | 
|---|---|---|---|
id | 
string | 
Yes | Unique identifier for the UAV. | 
last_update | 
long | 
Yes | The time of the event in seconds since epoch at UTC-0. | 
latitude | 
double | 
Yes | Latitude in decimal degrees (4 decimal precision). | 
longitude | 
double | 
Yes | Longitude in decimal degrees (4 decimal precision). | 
altitude | 
int | 
Yes | Altitude of the UAV in AMSL meters. | 
groundSpeed | 
int | 
Yes | Ground speed of the UAV in meters per second. | 
course | 
int | 
Yes | Direction of travel in degrees clockwise relative to true north. | 
status | 
string | 
Yes | Current status of the UAV (INACTIVE, AIRBORNE, GROUNDED). | 
Query Parameters:
| Parameter | Type | Required | Description | Default | 
|---|---|---|---|---|
alt_min | 
int | 
No | Filter all aircraft below the given altitude in AMSL meters. Zero means 'unused'. | 0 | 
alt_max | 
int | 
No | Filter all aircraft above the given altitude in AMSL meters. Zero means 'unused'. | 0 | 
return_nearby_traffic | 
boolean | 
No | Return information about aircraft traffic within proximity of the UAV positions. | false | 
Additional query Parameters when show_nearby_traffic = true:
| Parameter | Type | Required | Description | Default | 
|---|---|---|---|---|
rad | 
int | 
No | Radius distance in meters from all UAV reference point (maximum: 20000 meters). | 10000 | 
return_grounded_traffic | 
boolean | 
No | Include grounded beacons. | false | 
Response:
- 201 CREATED: UAV published successfully; returns a list of nearby aircraft.
 - 400 BAD REQUEST: Invalid parameters or failed authentication.
 
Example POST Request:
POST /v1/uav?altitude_min=1000&altitude_max=3000&radius=15000
Content-Type: application/json
[
    {
        "id": "UAV123",
        "status": "AIRBORNE",
        "altitude": 180,
        "course": 250,
        "ground_speed": 24,
        "latitude": 50.69378,
        "longitude": 4.39201,
        "call_sign": "FlyingFrog"
    }
]
Similar response as Get Nearby Aircraft will be returned.