Summary
All developer-facing endpoints need authentication and basic rate limiting before Phase 1 ships.
Acceptance Criteria
API Key middleware
Rate limiting
Tests
Files
services/api/middleware/auth.go (new), services/api/middleware/ratelimit.go (new)
Summary
All developer-facing endpoints need authentication and basic rate limiting before Phase 1 ships.
Acceptance Criteria
API Key middleware
X-API-Keyheader on all/v1/*and/wsrequestsAPI_KEY_SALTenv var; compare against stored hashGET /v1/healthRate limiting
Retry-Afterheader when limit exceededgolang.org/x/time/rate(stdlib-adjacent, no heavy dependency)Tests
Files
services/api/middleware/auth.go(new),services/api/middleware/ratelimit.go(new)