Reports

A report is the structured analysis produced after a conversation ends. It is what turns a recording into something your systems can act on: an outcome, extracted fields, and — for interviews — scores.

Reports are generated asynchronously. Both report endpoints answer 202 with status: "pending" until the analysis finishes, then 200 with the full document.

bash
curl "https://api.rabbitt.ai/api/v1/calls/CALL_ID/report" \
  -H "Authorization: Bearer $RABBITT_API_KEY"

Two shapes

The type field tells you which you have.

Phone reports

Built around what happened and what was learned:

json
{
  "object": "report",
  "type": "phone",
  "outcome": "promised_to_pay",
  "summary": "Customer will pay the outstanding balance on Friday.",
  "capturedFields": [
    {
      "field": "amount",
      "value": "4200",
      "confidence": 0.91,
      "sourceQuote": "four thousand two hundred"
    }
  ],
  "dispositionResults": [
    {
      "key": "promise_to_pay",
      "name": "Promise to pay",
      "value": true,
      "confidence": 0.88,
      "sourceQuote": "I will pay Friday"
    }
  ],
  "sentiment": "cooperative",
  "nextAction": "Follow up Monday if payment not received"
}

Interview reports

Built around evaluation:

json
{
  "object": "report",
  "type": "voice",
  "summary": "Strong fundamentals, limited depth on system design.",
  "scores": { "communication": 4, "technical_depth": 3 },
  "scoreExplanations": {
    "technical_depth": "Described the what but not the why."
  },
  "strengths": ["Clear, structured answers"],
  "improvements": ["Probe deeper on trade-offs"],
  "highlights": ["I would start by clarifying the read/write ratio"]
}

The score dimensions come from the agent's evaluationCriteria, so they are yours to define rather than a fixed rubric.

What you are graded against

Reports reflect the agent's configuration at the time the conversation ran, not the agent's current configuration. Editing an agent does not rewrite the reports of calls that already happened, so historical results stay comparable.

Transcripts

The report is the summary; the transcript is the record. Fetch it separately with GET /v1/calls/{id}/transcript, or ask for it inline on an interview report with ?includeTranscript=true.

Dashboard Welcome