CallDetailResponse
Full call detail — the canonical response for GET /calls/{call_id}. This is the single source of truth for the call detail shape. The OpenAPI spec is generated from this model. The SDK TypeScript types are generated from the spec. The developer-console consumes SDK types directly.
Properties
| Name | Type | Description |
|---|---|---|
| id | string | |
| call_sid | object | |
| workspace_id | object | |
| service_id | object | |
| caller_id | object | |
| phone_number | object | |
| direction | object | |
| status | string | |
| error | object | |
| call_start_time | object | |
| call_end_time | object | |
| call_duration_seconds | number | |
| media_start_time | object | |
| config | object | |
| turns | array | |
| states_visited | array | |
| final_state | object | |
| triggered_behaviors | array | |
| completion_reason | object | |
| emotional_summary | object | |
| forwarding | object | |
| conference_sid | object | |
| participants | array | |
| barge_in_events | array | |
| recording_path | object | |
| twilio_recording_sid | object | |
| twilio_recording_duration | object | |
| has_recording | boolean | |
| timeline | object | |
| verified_transcript | object | |
| verified_words | object | |
| transcript_accuracy | object | |
| per_turn_accuracy | object | |
| call_analysis | object | |
| source | object | |
| run_id | object | |
| score | object | |
| score_rationale | object | |
| parent_session_id | object | |
| fork_turn_index | object | |
| escalation | object | |
| safety | object | |
| human_segments | array | |
| audit | object | |
| quality_score | object | |
| conversation_summary | object | |
| safety_summary | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/amigo/main/json-schema/amigo-call-detail-response-schema.json",
"title": "CallDetailResponse",
"description": "Full call detail — the canonical response for GET /calls/{call_id}.\n\nThis is the single source of truth for the call detail shape. The OpenAPI\nspec is generated from this model. The SDK TypeScript types are generated\nfrom the spec. The developer-console consumes SDK types directly.",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/amigo-calls-api-openapi.yml#/components/schemas/CallDetailResponse",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"call_sid": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Call Sid"
},
"workspace_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Workspace Id"
},
"service_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Service Id"
},
"caller_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Caller Id",
"x-phi": true
},
"phone_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Phone Number",
"x-phi": true
},
"direction": {
"anyOf": [
{
"type": "string",
"enum": [
"inbound",
"outbound",
"playground",
"simulated",
"test"
]
},
{
"type": "null"
}
],
"title": "Direction"
},
"status": {
"type": "string",
"title": "Status",
"default": "completed"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error"
},
"call_start_time": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Call Start Time"
},
"call_end_time": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Call End Time"
},
"call_duration_seconds": {
"type": "number",
"title": "Call Duration Seconds",
"default": 0.0
},
"media_start_time": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Media Start Time"
},
"config": {
"anyOf": [
{
"$ref": "#/$defs/ConversationConfig"
},
{
"type": "null"
}
]
},
"turns": {
"items": {
"$ref": "#/$defs/Turn"
},
"type": "array",
"title": "Turns",
"default": []
},
"states_visited": {
"items": {
"type": "string"
},
"type": "array",
"title": "States Visited",
"default": []
},
"final_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Final State"
},
"triggered_behaviors": {
"items": {
"type": "string"
},
"type": "array",
"title": "Triggered Behaviors",
"default": []
},
"completion_reason": {
"anyOf": [
{
"type": "string",
"enum": [
"completed",
"abandoned",
"escalated",
"transferred",
"timeout",
"error",
"voicemail",
"no_answer",
"caller_hangup",
"forwarded",
"terminal_state",
"warm_transfer_completed",
"no_inbound_audio",
"cancelled"
]
},
{
"type": "null"
}
],
"title": "Completion Reason"
},
"emotional_summary": {
"anyOf": [
{
"$ref": "#/$defs/EmotionalSummary"
},
{
"type": "null"
}
]
},
"forwarding": {
"anyOf": [
{
"$ref": "#/$defs/ForwardingDetails"
},
{
"type": "null"
}
]
},
"conference_sid": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Conference Sid"
},
"participants": {
"items": {
"$ref": "#/$defs/Participant"
},
"type": "array",
"title": "Participants",
"default": []
},
"barge_in_events": {
"items": {
"$ref": "#/$defs/BargeInEvent"
},
"type": "array",
"title": "Barge In Events",
"default": []
},
"recording_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Recording Path"
},
"twilio_recording_sid": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Twilio Recording Sid"
},
"twilio_recording_duration": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Twilio Recording Duration"
},
"has_recording": {
"type": "boolean",
"title": "Has Recording",
"default": false
},
"timeline": {
"anyOf": [
{
"$ref": "#/$defs/PlaybackTimeline"
},
{
"type": "null"
}
]
},
"verified_transcript": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Verified Transcript"
},
"verified_words": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Verified Words"
},
"transcript_accuracy": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Transcript Accuracy"
},
"per_turn_accuracy": {
"anyOf": [
{
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Per Turn Accuracy"
},
"call_analysis": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Call Analysis"
},
"source": {
"anyOf": [
{
"type": "string",
"enum": [
"real",
"simulation",
"playground"
]
},
{
"type": "null"
}
],
"title": "Source"
},
"run_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Run Id"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Score"
},
"score_rationale": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Score Rationale"
},
"parent_session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Parent Session Id"
},
"fork_turn_index": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Fork Turn Index"
},
"escalation": {
"anyOf": [
{
"$ref": "#/$defs/EscalationState"
},
{
"type": "null"
}
]
},
"safety": {
"anyOf": [
{
"$ref": "#/$defs/SafetyState"
},
{
"type": "null"
}
]
},
"human_segments": {
"items": {
"$ref": "#/$defs/HumanSegment"
},
"type": "array",
"title": "Human Segments",
"default": []
},
"audit": {
"anyOf": [
{
"$ref": "#/$defs/AuditSummary"
},
{
"type": "null"
}
]
},
"quality_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Quality Score"
},
"conversation_summary": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Conversation Summary"
},
"safety_summary": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Safety Summary"
}
},
"type": "object",
"required": [
"id"
],
"$defs": {
"AuditSummary": {
"properties": {
"event_count": {
"type": "integer",
"title": "Event Count",
"default": 0
},
"latest_event": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Latest Event"
}
},
"type": "object",
"title": "AuditSummary"
},
"BargeInEvent": {
"properties": {
"type": {
"const": "barge_in",
"default": "barge_in",
"title": "Type",
"type": "string"
},
"interrupted_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Interrupted Text",
"x-phi": true
},
"discarded_texts": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Discarded Texts",
"x-phi": true
},
"interrupted_speaker_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Interrupted Speaker Id"
},
"interrupting_speaker_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Interrupting Speaker Id"
},
"total_barge_ins": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Total Barge Ins"
}
},
"title": "BargeInEvent",
"type": "object"
},
"ConceptMatch": {
"properties": {
"concept": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Concept"
},
"similarity": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Similarity"
},
"agent_action": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Agent Action"
},
"agent_confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Agent Confidence"
},
"agent_reasoning": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Agent Reasoning"
},
"at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "At"
}
},
"type": "object",
"title": "ConceptMatch"
},
"ConversationConfig": {
"properties": {
"agent_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Agent Id"
},
"agent_version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Agent Version"
},
"agent_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Agent Name"
},
"context_graph_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Context Graph Id"
},
"context_graph_version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Context Graph Version"
},
"initial_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Initial State"
},
"gpt_audio_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Gpt Audio Model"
},
"navigation_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Navigation Model"
}
},
"type": "object",
"title": "ConversationConfig"
},
"EmotionalSummary": {
"properties": {
"dominant_emotion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dominant Emotion"
},
"average_valence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Average Valence"
},
"average_arousal": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Average Arousal"
},
"peak_negative_valence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Peak Negative Valence"
},
"peak_negative_emotion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Peak Negative Emotion"
},
"emotional_shifts": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Emotional Shifts"
},
"final_trend": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Final Trend"
},
"segment_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Segment Count"
},
"barge_in_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Barge In Count"
},
"compound_emotions": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Compound Emotions"
}
},
"type": "object",
"title": "EmotionalSummary"
},
"EscalationState": {
"properties": {
"status": {
"type": "string",
"title": "Status",
"default": "none"
},
"escalation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Escalation Id"
},
"requested_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Requested At"
},
"connected_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Connected At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Trigger"
},
"trigger_source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Trigger Source"
},
"concept": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Concept"
},
"similarity": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Similarity"
},
"agent_confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Agent Confidence"
},
"operator_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator Type"
},
"regulatory_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regulatory Basis"
},
"immediate": {
"type": "boolean",
"title": "Immediate",
"default": false
},
"risk_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Risk Score"
},
"operator_entity_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator Entity Id"
},
"wait_seconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Wait Seconds"
},
"handle_time_seconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Handle Time Seconds"
},
"human_segment_turn_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Human Segment Turn Count"
}
},
"type": "object",
"title": "EscalationState"
},
"ForwardingDetails": {
"properties": {
"forward_to": {
"type": "string",
"title": "Forward To",
"x-phi": true
},
"should_disconnect": {
"type": "boolean",
"title": "Should Disconnect"
},
"warm_transfer": {
"type": "boolean",
"title": "Warm Transfer",
"default": true
},
"forwarded_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Forwarded At"
}
},
"type": "object",
"required": [
"forward_to",
"should_disconnect"
],
"title": "ForwardingDetails"
},
"HumanSegment": {
"properties": {
"speaker_role": {
"type": "string",
"title": "Speaker Role"
},
"transcript": {
"type": "string",
"title": "Transcript",
"x-phi": true
},
"timestamp": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Timestamp"
}
},
"type": "object",
"required": [
"speaker_role",
"transcript"
],
"title": "HumanSegment"
},
"Participant": {
"properties": {
"participant_id": {
"type": "string",
"title": "Participant Id"
},
"role": {
"type": "string",
"enum": [
"caller",
"agent",
"operator"
],
"title": "Role"
},
"display_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Display Name"
},
"phone_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Phone Number",
"x-phi": true
},
"joined_at": {
"type": "string",
"format": "date-time",
"title": "Joined At"
},
"left_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Left At"
}
},
"type": "object",
"required": [
"participant_id",
"role",
"joined_at"
],
"title": "Participant"
},
"PlaybackTimeline": {
"properties": {
"turns": {
"items": {
"$ref": "#/$defs/TurnTimeline"
},
"type": "array",
"title": "Turns"
},
"segments": {
"items": {
"$ref": "#/$defs/TimelineSegment"
},
"type": "array",
"title": "Segments"
},
"duration_seconds": {
"type": "number",
"title": "Duration Seconds"
},
"timebase": {
"anyOf": [
{
"$ref": "#/$defs/TimelineTimebase"
},
{
"type": "null"
}
],
"description": "Canonical timebase shared by waveform, overlays, seek state, zoom, and scroll transforms."
},
"lanes": {
"items": {
"$ref": "#/$defs/TimelineLaneDefinition"
},
"type": "array",
"title": "Lanes",
"description": "Canonical actor/system lane model. Every segment lane_id resolves against this collection.",
"default": []
},
"total_user_speech_seconds": {
"type": "number",
"title": "Total User Speech Seconds",
"default": 0.0
},
"total_agent_speech_seconds": {
"type": "number",
"title": "Total Agent Speech Seconds",
"default": 0.0
},
"total_silence_seconds": {
"type": "number",
"title": "Total Silence Seconds",
"default": 0.0
},
"avg_processing_gap_ms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Avg Processing Gap Ms"
},
"max_processing_gap_ms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Max Processing Gap Ms"
},
"avg_perceived_latency_ms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Avg Perceived Latency Ms"
}
},
"type": "object",
"required": [
"turns",
"segments",
"duration_seconds"
],
"title": "PlaybackTimeline"
},
"SafetyState": {
"properties": {
"peak_concern_level": {
"type": "integer",
"title": "Peak Concern Level",
"default": 0
},
"concern_turn_count": {
"type": "integer",
"title": "Concern Turn Count",
"default": 0
},
"trajectory": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Trajectory"
},
"triage_history": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array",
"title": "Triage History",
"default": []
},
"concept_matches": {
"items": {
"$ref": "#/$defs/ConceptMatch"
},
"type": "array",
"title": "Concept Matches",
"default": []
}
},
"type": "object",
"title": "SafetyState"
},
"StateTransition": {
"properties": {
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Type"
},
"previous_state": {
"type": "string",
"title": "Previous State",
"default": ""
},
"next_state": {
"type": "string",
"title": "Next State",
"default": ""
},
"annotation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Annotation"
},
"nav_ms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Nav Ms"
},
"from_state": {
"type": "string",
"title": "From State",
"readOnly": true
},
"to_state": {
"type": "string",
"title": "To State",
"readOnly": true
}
},
"type": "object",
"required": [
"from_state",
"to_state"
],
"title": "StateTransition"
},
"TimelineActor": {
"properties": {
"kind": {
"type": "string",
"enum": [
"agent",
"human",
"operator",
"system",
"tool"
],
"title": "Kind"
},
"role": {
"type": "string",
"enum": [
"agent",
"caller",
"operator",
"runtime",
"state",
"tool"
],
"title": "Role"
},
"label": {
"type": "string",
"title": "Label"
},
"participant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Participant Id"
}
},
"type": "object",
"required": [
"kind",
"role",
"label"
],
"title": "TimelineActor"
},
"TimelineLaneDefinition": {
"properties": {
"id": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"title": "Id",
"description": "Stable canonical lane id used by timeline visualizations. Segments attach via TimelineSegment.lane_id; consumers should not re-infer lanes from CSS or pixel positions."
},
"track": {
"type": "string",
"enum": [
"agent",
"caller",
"operator",
"system",
"tool"
],
"title": "Track",
"description": "High-level actor-semantic track for styling and grouping."
},
"label": {
"type": "string",
"title": "Label",
"description": "Display label for the lane."
},
"order": {
"type": "integer",
"title": "Order",
"description": "Stable vertical order within the timeline lane model."
},
"actor": {
"anyOf": [
{
"$ref": "#/$defs/TimelineActor"
},
{
"type": "null"
}
],
"description": "Actor represented by this lane when applicable."
}
},
"type": "object",
"required": [
"id",
"track",
"label",
"order"
],
"title": "TimelineLaneDefinition"
},
"TimelineSegment": {
"properties": {
"type": {
"type": "string",
"enum": [
"agent_speech",
"barge_in",
"cal
# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amigo/refs/heads/main/json-schema/amigo-call-detail-response-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/amigo-call-detail-response"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.