{"message":"DoctorAI Fastify API with Better Auth","version":"1.0.0","environment":"production","authentication":"Better Auth","endpoints":{"health":"/health","auth":"/auth/*","users":"/api/users","conversations":"/api/conversations","messages":"/api/messages","chat":"/api/chat-stream","questionnaireValidation":"/api/questionnaire-validate","rpc":"/api/rpc","legacyAuth":"/api/auth","testMagicLink":"/api/auth/test-magic-link","docs":"https://github.com/your-org/doctorai-backend"},"betterAuthEndpoints":{"signIn":"/auth/sign-in","signUp":"/auth/sign-up","signOut":"/auth/sign-out","resetPassword":"/auth/reset-password","verifyEmail":"/auth/verify-email","session":"/auth/session","magicLinkLogin":"/auth/magic-link-login"},"apiEndpoints":{"users":{"getCurrentUser":"GET /api/users/me","updateProfile":"PUT /api/users/me","deleteAccount":"DELETE /api/users/me","getMedicalQuestionnaire":"GET /api/users/me/medical-questionnaire","createMedicalQuestionnaire":"POST /api/users/me/medical-questionnaire","updateMedicalQuestionnaire":"PUT /api/users/me/medical-questionnaire"},"conversations":{"list":"GET /api/conversations","search":"GET /api/conversations/search","get":"GET /api/conversations/:id","create":"POST /api/conversations","update":"PUT /api/conversations/:id","delete":"DELETE /api/conversations/:id"},"messages":{"listForConversation":"GET /api/conversations/:conversationId/messages","listAll":"GET /api/messages","get":"GET /api/messages/:id","create":"POST /api/messages","update":"PUT /api/messages/:id","delete":"DELETE /api/messages/:id"},"chat":{"stream":"POST /api/chat-stream"},"questionnaire":{"validate":"POST /api/questionnaire-validate"},"smartFhir":{"launch":"POST /api/smart/launch","callback":"GET /api/smart/callback","connections":"GET /api/smart/connections","patientData":"GET /api/smart/patient-data","removeConnection":"DELETE /api/smart/connections","health":"GET /api/smart/health","writeCapabilities":"GET /api/smart/write-capabilities","uploadDocument":"POST /api/smart/fhir/DocumentReference","updatePatient":"PUT /api/smart/fhir/Patient"},"rpc":{"listFunctions":"GET /api/rpc","executeFunction":"POST /api/rpc/:functionName","availableFunctions":["get_user_medical_profile","search_conversations","get_conversation_summary","get_user_stats","create_conversation_with_message","get_recent_messages","get_conversation_insights","questionnaire-validate","health_check (public)","get_public_stats (public)","validate_email (public)"]},"tables":{"description":"PostgREST-like table operations for Swift SDK compatibility","select":"GET /api/:tableName?select=columns&filter=value","insert":"POST /api/:tableName","update":"PATCH /api/:tableName?filter=value","delete":"DELETE /api/:tableName?filter=value","supportedTables":["user","conversation","message","medical_questionnaire","recommendation","physician_recommendation"],"supportedFilters":["eq.value (equals)","neq.value (not equals)","gt.value (greater than)","gte.value (greater than or equal)","lt.value (less than)","lte.value (less than or equal)","like.pattern (SQL LIKE)","ilike.pattern (case-insensitive LIKE)","is.null/true/false","in.(value1,value2,value3)"],"supportedModifiers":["select=column1,column2","order=column.asc/desc.nullsfirst/nullslast","limit=number","offset=number"]}}}