Dattavani Backend: Ask Tataji Chat

Dattavani Backend: Ask Tataji Chat A sequence diagram generated by Archify. POST /api/chat + kid JWT 401 without a validkid token handle_chat_setup RPC conversation,membership, fairusage, daily minutes conversation_id + gates 403 expired or dailylimit; 429 fair usage load curated prompt only ifcurated_prompt_idmatches the query cached answer (free) skips credits insert user message XP counted first;coins stay 0 POST /query (text) circuit check, retry,60 s timeout answer + response_reason insert assistant message deduct credits ifcost > 0 flagged response_reason parent email fordistress, harmful,injection 200 answer_text X-Xp-Earned header POST /query (hybrid) adds audio_text forspeech answer + audio_text insert assistant (audio) TTS + upload mp3 R2 keyask-tataji-responses/{id}/audio.mp3 object key media_url, deduct 1 credit_cost_per_tataji_audio 200 audio_url POST /query (hybrid) answer + audio_text insert assistant (video) video_status =starting token + start session closes oldersessions; semaphoreof 4 LiveKit url + token 200 session + token billed later atavatar-session/stop HTTP error or timeout p90 > 15 s or 5failures opens thecircuit 503 or 502 error question saved, noanswer, no charge 200 text-only answer audio/video blocked:flag, premium, cap,balance TTS or R2 failed 502 AUDIO_TTS_FAILED,no charge 1 · Auth and gates (every mode) 2 · Text answer 3 · Audio reply 4 · Video reply 5 · Failures and fallbacks Kid App · Ask Tataji screen · Sequence participant Kid App Ask Tataji screen Chat endpoint · POST /api/chat · Sequence participant Chat endpoint POST /api/chat Postgres · RPC, messages · Sequence participant Postgres RPC, messages CHRAG · RAG answer service · Sequence participant CHRAG RAG answer service TTS + storage · ElevenLabs, R2 · Sequence participant TTS + storage ElevenLabs, R2 LiveAvatar · video session · Sequence participant LiveAvatar video session Safety alerts · background tasks · Sequence participant Safety alerts background tasks Legend main request return security async trace message