# API Example Responses ## Error Envelope ```json { "error": { "code": "DATASET_UNSUPPORTED_FORMAT", "message": "The uploaded file extension is not supported.", "details": {"extension": ".txt"}, "request_id": "req_01HY" } } ``` ## Health ```json { "status": "ok", "services": { "database": "ok", "redis": "ok", "storage": "ok" }, "version": "0.1.0" } ``` ## Project ```json { "id": "prj_geel_demo", "name": "Geel Building Detection Demo", "description": "Portfolio demo for GeoAI object detection and GRB QA.", "region": "Kempen", "created_at": "2026-06-10T00:00:00Z" } ``` ## Area FeatureCollection ```json { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "id": "area_geel_center", "name": "Geel Centrum", "area_m2": 1250000 }, "geometry": { "type": "Polygon", "coordinates": [[[4.98,51.16],[5.00,51.16],[5.00,51.18],[4.98,51.18],[4.98,51.16]]] } } ] } ``` ## Dataset Metadata ```json { "id": "ds_grb_buildings_geel", "project_id": "prj_geel_demo", "name": "GRB Buildings Geel Demo", "dataset_type": "vector", "source": "demo_fixture", "status": "ready", "crs": "EPSG:4326", "bounds": [4.98, 51.16, 5.00, 51.18], "metadata": { "feature_count": 12, "geometry_types": ["Polygon"] } } ``` ## Detection Run ```json { "id": "run_detection_001", "project_id": "prj_geel_demo", "analysis_type": "object_detection", "status": "completed", "parameters": { "model_id": "demo-yolo-buildings-v1", "confidence_threshold": 0.35, "tile_size": 512 }, "metrics": { "detection_count": 14, "mean_confidence": 0.82 } } ``` ## QA/QC Result ```json { "id": "qc_001", "analysis_run_id": "run_detection_001", "reference_dataset_id": "ds_grb_buildings_geel", "iou_threshold": 0.5, "metrics": { "true_positive": 11, "false_positive": 3, "false_negative": 1, "precision": 0.7857, "recall": 0.9167, "f1": 0.8462 } } ```