API Overview
PolitikTok exposes server functions as HTTP endpoints via Dioxus fullstack.
Architecture
PolitikTok uses Dioxus server functions rather than a traditional REST API. Each server function is:
- Defined with
#[server(endpoint = "name")] - Automatically serialized/deserialized
- Callable from both client-side components and external HTTP requests
Authentication
All API endpoints (except check-auth) require an authenticated session. Authentication is handled via Keycloak OIDC session cookies.
Endpoint Conventions
Server function endpoints follow the pattern:
POST /api/{endpoint-name}
Content-Type: application/cborModule Endpoints
Each module exposes its own set of server functions. See the individual module documentation for endpoint details:
| Module | Key Endpoints |
|---|---|
| Volunteer Matching | list-volunteers, match-volunteer, volunteer-detail |
| Policy Chatbot | policy-chat, policy-ingest, list-policy-sessions |
| Sentiment Monitor | ingest-posts, sentiment-summary, detect-spikes |
| Campaign Copy | generate-copy, list-copy-history |
| Opposition Research | list-opponents, generate-briefing, detect-contradictions |
| Canvassing | generate-script |
| Fundraising | list-donors, record-donation, draft-solicitation |
| Accountability | extract-commitments, add-evidence, accountability-report |
| Empathy Simulator | simulate-reaction |
| Narrative Contagion | extract-narratives, predict-virality |
| Coalition Detector | detect-tensions |
| Candidate Briefings | generate-briefing |
| Call Intelligence | analyze-transcript, call-trends |
| Coaching & Debate | coaching-exchange |
| Multilingual | translate-content |
| Question Anticipation | anticipate-questions, preparation-checklist |
| Local Issues | analyze-local-issues |
| Policy Diff | compare-policies |
| Faction Mapper | map-factions, consensus-finder |
| Regulatory Monitor | analyze-regulation |
| Media Monitor | analyze-article, compare-coverage |
| Disinfo Warning | analyze-disinfo, counter-messaging |
| Compliance | generate-report, compliance-check |
| Meetings | summarize-meeting |
| Knowledge Base | kb-query, kb-ingest |
| Admin | admin-health, admin-list-users |
Feedback Endpoint
All modules share a common feedback endpoint:
POST /api/record-feedbackParameters: module_id, resource_id, is_positive, is_active