civicos-services¶
FastAPI REST API server. Exposes civic data, coordination, AI, and admin endpoints.
Location: packages/civicos-services/
Endpoints¶
Core¶
GET /health— Health checkGET /api/status— Detailed health with dependency checksGET /api/jurisdictions— Available jurisdictions with data countsGET /api/config/google-maps-key— Frontend geocoding config
Data¶
GET /api/events— Meeting listingsGET /api/events/search— Meeting searchGET /api/events/{id}— Meeting detailGET /api/issues— Community issuesGET /api/issues/search— Issue searchGET /api/legislation/state/{topic}— State legislation by topicGET /api/legislation/federal/{topic}— Federal legislation by topicGET /api/voting-record/*— Official voting recordsGET /api/budget— Budget dataGET /api/transcripts— Transcript searchGET /api/public-testimony— Public testimony search
Coordination¶
POST /api/coordination/voice— Cast a voice (stance)GET /api/coordination/voice/counts/{entity}— Voice counts per entityGET /api/coordination/voice/{entity}— List voices on entityPOST /api/coordination/subscribe— Subscribe to topic/entityDELETE /api/coordination/subscribe/{id}— UnsubscribeGET /api/coordination/provenance/{public_key}— Key provenanceGET /api/coordination/sync/voices— Export voices for peer syncPOST /api/coordination/sync/voices— Import voices from peer
AI¶
POST /api/conversation— AI conversation (30 req/min)POST /api/chat/route— Chat intent classification (30 req/min)POST /api/ai/*— LLM provider proxying
User¶
/api/user/*— Profile and preferences/api/follows/*— Topic/entity following/api/threads/*— Discussion threads/api/drafts— Draft comments
Admin¶
POST /api/admin/trigger— ETL operations (10 req/min)/.well-known/nostr.json— NIP-05 identity verification
Auth¶
Optional API key authentication. Keys are tracked with usage logging.
Rate Limiting¶
Global per-client rate limiting, plus stricter per-endpoint limits on AI and admin endpoints.