588 B
588 B
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:
{
"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.