Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Design and build a small REST API spec-first: write the OpenAPI document for a resource (collection + item, correct methods and precise status codes, one consistent error shape), serve interactive docs generated from it, then implement endpoints that conform to the spec. Include bounded pagination on the list endpoint.
A valid OpenAPI spec is the source of truth; docs are generated from it and the implementation conforms.
Consistent resource-oriented URIs, correct methods, and precise status codes (201/Location, 204, 4xx).
One consistent, machine-readable error shape; the list endpoint is bounded and paginated.
JSON conventions (casing, ISO dates) uniform; the API is predictable by generalization.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# Design-first REST API with OpenAPI ## Goal Design and build a small REST API spec-first: write the OpenAPI document for a resource (collection + item, correct methods and precise status codes, one consistent error shape), serve interactive docs generated from it, then implement endpoints that conform to the spec. Include bounded pagination on the list endpoint. ## Acceptance criteria - [ ] OpenAPI contract: A valid OpenAPI spec is the source of truth; docs are generated from it and the implementation conforms. - [ ] Resource & HTTP design: Consistent resource-oriented URIs, correct methods, and precise status codes (201/Location, 204, 4xx). - [ ] Error & pagination contract: One consistent, machine-readable error shape; the list endpoint is bounded and paginated. - [ ] Consistency: JSON conventions (casing, ISO dates) uniform; the API is predictable by generalization. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.