TRIDOT / DEVELOPERS / PLAYGROUND
Put this in, get this out.
Each scenario below was run on the real engine and its output captured. Pick one to see the input, the output and the same request as code. Sign in to change the input and run it yourself in the portal playground.
Real outputs, scenario by scenario
Real engine output, captured 2026-10-04. Every input is a made-up scenario, not real user data.
Everyday small talk: every category should stay at none, with no action.
What to look forseverity none, action none and no score bars.
- RequestAssess the user turn
POST /v1/conversation-analytics/assessInput
Just got off work, grabbing tacos with a friend tonight! What's your favorite food?
{ "event": { "eventId": "evt_6nga426j_0", "conversationId": "conv_6nga426j", "userIdHash": "u_6nga426j", "turnIndex": 0, "speakerType": "user", "text": "Just got off work, grabbing tacos with a friend tonight! What's your favorite food?", "timestamp": "2026-10-01T00:37:22.280Z", "characterId": "char_haru" } }curl -X POST 'https://api.tridot.io/v1/conversation-analytics/assess' \ -H "Authorization: Bearer $TRIDOT_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"event":{"eventId":"evt_6nga426j_0","conversationId":"conv_6nga426j","userIdHash":"u_6nga426j","turnIndex":0,"speakerType":"user","text":"Just got off work, grabbing tacos with a friend tonight! What'\''s your favorite food?","timestamp":"2026-10-01T00:37:22.280Z","characterId":"char_haru"}}'const input = { "event": { "eventId": "evt_6nga426j_0", "conversationId": "conv_6nga426j", "userIdHash": "u_6nga426j", "turnIndex": 0, "speakerType": "user", "text": "Just got off work, grabbing tacos with a friend tonight! What's your favorite food?", "timestamp": "2026-10-01T00:37:22.280Z", "characterId": "char_haru" } }; const res = await fetch("https://api.tridot.io/v1/conversation-analytics/assess", { method: "POST", headers: { Authorization: `Bearer ${process.env.TRIDOT_API_KEY}`, "Idempotency-Key": crypto.randomUUID(), "Content-Type": "application/json", }, body: JSON.stringify(input), }); const data = await res.json(); // { ...output, request_id, mode }import os, uuid import requests payload = { "event": { "eventId": "evt_6nga426j_0", "conversationId": "conv_6nga426j", "userIdHash": "u_6nga426j", "turnIndex": 0, "speakerType": "user", "text": "Just got off work, grabbing tacos with a friend tonight! What's your favorite food?", "timestamp": "2026-10-01T00:37:22.280Z", "characterId": "char_haru" } } res = requests.post( "https://api.tridot.io/v1/conversation-analytics/assess", headers={ "Authorization": f"Bearer {os.environ['TRIDOT_API_KEY']}", "Idempotency-Key": str(uuid.uuid4()), }, json=payload, ) print(res.json()) # { ...output, request_id, mode }Output
Captured · Oct 1, 2026Severity noneAction noneAll 9 categories at 0 · none: self_harm, minor_safety, sexual, violence, harassment, pii, dependency, jailbreak, illegal
- Conversation peak
- none
- Conversation now (EMA)
- none
{ "eventId": "evt_6nga426j_0", "conversationId": "conv_6nga426j", "severity": "none", "action": "none", "categories": { "self_harm": { "score": 0, "level": "none", "subcategories": [] }, "minor_safety": { "score": 0, "level": "none", "subcategories": [] }, "sexual": { "score": 0, "level": "none", "subcategories": [] }, "violence": { "score": 0, "level": "none", "subcategories": [] }, "harassment": { "score": 0, "level": "none", "subcategories": [] }, "pii": { "score": 0, "level": "none", "subcategories": [] }, "dependency": { "score": 0, "level": "none", "subcategories": [] }, "jailbreak": { "score": 0, "level": "none", "subcategories": [] }, "illegal": { "score": 0, "level": "none", "subcategories": [] } }, "reasons": [], "conversation": { "severity": "none", "current": "none", "categories": { "self_harm": 0, "minor_safety": 0, "sexual": 0, "violence": 0, "harassment": 0, "pii": 0, "dependency": 0, "jailbreak": 0, "illegal": 0 } }, "engine": { "stages": [ "rules", "llm" ], "model": "gpt-4.1-mini", "latencyMs": 809 } }
