Documentation
Conversational Triage API
Build your solution
Reasoning

Reasoning

Reasoning explains what the assistant knew at a turn boundary and why it asked what it asked. It is a clinician- and audit-facing view, not something to show a patient mid-conversation.

GET /conversations/{conversation_id}/turns/{turn_id}/reasoning

Available for completed turns. Response: 200 OK with a Reasoning object.

cURL
curl "https://api.infermedica.com/api/ct/v2/conversations/68d9a84d-711c-4a55-a9dd-da6363e58e38/turns/a1b2c3d4-0000-0000-0000-000000000000/reasoning" \
  -H "Authorization: Bearer <token>"
JSON
{
  "turn_id": "a1b2c3d4-0000-0000-0000-000000000000",
  "conditions": [
    {
      "id": "c_123",
      "probability": 0.42,
      "name": "Migraine",
      "common_name": "Migraine"
    }
  ],
  "evidence": [
    { "name": "Headache", "state": "present" }
  ],
  "summary": "Headache is currently the strongest reported evidence, so the next question focuses on duration."
}
FieldTypeDescription
turn_idUUIDThe turn this reasoning describes.
conditionsReasoningCondition[]Conditions considered at the turn boundary, with the probability held at that moment.
evidenceReasoningEvidence[]Evidence — matched or unmatched — visible at the turn boundary.
summarystring or nullFree-text rationale summary when available.

Because the values are snapshots taken at the turn boundary, comparing reasoning across consecutive turns shows how the differential moved as evidence accumulated — useful for review screens and for explaining an assessment after the fact.

evidence here is deliberately lighter than assessment evidence: a label and a state, covering both matched and unmatched items.

Was this page helpful?