{"service":"BigToe Unified Chatbot API","version":"2.0.0","description":"Combined client and provider chatbot functionality with analytics server utilities","endpoints":{"client":{"base":"/client","websocket":"/client/ws/chat/{client_id}","chat_post":"/client/chat (POST)","chat_post_v2":"/client/chat/V2 (POST)","sms_post":"/client/sms (POST)","ingest":"/client/ingest","data":"/client/data"},"provider":{"base":"/provider","websocket":"/provider/ws/chat/{client_id}","ingest":"/provider/ingest","data":"/provider/data"},"sop":{"base":"/sop","chat_post":"/sop/chat (POST)","ingest":"/sop/ingest","data":"/sop/data"},"event_flow":{"base":"/event-flow","summary_post":"/event-flow/summary (POST)"},"v3_respond":{"base":"/v3","respond_post":"/v3/respond (POST) — stateless classify + suggested reply for client & provider chats (backend-integration)","taxonomy_get":"/v3/taxonomy?user_type=client (GET) — inspect seeded taxonomy JSON for a user_type","ingest_taxonomy_client":"/v3/ingest_taxonomy/client (POST .xlsx)","ingest_taxonomy_provider":"/v3/ingest_taxonomy/provider (POST .xlsx)"},"severity":{"base":"/severity","tag_severity_post":"/severity/tag_severity (POST) — two-pass safety note classifier (note + optional safety_answer)","ingest_taxonomy_post":"/severity/ingest_taxonomy (POST) — re-seed safety tag taxonomy (hardcoded today, payload/API later)","taxonomy_get":"/severity/taxonomy (GET) — inspect active safety tags"},"analytics":{"base":"/utilities","validation":"/utilities/validation","license":"/utilities/license","health":"/utilities/health"},"testing":{"base":"/test","run_all":"/test/run-all","chatbot_tests":"/test/run-chatbot-tests","sop_tests":"/test/run-sop-tests","validation_tests":"/test/run-validation-tests","license_tests":"/test/run-license-tests"}},"documentation":"/docs","authentication":{"scheme":"HMAC-SHA256","headers":["X-CI-Timestamp","X-CI-Nonce","X-CI-Signature"],"message":"{timestamp}\\n{nonce}\\n{METHOD}\\n{path}\\n{body} (path only, no host)","configure_via_env":["API_HMAC_ENABLED","API_HMAC_SECRET","API_HMAC_SKEW_SECONDS","API_HMAC_REQUIRED_PATHS"],"phased_rollout":"Set API_HMAC_REQUIRED_PATHS=/hmac-ping to require HMAC only on that path; leave empty to protect all non-exempt routes."}}