All notable changes to the Protocol Guide tRPC API will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
system.health- Health check endpointsystem.notifyOwner- Admin notification system
auth.me- Get current user informationauth.logout- Clear session cookie
counties.list- List all counties with state groupingcounties.get- Get specific county by ID
user.usage- Get query usage statisticsuser.acknowledgeDisclaimer- Record disclaimer acknowledgment (P0 CRITICAL)user.hasAcknowledgedDisclaimer- Check disclaimer statususer.selectCounty- Set selected countyuser.savedCounties- Get saved counties with tier limitsuser.addCounty- Add county to saved listuser.removeCounty- Remove county from saved listuser.setPrimaryCounty- Set primary countyuser.primaryCounty- Get primary county
search.semantic- Semantic protocol search with Gemini Embedding 2 Preview + pgvector (Voyage removed 2026-03-24)search.getProtocol- Get protocol by IDsearch.stats- Get protocol statisticssearch.coverageByState- Get protocol coverage by statesearch.totalStats- Get total protocol statisticssearch.agenciesByState- Get agencies by statesearch.agenciesWithProtocols- Get all agencies with protocolssearch.searchByAgency- Search within specific agency
query.submit- Submit protocol query with Claude RAGquery.history- Get query historyquery.searchHistory- Get search history for cloud sync (Pro)query.syncHistory- Sync local history to cloud (Pro)query.clearHistory- Clear search historyquery.deleteHistoryEntry- Delete single history entry
voice.transcribe- Transcribe audio with OpenAI Whispervoice.uploadAudio- Upload audio file for transcription
feedback.submit- Submit user feedbackfeedback.myFeedback- Get user's feedback submissions
contact.submit- Submit public contact form
subscription.createCheckout- Create Stripe checkout sessionsubscription.createPortal- Create customer portal sessionsubscription.status- Get subscription statussubscription.createDepartmentCheckout- Create B2B department checkout
admin.listFeedback- List all feedback with filtersadmin.updateFeedback- Update feedback status and notesadmin.listUsers- List all users with filtersadmin.updateUserRole- Update user roleadmin.listContactSubmissions- List contact form submissionsadmin.updateContactStatus- Update contact submission statusadmin.getAuditLogs- Get admin audit logs
agencyAdmin.myAgencies- Get user's agenciesagencyAdmin.getAgency- Get agency detailsagencyAdmin.updateAgency- Update agency settingsagencyAdmin.listMembers- List agency membersagencyAdmin.inviteMember- Invite member to agencyagencyAdmin.updateMemberRole- Update member roleagencyAdmin.removeMember- Remove member from agencyagencyAdmin.listProtocols- List agency protocolsagencyAdmin.uploadProtocol- Upload protocol PDFagencyAdmin.getUploadStatus- Get upload processing statusagencyAdmin.updateProtocolStatus- Update protocol workflow statusagencyAdmin.publishProtocol- Publish protocol to searchagencyAdmin.archiveProtocol- Archive protocolagencyAdmin.listVersions- List protocol versionsagencyAdmin.createVersion- Create new protocol version
integration.logAccess- Log integration partner access (HIPAA compliant)integration.getStats- Get integration statistics (admin)integration.getRecentLogs- Get recent integration logs (admin)integration.getDailyUsage- Get daily usage for charts (admin)
referral.getMyReferralCode- Get or create user's referral codereferral.getMyStats- Get referral statisticsreferral.getMyReferrals- Get referral historyreferral.validateCode- Validate referral code (public)referral.redeemCode- Redeem referral codereferral.getShareTemplates- Get social share templatesreferral.getLeaderboard- Get top referrers leaderboardreferral.trackViralEvent- Track viral events
- Query normalization (EMS abbreviations, typo correction)
- Redis caching (1-hour TTL)
- Multi-query fusion for complex queries
- Advanced re-ranking for accuracy
- Latency monitoring
- Intelligent model routing (Haiku vs Sonnet)
- Query intent detection
- Protocol reference citations
- Usage tracking and limits
- Supabase Auth integration
- Bearer token authentication
- Role-based access control (user, admin)
- Tier-based permissions (free, pro, enterprise)
- Agency-level authorization
- Free tier: 10 queries/day
- Pro tier: Unlimited queries
- Enterprise tier: Unlimited queries + unlimited counties
- Integration router does NOT store PHI
- userAge and impression parameters ignored
- Safe error logging (no PHI in logs)
- Complete API reference documentation
- Quick reference guide
- TypeScript types reference
- Code examples for all procedures
- Authentication guide
- Error handling guide
- Best practices
- Image search support (protocol diagrams, flowcharts)
- Multi-language search (Spanish, French)
- Protocol comparison tool
- Saved searches
- Search filters (date range, protocol type)
- Streaming responses
- Follow-up questions
- Query suggestions
- Protocol bookmarking
- Export to PDF
- Real-time transcription
- Voice commands
- Multi-language support
- Noise reduction improvements
- User engagement metrics
- Search analytics dashboard
- Protocol usage statistics
- A/B testing framework
- Custom protocol upload workflow
- Protocol approval workflows
- Compliance tracking
- Agency analytics dashboard
- SSO integration (SAML, OIDC)
- Offline mode support
- Push notifications
- Biometric authentication
- Dark mode support
This is the initial release. No migration required.
None yet. First release.
None yet. All endpoints are stable.
- HIPAA-compliant integration logging (PHI explicitly excluded)
- Bearer token authentication with Supabase
- Role-based access control
- Agency-level authorization
- Redis caching for search results (1-hour TTL)
- Query normalization for better cache hits
- Batch query support via tRPC
- SuperJSON serialization for efficient data transfer
None yet. First release.
- None reported
- Voice transcription limited to 10MB files
- PDF uploads limited to 20MB
- Search query length limited to 500 characters
- Query text limited to 1000 characters
Protocol Guide API follows Semantic Versioning:
- MAJOR version: Incompatible API changes
- MINOR version: New functionality (backwards compatible)
- PATCH version: Bug fixes (backwards compatible)
- All public endpoints are considered stable as of 1.0.0
- Breaking changes will be announced 90 days in advance
- Deprecated endpoints will be supported for at least 6 months
- New features will be added with backwards compatibility
For questions about API changes:
- Email: support@protocolguide.app
- Documentation: docs/API_DOCUMENTATION.md
To suggest API improvements or report issues:
- Use
trpc.feedback.submit.mutate()in the app - Email support@protocolguide.app
- Contact your account manager (Enterprise only)
Protocol Guide API © 2026 Protocol Guide. All rights reserved.