Resource
Flights.
Ein Flight aggregiert Captures (Bilder/Scans) eines einzelnen Drohnen-Einsatzes. Verarbeitung wird automatisch nach Upload-Ende getriggert.
/v1/flightsFlight anlegen + Upload-URL erzeugen
Erstellt einen Flight im Status 'pending_upload' und liefert eine pre-signed S3-URL für Bulk-Upload zurück. Nach Upload-Ende ruft der Client /commit auf.
Body
| Name | Typ | Beschreibung |
|---|---|---|
| project_id* | string | Ziel-Projekt |
| drone_model* | string | z.B. DJI_M3E |
| pilot_id | string? | Mitarbeiter-Mail oder employee.id |
| lba_approval_id | string? | Verweis auf PRD 44 Approval |
Beispiel-Response
{
"id": "FLT_kL2Pq8",
"project_id": "PRJ_aT3Dd9",
"status": "pending_upload",
"upload": {
"url": "https://uploads.geospatial.gddc-sh.de/FLT_kL2Pq8?...",
"expires_at": "2026-04-27T10:01:14Z",
"max_parts": 1000
}
}Beispiel-Request
curl https://api.geospatial.gddc-sh.de/v1/flights \
-H "Authorization: Bearer $GDDC_TOKEN" \
-d '{"project_id":"PRJ_aT3Dd9","drone_model":"DJI_M3E"}'/v1/flights/{id}/commitUpload abschließen
Markiert den Upload als fertig und triggert die Verarbeitungs-Pipeline. Sollte vom CLI/SDK aufgerufen werden, sobald alle Bilder hochgeladen wurden.
Path-Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| id* | string | Flight-ID |
Body
| Name | Typ | Beschreibung |
|---|---|---|
| rtk_file_url | string? | S3-URL der RTK-MRK/CSV im selben Upload-Bucket |
Beispiel-Response
{ "id": "FLT_kL2Pq8", "status": "processing", "queue_position": 2 }Beispiel-Request
curl -X POST https://api.geospatial.gddc-sh.de/v1/flights/FLT_kL2Pq8/commit \
-H "Authorization: Bearer $GDDC_TOKEN" \
-d '{"rtk_file_url":"https://uploads.geospatial.gddc-sh.de/FLT_kL2Pq8/rtk.csv"}'/v1/flights/{id}Flight-Status holen
Live-Status mit Stages und Progress.
Path-Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| id* | string | Flight-ID |
Beispiel-Response
{
"id": "FLT_kL2Pq8",
"project_id": "PRJ_aT3Dd9",
"drone_model": "DJI_M3E",
"rtk_status": "fixed",
"captures": 1247,
"size_bytes": 3_421_098_752,
"status": "processing",
"stages": [
{ "name": "upload", "status": "done", "duration_ms": 222_400 },
{ "name": "validation", "status": "done", "duration_ms": 11_120 },
{ "name": "georef", "status": "done", "duration_ms": 42_080 },
{ "name": "sfm", "status": "in_progress","progress": 0.62 },
{ "name": "classify", "status": "queued" },
{ "name": "tiles", "status": "queued" }
]
}Beispiel-Request
curl https://api.geospatial.gddc-sh.de/v1/flights/FLT_kL2Pq8 \ -H "Authorization: Bearer $GDDC_TOKEN"
/v1/flightsFlights listen
Liste aller Flights, gefiltert nach Project oder Status.
Query-Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| project_id | string? | Nur Flights dieses Projekts |
| status | string? | z.B. processing | done | failed |
| limit | int | Page-Size, max 100 |
Beispiel-Response
{
"items": [
{ "id": "FLT_kL2Pq8", "status": "done", "captures": 1247 },
{ "id": "FLT_jQ8Mp4", "status": "processing", "captures": 912 }
],
"next_cursor": null
}Beispiel-Request
curl "https://api.geospatial.gddc-sh.de/v1/flights?project_id=PRJ_aT3Dd9" \ -H "Authorization: Bearer $GDDC_TOKEN"