GDDCGeospatial

Resource

Projects.

Top-Level-Container. Alles andere (Flights, SollModels, Analyses, Reports) gehört zu einem Project. Pro Account beliebig viele.

POST/v1/projects

Projekt anlegen

Erstellt ein neues Projekt. Sektor bestimmt die Default-Klassen für die Pointcloud-Klassifizierung.

Body

NameTypBeschreibung
name*stringAnzeigename
sector*rail | construction | kritis | otherBranche
epsg*intCoordinate-System (z.B. 25832)
metadataobject?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}'
GET/v1/projects

Projekte listen

Paginierte Liste aller Projekte des Accounts.

Query-Parameter

NameTypBeschreibung
limitint (≤ 100, default 25)Page-Size
cursorstring?Pagination-Cursor aus vorherigem Response
sectorstring?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&sector=rail" \
  -H "Authorization: Bearer $GDDC_TOKEN"
GET/v1/projects/{id}

Projekt holen

Einzelnes Projekt mit allen Metadaten.

Path-Parameter

NameTypBeschreibung
id*stringProject-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"
PATCH/v1/projects/{id}

Projekt aktualisieren

Mutable Felder: name, metadata, default_clearance_profile.

Path-Parameter

NameTypBeschreibung
id*stringProject-ID

Body

NameTypBeschreibung
namestring?Neuer Anzeigename
metadataobject?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)"}'
DELETE/v1/projects/{id}

Projekt löschen

Soft-Delete (30 Tage Wiederherstellung möglich). Nach 30 Tagen physisch entfernt.

Path-Parameter

NameTypBeschreibung
id*stringProject-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"