Files
geointel/docs/API_CONTRACT_FREEZE_M2.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

1.2 KiB

API Contract Freeze M2

Required V1 endpoints

Health

GET /health

Response:

{"status":"ok","service":"geointel-backend"}

Projects

POST /projects

Request:

{"name":"Geel Building Detection","description":"Demo project","region":"Kempen"}

Response: project object.

GET /projects

Response: paginated projects.

Areas

POST /projects/{project_id}/areas

Request must contain GeoJSON polygon.

Datasets

POST /projects/{project_id}/datasets/upload

Multipart upload. Returns dataset object and metadata status.

GET /projects/{project_id}/datasets

Returns datasets.

Analysis runs

POST /analysis/object-detection

Request:

{
  "project_id": "uuid",
  "dataset_id": "uuid",
  "area_id": "uuid",
  "model_id": "yolov8n-building-demo",
  "confidence_threshold": 0.5
}

Response: job envelope.

GET /analysis-runs/{id}

Returns run status, metrics, outputs.

QA/QC

POST /analysis/qaqc/building-detection-vs-reference

Request:

{
  "project_id": "uuid",
  "prediction_run_id": "uuid",
  "reference_dataset_id": "uuid",
  "iou_threshold": 0.5
}

Response: job envelope.

Exports

POST /exports/geojson

Exports detections, segmentations, QA findings, or vector layers.