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
29 lines
588 B
Markdown
29 lines
588 B
Markdown
# ADR-007 — API Design
|
|
|
|
## Status
|
|
Accepted for V1.
|
|
|
|
## Context
|
|
The frontend must be API-driven and Codex must not invent inconsistent response shapes.
|
|
|
|
## Decision
|
|
Use REST-style FastAPI endpoints with typed Pydantic schemas. Responses use stable envelopes for long-running jobs and direct resources for simple CRUD operations.
|
|
|
|
Errors use a common structure:
|
|
|
|
```json
|
|
{
|
|
"error": {
|
|
"code": "DATASET_NOT_FOUND",
|
|
"message": "Dataset not found.",
|
|
"details": {}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Consequences
|
|
Frontend API clients, tests, and docs stay consistent.
|
|
|
|
## Non-goals
|
|
No GraphQL in V1.
|