TheDroneMap · Developer docs
External API
External Flight Reports API
Connect your application to TheDroneMap flight-report data.
Create an app and get credentials
- Log in to TheDroneMap.com.
- Open your profile page.
- Select Apps.
- Create an app.
- Copy its API key and app ID.
Send these headers with every request:
HTTP · Request headers
Authorization: Bearer <API_KEY>
X-User-App-Id: <APP_ID>
Endpoints
Base URL
https://api.tdm.testmyapp.dev
| Method | Path | Description |
|---|---|---|
GET |
/flight-reports |
List flight reports created by the authenticated app. Supports page_size; the default is 20. |
POST |
/flight-reports |
Create a flight report. |
GET |
/flight-reports/{flight_report} |
Get one flight report created by the authenticated app. |
PUT |
/flight-reports/{flight_report} |
Replace a flight report. All creation fields are required. |
PATCH |
/flight-reports/{flight_report} |
Partially update a flight report. |
DELETE |
/flight-reports/{flight_report} |
Delete a flight report. |
An app can only access its own reports.
Create a flight report
POST /flight-reports requires:
| Field | Rules |
|---|---|
title | String, 5–255 characters. |
description | String, 5–5000 characters. |
height | Integer from 1 to 10,000. |
started_at | Date/time. |
ended_at | Date/time on or after started_at. A report may last at most seven days. |
location | Object containing lat and lng. |
location.lat | Numeric latitude from -90 to 90. |
location.lng | Numeric longitude from -180 to 180. |
Optional fields are external_user_id (up to 255 characters) and meta (an object).
The API rejects user_id, source_type, and source_id; ownership is assigned from the authenticated app.
Location formats
Circle location
Use type: "circle" with a centre point and optional radius in metres:
{
"type": "circle",
"lat": 51.5,
"lng": -0.1,
"radius": 500
}
Polygon location
Use type: "polygon" with an anchor point and at least three points. Each point is [latitude, longitude]:
{
"type": "polygon",
"lat": 51.5,
"lng": -0.1,
"points": [
[51.5, -0.1],
[51.51, -0.1],
[51.51, -0.09],
[51.5, -0.09]
]
}
Example request
POST
/flight-reports
POST https://api.tdm.testmyapp.dev/flight-reports
Authorization: Bearer <API_KEY>
X-User-App-Id: <APP_ID>
Content-Type: application/json
{
"title": "External flight report",
"description": "Logged from an external system.",
"height": 120,
"started_at": "2026-08-24T10:00:00+00:00",
"ended_at": "2026-08-24T11:00:00+00:00",
"location": {
"type": "circle",
"lat": 51.5,
"lng": -0.1,
"radius": 500
},
"external_user_id": "external-user-123",
"meta": {
"source": "external-system"
}
}