{"message":"RadarCX AI Backend","status":"healthy","version":"1.0.0","firebase_enabled":true,"endpoints":{"/docs":"Interactive API documentation (Swagger UI)","/redoc":"Alternative API documentation (ReDoc)","/openapi.json":"OpenAPI specification (JSON)","/api/v1/auth":"Get Google OAuth URL (GET)","/api/v1/auth/callback":"Google OAuth callback (GET)","/api/v1/auth/password-reset":"Request Firebase password reset email (POST)","/api/v1/auth/logout":"Revoke Google Calendar access (POST)","/api/v1/integrations/terra/mobile/auth-token":"[Deprecated] Terra mobile SDK auth token (POST)","/api/v1/integrations/terra/widget-session":"[Deprecated] Terra widget session for wearable linking (POST)","/api/v1/integrations/terra/auth-result":"[Deprecated] Record Terra auth result from redirect (POST)","/api/v1/integrations/terra/health/charts":"Fetch native health chart series (rewired from Terra to direct health) (GET)","/api/v1/integrations/terra/disconnect":"Disconnect a native health connection (rewired from Terra) (POST)","/api/v1/health/connection":"Register or refresh a native health connection (POST, GET)","/api/v1/health/summaries":"Upload daily native health summaries (POST)","/api/v1/health/minute-samples":"Upload minute-resolution intra-day health samples (POST, GET)","/api/v1/health/rollup":"Read precomputed weekly/monthly/yearly health rollups (GET)","/api/v1/user/profile":"Get user profile and auth status (GET)","/api/v1/user/trial/start":"Start a self-serve trial (POST)","/api/v1/user/onboarding/complete":"Complete step 2 of onboarding (POST)","/api/v1/user/set-assistant-email":"Set AI assistant email (one-time only) (POST)","/api/v1/user":"Get current user information (GET, DELETE, PATCH)","/api/v1/user/api-key":"Get API key metadata (GET, POST, DELETE)","/api/v1/user/api-key/revoke":"Revoke API key (DELETE)","/api/v1/user/memory":"Get user memory (GET, PUT)","/api/v1/chat":"Chat Stream (POST)","/api/v1/chat/conversations":"Get all conversations (GET, POST)","/api/v1/chat/conversations/{conversation_id}":"Get conversation by ID (GET, PATCH, DELETE)","/api/v1/chat/conversations/{conversation_id}/messages":"Add a message to a conversation (POST)","/api/v1/chat/conversations/{conversation_id}/messages/{message_id}":"Update a message (PATCH, DELETE)","/api/v1/billing/history":"Get billing history (GET)","/api/v1/billing/upcoming":"Get upcoming invoice (GET)","/api/v1/subscriptions/plans":"Get subscription plans (GET)","/api/v1/subscriptions/current":"Get current subscription (GET)","/api/v1/dashboards":"Get user dashboards (GET, POST)","/api/v1/dashboards/{dashboard_id}":"Delete a dashboard (DELETE, PATCH)","/api/v1/contacts":"Get contacts (GET, POST)","/api/v1/contacts/{contact_id}":"Get one contact (GET, PATCH, DELETE)","/communications/api/v1/mail/inbound":"Receive Mailgun webhook (POST)","/communications/api/v1/mail/storage-info":"Get mail storage information (GET)","/communications/api/v1/mail/health":"Health check for mail service (GET)","/communications/api/v1/mail/inbox":"Get paginated inbox listing (GET)","/communications/api/v1/mail/message/{message_id}":"Get single message details (GET)","/communications/api/v1/mail/mark-read":"Mark messages as read/unread (PATCH)","/communications/api/v1/mail/star":"Star/unstar messages (PATCH)","/communications/api/v1/mail/send":"Send emails (POST)","/communications/api/v1/mail/delete":"Delete messages (DELETE)","/communications/api/v1/mail/thread/{thread_id}":"Get thread conversation (GET)","/communications/api/v1/mail/search":"Advanced search (POST)","/communications/api/v1/mail/sent":"Get sent mailbox listing (GET)","/communications/api/v1/mail/{email_id}":"Get email details (GET, DELETE)","/api/v1/tasks":"Create a new task (POST, GET)","/api/v1/tasks/{task_id}":"Update a task (PUT, PATCH, DELETE)","/api/v1/tasks/filtered":"Get filtered tasks (GET)","/api/v1/reminders":"Create a new reminder (POST, GET)","/api/v1/reminders/{reminder_id}":"Get one reminder (GET, PATCH, DELETE)","/api/v1/reminders/{reminder_id}/deactivate":"Deactivate a reminder (POST)","/api/v1/reminders/{reminder_id}/activate":"Activate a reminder (POST)","/api/v1/notifications":"Get notifications (GET)","/api/v1/notifications/unread-count":"Get unread notification count (GET)","/api/v1/notifications/{notification_id}/read":"Mark notification as read (POST)","/api/v1/notifications/{notification_id}/dismiss":"Dismiss a notification (POST)","/api/v1/notifications/{notification_id}/complete":"Complete a notification (POST)","/knowledge/api/v1/priorities/":"Get all priority labels (GET)","/knowledge/api/v1/priorities/{priority_id}":"Get priority by ID (GET)","/knowledge/api/v1/tags/":"Get user's tags (GET, POST)","/knowledge/api/v1/tags/{tag_id}":"Get tag by ID (GET, PUT, DELETE)","/knowledge/api/v1/tags/{tag_id}/archive":"Archive or unarchive a tag (POST)","/api/v1/payment/checkout-sessions":"Checkout Plan (POST)","/api/v1/payment/create-checkout-session":"Create Checkout Session (POST)","/api/v1/payment/create-subscription":"Create Subscription Checkout (POST)","/api/v1/payment/session/{session_id}":"Get Payment Session (GET)","/api/v1/payment/webhook":"Stripe Webhook (POST)","/api/v1/payment/config":"Get Stripe Config (GET)","/":"Root (GET)","/cors-debug":"Cors Debug (GET)","/health":"Health Check (GET)","/model-info":"Get Model Info (GET)"}}