Live UAV operations
1. Get Nearby Aircraft
Endpoint: GET /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.
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 /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 /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.
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 /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.
3. Check for API health
Endpoint: GET /
Description:
Provides health checks against the API. Returns the string 'UP' if network services are up and running.
Support
For assistance or further inquiries, please contact us at support@safesky.app
or visit our website.