Resource
Projects.
Top-Level-Container. Alles andere (Flights, SollModels, Analyses, Reports) gehört zu einem Project. Pro Account beliebig viele.
/v1/projectsProjekt anlegen
Erstellt ein neues Projekt. Sektor bestimmt die Default-Klassen für die Pointcloud-Klassifizierung.
Body
| Name | Typ | Beschreibung |
|---|---|---|
| name* | string | Anzeigename |
| sector* | rail | construction | kritis | other | Branche |
| epsg* | int | Coordinate-System (z.B. 25832) |
| metadata | object? | Free-form Key-Value |
Beispiel-Response
{
"id": "PRJ_aT3Dd9",
"name": "Strecke Lübeck-Süd",
"sector": "rail",
"epsg": 25832,
"created_at": "2026-04-27T08:01:14Z",
"metadata": {}
}Beispiel-Request
curl https://api.geospatial.gddc-sh.de/v1/projects \
-H "Authorization: Bearer $GDDC_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Strecke Lübeck-Süd","sector":"rail","epsg":25832}'/v1/projectsProjekte listen
Paginierte Liste aller Projekte des Accounts.
Query-Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| limit | int (≤ 100, default 25) | Page-Size |
| cursor | string? | Pagination-Cursor aus vorherigem Response |
| sector | string? | Filter auf Sektor |
Beispiel-Response
{
"items": [
{ "id": "PRJ_aT3Dd9", "name": "Strecke Lübeck-Süd", "sector": "rail", "epsg": 25832 },
{ "id": "PRJ_b5Lx2K", "name": "Baustelle A23", "sector": "construction", "epsg": 25832 }
],
"next_cursor": null
}Beispiel-Request
curl "https://api.geospatial.gddc-sh.de/v1/projects?limit=50§or=rail" \ -H "Authorization: Bearer $GDDC_TOKEN"
/v1/projects/{id}Projekt holen
Einzelnes Projekt mit allen Metadaten.
Path-Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| id* | string | Project-ID (PRJ_…) |
Beispiel-Response
{
"id": "PRJ_aT3Dd9",
"name": "Strecke Lübeck-Süd",
"sector": "rail",
"epsg": 25832,
"stats": {
"flights": 12,
"pointclouds": 12,
"soll_models": 1,
"analyses": 34,
"reports": 8
}
}Beispiel-Request
curl https://api.geospatial.gddc-sh.de/v1/projects/PRJ_aT3Dd9 \ -H "Authorization: Bearer $GDDC_TOKEN"
/v1/projects/{id}Projekt aktualisieren
Mutable Felder: name, metadata, default_clearance_profile.
Path-Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| id* | string | Project-ID |
Body
| Name | Typ | Beschreibung |
|---|---|---|
| name | string? | Neuer Anzeigename |
| metadata | object? | Wird shallow-gemerged |
Beispiel-Response
{ "id": "PRJ_aT3Dd9", "name": "Strecke Lübeck-Süd (KW17)", ... }Beispiel-Request
curl -X PATCH https://api.geospatial.gddc-sh.de/v1/projects/PRJ_aT3Dd9 \
-H "Authorization: Bearer $GDDC_TOKEN" \
-d '{"name":"Strecke Lübeck-Süd (KW17)"}'/v1/projects/{id}Projekt löschen
Soft-Delete (30 Tage Wiederherstellung möglich). Nach 30 Tagen physisch entfernt.
Path-Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| id* | string | Project-ID |
Beispiel-Response
{ "id": "PRJ_aT3Dd9", "deleted_at": "2026-04-27T08:14:22Z" }Beispiel-Request
curl -X DELETE https://api.geospatial.gddc-sh.de/v1/projects/PRJ_aT3Dd9 \ -H "Authorization: Bearer $GDDC_TOKEN"