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
1.1 KiB
1.1 KiB
API Response Rules
All API responses must be stable and implementation-friendly.
Success Envelope
For single resources:
{
"data": {},
"meta": {}
}
For lists:
{
"data": [],
"meta": {
"count": 0,
"limit": 50,
"offset": 0
}
}
Error Envelope
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Human readable message",
"details": {},
"trace_id": "optional"
}
}
Required Resource Fields
Most persisted resources should include:
idcreated_atupdated_at
Geospatial resources should also include:
crsboundsgeometry_typewhere applicable
Analysis resources should include:
statusparametersoutputsmetricserror_messagewhen failed
Pagination
Use limit and offset for V1. Cursor pagination can be added later if needed.
Sorting
Default sort: newest first for projects, datasets, analyses and exports.
Contract Drift Rule
If implementation changes any response shape, update:
contracts/api/- API docs
- frontend API client types
- tests