Files
geointel/docs/API_SPECIFICATION.md
T
Jens faeb58ef6d
GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
Initial public release
2026-08-31 21:56:53 +02:00

230 lines
3.2 KiB
Markdown

# API Specification v1.0
Basispad: `/api/v1`
## Projects
### GET /projects
Geeft alle projecten terug.
### POST /projects
Maakt een project aan.
Body:
```json
{
"name": "Geel gebouwdetectie demo",
"description": "Detectie en QA/QC van gebouwen in Geel",
"region": "Kempen"
}
```
### GET /projects/{project_id}
Geeft projectdetails terug.
### DELETE /projects/{project_id}
Verwijdert een project en gekoppelde metadata. Bestanden moeten veilig afgehandeld worden.
## Areas
### GET /projects/{project_id}/areas
Geeft analysegebieden van een project.
### POST /projects/{project_id}/areas
Maakt analysegebied aan.
Body:
```json
{
"name": "Geel Centrum",
"geometry": { "type": "Polygon", "coordinates": [] }
}
```
### GET /areas/{area_id}
Geeft gebieddetails.
## Datasets
### POST /projects/{project_id}/datasets/upload
Uploadt raster of vector dataset.
Multipart:
- file
- name
- dataset_type
- source
### GET /projects/{project_id}/datasets
Lijst datasets.
### GET /datasets/{dataset_id}
Datasetdetails.
### GET /datasets/{dataset_id}/metadata
Metadata.
### POST /datasets/{dataset_id}/extract-metadata
Start metadata extraction job.
## Reference Data
### POST /projects/{project_id}/reference/grb/fetch
Haalt GRB-data op voor een area.
Body:
```json
{
"area_id": "uuid",
"layers": ["buildings"]
}
```
### POST /projects/{project_id}/reference/osm/fetch
Haalt OSM-data op voor een area.
## Raster
### POST /datasets/{dataset_id}/raster/clip
Clipt raster op area.
### POST /datasets/{dataset_id}/raster/tile
Maakt tiles voor AI-inference.
Body:
```json
{
"tile_size": 640,
"overlap": 64,
"area_id": "uuid"
}
```
### POST /datasets/{dataset_id}/raster/indices/ndvi
V2: berekent NDVI.
## Vector
### POST /datasets/{dataset_id}/vector/clip
Clipt vectorlaag op area.
### POST /datasets/{dataset_id}/vector/buffer
Maakt buffers.
### POST /datasets/{dataset_id}/vector/validate
Valideert geometrieën.
## Analysis
### POST /analysis/object-detection
Start objectdetectie.
Body:
```json
{
"project_id": "uuid",
"area_id": "uuid",
"dataset_id": "uuid",
"model_id": "uuid-or-default",
"classes": ["building"],
"confidence_threshold": 0.35
}
```
### POST /analysis/segmentation
Start segmentatie.
### POST /analysis/change-detection
Start change detection.
### GET /analysis/{analysis_run_id}
Geeft runstatus en resultaten.
### GET /analysis/{analysis_run_id}/detections
Geeft detecties als GeoJSON FeatureCollection.
### GET /analysis/{analysis_run_id}/segmentations
Geeft segmentaties als GeoJSON FeatureCollection.
## QA/QC
### POST /analysis/{analysis_run_id}/quality-check
Vergelijkt AI-resultaten met referentiedataset.
Body:
```json
{
"reference_dataset_id": "uuid",
"iou_threshold": 0.5,
"class_mapping": {
"building": "building"
}
}
```
### GET /quality-checks/{quality_check_id}
Geeft QA/QC-resultaten.
## Exports
### POST /exports/geojson
Exporteert analysis output naar GeoJSON.
### POST /exports/yolo
Exporteert annotaties naar YOLO-formaat.
### POST /exports/coco
Exporteert annotaties naar COCO-formaat.
### GET /exports/{export_id}/download
Download exportbestand.
## Jobs
### GET /jobs/{job_id}
Geeft jobstatus.
### GET /projects/{project_id}/jobs
Geeft jobs van een project.