Initial public release
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
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
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
# M9 API Validation Examples
|
||||
|
||||
All errors must use the documented API envelope.
|
||||
|
||||
## Invalid Project Name
|
||||
|
||||
Request:
|
||||
|
||||
```json
|
||||
{ "name": "" }
|
||||
```
|
||||
|
||||
Response:
|
||||
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"data": null,
|
||||
"error": {
|
||||
"code": "validation_error",
|
||||
"message": "Project name is required.",
|
||||
"details": { "field": "name" }
|
||||
},
|
||||
"meta": {}
|
||||
}
|
||||
```
|
||||
|
||||
## Invalid GeoJSON Polygon
|
||||
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"data": null,
|
||||
"error": {
|
||||
"code": "invalid_geometry",
|
||||
"message": "Area geometry must be a valid Polygon or MultiPolygon in EPSG:4326.",
|
||||
"details": {
|
||||
"reason": "self_intersection"
|
||||
}
|
||||
},
|
||||
"meta": {}
|
||||
}
|
||||
```
|
||||
|
||||
## Unsupported Dataset Type
|
||||
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"data": null,
|
||||
"error": {
|
||||
"code": "unsupported_dataset_type",
|
||||
"message": "This file type is not supported in V1.",
|
||||
"details": {
|
||||
"allowed_extensions": [".geojson", ".json", ".tif", ".tiff", ".gpkg"]
|
||||
}
|
||||
},
|
||||
"meta": {}
|
||||
}
|
||||
```
|
||||
|
||||
## External Source Unavailable
|
||||
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"data": null,
|
||||
"error": {
|
||||
"code": "external_service_unavailable",
|
||||
"message": "The GRB service is unavailable. Use cached data or retry later.",
|
||||
"details": { "source": "GRB" }
|
||||
},
|
||||
"meta": {}
|
||||
}
|
||||
```
|
||||
|
||||
## Job Failed
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"job_id": "uuid",
|
||||
"status": "failed",
|
||||
"error_code": "model_not_available",
|
||||
"error_message": "No compatible detection model is configured."
|
||||
},
|
||||
"error": null,
|
||||
"meta": {}
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user