Rebuild insights
curl --request POST \
--url https://sandbox.voice.miraiminds.co/v2/campaigns/{campaign_id}/insights \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.voice.miraiminds.co/v2/campaigns/{campaign_id}/insights"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const url = 'https://sandbox.voice.miraiminds.co/v2/campaigns/{campaign_id}/insights';
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"object": "campaign_insights",
"schema": "insights.v1.6",
"campaign_id": "cmp_01K79Q4T6W8XZ2B5D7F9H3JKMN",
"funnel": {
"tier": "measured",
"stage_order": [
"list",
"valid",
"deduped",
"dialable",
"attempted",
"reached_the_network",
"connected",
"conversation",
"classified"
],
"stages": {
"list": 3,
"valid": 3,
"deduped": 3,
"dialable": 3,
"attempted": 3,
"reached_the_network": 3,
"connected": 2,
"conversation": 2,
"classified": 2
},
"rates": {
"answer_rate_pct": 66.7,
"conversation_rate_pct": 100,
"classified_rate_pct": 100
},
"failed_before_media": {
"value": 0,
"tier": "measured",
"reasons": {},
"note": "dials that never connected audio (a carrier or platform outage), neither an answer nor a rejection"
},
"not_attempted": {
"value": 0,
"tier": "measured"
},
"connected_without_speech": {
"value": 0,
"tier": "measured"
},
"retry_effectiveness": {
"value": 0,
"tier": "measured",
"contacts_retried": 1,
"answered_after_a_retry": 0,
"note": "attempts is the contact's total; this is 'answered with more than one attempt recorded', not per-attempt history"
}
},
"outcomes": {
"tier": "measured",
"conversations": 2,
"counts": {
"booked": 1,
"will_call_back": 1
},
"percent_of_conversations": {
"booked": 50,
"will_call_back": 50
},
"warm": {
"value": 2,
"tier": "assumption_based",
"assumptions_used": [
"C7"
],
"definition": [
"booked",
"callback_human",
"will_call_back"
],
"percent_of_conversations": 100
},
"unclassified": {
"value": 0,
"tier": "measured",
"analysis_not_run": 0,
"analysis_returned_no_outcome": 0,
"connected_but_nobody_spoke": 0,
"never_reached": 1
},
"bookings": {
"value": [
{
"name": "राहुल",
"phone": "+919876543210",
"call_id": "call_01K2M4RB8CDEFGHJKMNPQRST",
"contact_id": "lead-1041",
"summary": "ग्राहक ने 18 अक्टूबर सुबह 10 बजे की सर्विस बुक की।",
"when": "18 अक्टूबर, सुबह 10 बजे"
}
],
"tier": "measured"
},
"callbacks": {
"value": [
{
"name": "अमित",
"phone": "+919876501234",
"call_id": "call_01K7D3G5J7M9P1R3T5V7X9Z1B4",
"contact_id": "lead-1043",
"summary": "ग्राहक अभी गाड़ी चला रहे थे, शाम को खुद कॉल करेंगे।",
"when": ""
}
],
"tier": "measured"
},
"handoffs": {
"value": [],
"tier": "measured"
},
"label_confidence": {
"tier": "assumption_based",
"assumptions_used": [
"C6"
],
"value": null,
"note": "outcome labels are AI-classified (±5-10%)"
}
},
"money": {
"tier": "measured",
"source": "wallet_ledger",
"total_spend_inr": {
"value": 15,
"tier": "measured",
"debit_inr": 15,
"credit_inr": 0,
"calls_charged": 2,
"calls_without_ledger_line": 1,
"ledger_truncated": false,
"scope_note": "costs counted are call charges only"
},
"talk_minutes": {
"value": 1.87,
"tier": "measured",
"talk_seconds": 112
},
"billed_minutes": {
"value": 3,
"tier": "measured",
"charged_calls": 2,
"calls_under_one_minute": 1,
"source": "wallet_ledger",
"from_statement": 2,
"from_rule": 0,
"rule": "per call: ceil(duration / 60), minimum 1",
"expected_by_rule": 3,
"matches_rule": true
},
"billed_vs_talk_note": "3 minutes were billed against 1.87 minutes of talk time because billing is per call, rounded up, with a one-minute minimum — 1 of the 2 charged calls lasted under a minute.",
"cost_per_conversation_inr": {
"value": 7.5,
"tier": "measured",
"conversations": 2
},
"cost_per_booking_inr": {
"value": 15,
"tier": "measured",
"bookings": 1
},
"cost_per_warm_inr": {
"value": 7.5,
"tier": "assumption_based",
"assumptions_used": [
"C7"
],
"warm": 2
},
"cost_per_talk_minute_inr": {
"value": 8.02,
"tier": "measured"
},
"vs_human": {
"value": -0.04,
"tier": "assumption_based",
"assumptions_used": [
"C4"
],
"human_cost_inr": 14.96,
"human_rate_inr_per_min": 8,
"machine_cost_inr": 15
},
"expected_pipeline_inr": {
"value": 1950,
"tier": "assumption_based",
"assumptions_used": [
"C1",
"C2",
"C3",
"C7"
],
"bookings": 1,
"warm": 2
},
"roi_statement": {
"value": "₹15.0 spent → ₹1950.0 expected pipeline",
"tier": "assumption_based",
"assumptions_used": [
"C1",
"C2",
"C3",
"C7"
]
}
},
"ops": {
"tier": "measured",
"calls_without_timestamps": {
"value": 1,
"tier": "measured",
"dialled": 3,
"note": "a call record whose start stamp is missing or is a zero value; excluded from the wall clock, the concurrency sweep and the hour histogram"
},
"talk_total_secs": {
"value": 112,
"tier": "measured"
},
"talk_avg_secs": {
"value": 56,
"tier": "measured",
"calls": 2
},
"talk_p50_secs": {
"value": 44,
"tier": "measured"
},
"talk_max_secs": {
"value": 68,
"tier": "measured"
},
"answer_rate_by_hour": {
"value": {
"10": {
"attempted": 2,
"connected": 2,
"conversations": 2,
"answer_rate_pct": 100
},
"11": {
"attempted": 1,
"connected": 0,
"conversations": 0,
"answer_rate_pct": 0
}
},
"tier": "measured",
"timezone": "Asia/Kolkata",
"timezone_source": "zoneinfo",
"basis": "started_at, else created_at (the dial moment)",
"bucketed_by_created_at": 1,
"attempts_without_a_timestamp": 0
},
"peak_concurrency_upper_bound": {
"value": 1,
"tier": "measured",
"method": "sweep over started_at + duration_secs, whole-second stamps",
"calls_with_a_full_window": 2,
"calls_missing_a_window": 1,
"configured_max_concurrent": 3,
"exceeds_configured": false
},
"wall_clock_secs": {
"value": 3664,
"tier": "measured",
"first_call_at": "2026-10-12T04:30:48+00:00",
"last_call_ended_at": "2026-10-12T05:31:52+00:00"
}
},
"quality": {
"tier": "measured",
"voice_to_voice_p50_ms": {
"value": 790,
"tier": "measured",
"calls_measured": 2,
"calls_unmeasured": 1,
"sources": {
"telemetry_v2v": 2
},
"calls_discarded_implausible": 0,
"floor_ms": 200
},
"voice_to_voice_p90_ms": {
"value": 820,
"tier": "measured",
"calls_measured": 2
},
"turn_end_to_end_p50_ms": {
"value": null,
"tier": "measured",
"calls_measured": 0,
"definition": "user stopped speaking -> bot stopped speaking"
},
"turns_per_conversation_avg": {
"value": 6.5,
"tier": "measured",
"p50": 5,
"conversations_counted": 2
},
"barge_ins_total": {
"value": 0,
"tier": "measured",
"calls_with_turn_timing": 2,
"calls_without_turn_timing": 1,
"method": "transcript_overlap",
"is_lower_bound": true,
"definition": "a user turn that began before the bot's turn ended",
"note": "a lower bound: an interruption that produced no transcribed user turn is not counted"
},
"short_call_rate_pct": {
"value": 0,
"tier": "measured",
"threshold_secs": 15,
"calls": 0,
"of": "conversations"
},
"engaged_rate_pct": {
"value": 50,
"tier": "measured",
"threshold_secs": 60,
"calls": 1,
"of": "conversations"
}
},
"hygiene": {
"tier": "measured",
"invalid_numbers": {
"value": 0,
"tier": "measured",
"reasons": {},
"rows": []
},
"duplicate_phones": {
"value": 0,
"tier": "measured",
"extra_rows": 0,
"rows": []
},
"wrong_numbers": {
"value": 0,
"tier": "measured",
"rows": []
},
"recently_serviced_contradictions": {
"value": 0,
"tier": "measured",
"rows": []
},
"unreachable": {
"value": 1,
"tier": "measured",
"rows": [
{
"phone": "+919812345678",
"name": "प्रिया",
"attempts": 2,
"status": "exhausted",
"last_status": "no_answer"
}
],
"note": "busy / no-answer is not a rejection"
},
"cleanup_value_inr": {
"value": 0,
"tier": "assumption_based",
"assumptions_used": [
"C5"
],
"corrected_records": 0
}
},
"deliverables": {
"tier": "measured",
"csv_url": "/v2/campaigns/cmp_01K79Q4T6W8XZ2B5D7F9H3JKMN/report?format=csv",
"csv_columns": [
"id",
"phone",
"name",
"due_date",
"vehicle",
"status",
"attempts",
"last_call_id",
"started_at",
"duration_secs",
"ended_reason",
"cost_inr",
"outcome",
"success",
"summary",
"transcript",
"recording_url"
],
"csv_variable_columns": [
"due_date",
"vehicle"
],
"recordings": {
"value": 2,
"tier": "measured",
"expected": 2,
"missing": 0,
"link_expiry_days": 7,
"basis": "call records that name a recording object"
},
"transcripts": {
"value": 2,
"tier": "measured",
"expected": 2,
"missing": 0
},
"call_records": {
"value": 3,
"tier": "measured",
"expected": 3,
"contacts_never_dialled": 0
}
},
"cited_calls": {
"call_01K2M4RB8CDEFGHJKMNPQRST": {
"name": "राहुल",
"phone_masked": "•••••••••3210",
"outcome": "booked",
"duration_secs": 68,
"turns": [
{
"role": "assistant",
"text": "नमस्ते, मैं आशु बोल रहा हूं मिराई मोटर्स से. एक मिनट है आपके पास?"
},
{
"role": "user",
"text": "हाँ बोलिए"
},
{
"role": "assistant",
"text": "आपकी स्विफ्ट की सर्विस 18 अक्टूबर को ड्यू है. स्लॉट बुक कर दूं?"
},
{
"role": "user",
"text": "हाँ, सुबह 10 बजे कर दीजिए"
}
],
"recording": true
},
"call_01K7D3G5J7M9P1R3T5V7X9Z1B4": {
"name": "अमित",
"phone_masked": "•••••••••1234",
"outcome": "will_call_back",
"duration_secs": 44,
"turns": [
{
"role": "assistant",
"text": "नमस्ते, मैं आशु बोल रहा हूं मिराई मोटर्स से. एक मिनट है आपके पास?"
},
{
"role": "user",
"text": "अभी ड्राइव कर रहा हूं, शाम को कॉल करता हूं"
}
],
"recording": true
}
},
"assumptions": {
"C1": {
"label": "average service ticket",
"value": 1500,
"unit": "inr",
"source": "default"
},
"C2": {
"label": "warm-lead close rate",
"value": 0.3,
"unit": "rate",
"source": "default"
},
"C3": {
"label": "booking show-up rate",
"value": 0.7,
"unit": "rate",
"source": "default"
},
"C4": {
"label": "human telecaller cost",
"value": 8,
"unit": "inr_per_min",
"source": "default"
},
"C5": {
"label": "value of one corrected CRM record",
"value": 10,
"unit": "inr",
"source": "default"
},
"C6": {
"label": "outcome labels are AI-classified (±5-10%)",
"value": null,
"unit": "note",
"source": "default"
},
"C7": {
"label": "warm = booked + will_call_back + callback_human",
"value": [
"booked",
"will_call_back",
"callback_human"
],
"unit": "outcome_set",
"source": "default"
},
"C8": {
"label": "costs counted are call charges only",
"value": null,
"unit": "note",
"source": "default"
},
"C9": {
"label": "recording links expire",
"value": 7,
"unit": "days",
"source": "default"
},
"C10": {
"label": "busy / no-answer is not a rejection",
"value": null,
"unit": "note",
"source": "default"
}
},
"meta": {
"workspace_id": "ws_3f9a1c27d8e4b610",
"generated_at": "2026-10-12T06:02:11Z",
"data_version": "insights.v1.6|2026-10-12T05:41:09Z|completed|1500",
"campaign": {
"name": "सर्विस रिमाइंडर — अक्टूबर",
"status": "completed",
"tier": "t5",
"agent_id": "agt_01K2M4P7QRSTVWXYZ0A1B2C3",
"timezone": "Asia/Kolkata",
"created_at": "2026-10-09T06:12:40Z",
"updated_at": "2026-10-12T05:41:09Z"
},
"contacts_read": 3,
"calls_named": 3,
"call_records_found": 3,
"call_records_missing": 0,
"calls_without_timestamps": 1,
"calls_failed_before_media": 0,
"contacts_with_multiple_attempts": 0,
"representative_overrides": 0,
"attempts_recovered": 0,
"group": null,
"cited_calls_carried": 2,
"cited_calls_truncated": false,
"cited_calls_max": 80,
"cited_transcript_chars": 269,
"ledger_transactions_scanned": 2,
"ledger_truncated": false,
"tiers_present": [
"measured",
"assumption_based"
],
"contacts_truncated": false,
"served_from_cache": false
}
}{
"error": {
"code": "not_found",
"message": "no campaign cmp_01K79Q4T6W8XZ2B5D7F9H3JKMN"
}
}Campaigns
Rebuild insights
Counts the report again from scratch instead of serving the cached one. Call summaries and outcomes can arrive a few minutes after a call ends, so rebuild when the outcome numbers look behind. No body, no charge.
POST
/
v2
/
campaigns
/
{campaign_id}
/
insights
Rebuild insights
curl --request POST \
--url https://sandbox.voice.miraiminds.co/v2/campaigns/{campaign_id}/insights \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.voice.miraiminds.co/v2/campaigns/{campaign_id}/insights"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const url = 'https://sandbox.voice.miraiminds.co/v2/campaigns/{campaign_id}/insights';
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"object": "campaign_insights",
"schema": "insights.v1.6",
"campaign_id": "cmp_01K79Q4T6W8XZ2B5D7F9H3JKMN",
"funnel": {
"tier": "measured",
"stage_order": [
"list",
"valid",
"deduped",
"dialable",
"attempted",
"reached_the_network",
"connected",
"conversation",
"classified"
],
"stages": {
"list": 3,
"valid": 3,
"deduped": 3,
"dialable": 3,
"attempted": 3,
"reached_the_network": 3,
"connected": 2,
"conversation": 2,
"classified": 2
},
"rates": {
"answer_rate_pct": 66.7,
"conversation_rate_pct": 100,
"classified_rate_pct": 100
},
"failed_before_media": {
"value": 0,
"tier": "measured",
"reasons": {},
"note": "dials that never connected audio (a carrier or platform outage), neither an answer nor a rejection"
},
"not_attempted": {
"value": 0,
"tier": "measured"
},
"connected_without_speech": {
"value": 0,
"tier": "measured"
},
"retry_effectiveness": {
"value": 0,
"tier": "measured",
"contacts_retried": 1,
"answered_after_a_retry": 0,
"note": "attempts is the contact's total; this is 'answered with more than one attempt recorded', not per-attempt history"
}
},
"outcomes": {
"tier": "measured",
"conversations": 2,
"counts": {
"booked": 1,
"will_call_back": 1
},
"percent_of_conversations": {
"booked": 50,
"will_call_back": 50
},
"warm": {
"value": 2,
"tier": "assumption_based",
"assumptions_used": [
"C7"
],
"definition": [
"booked",
"callback_human",
"will_call_back"
],
"percent_of_conversations": 100
},
"unclassified": {
"value": 0,
"tier": "measured",
"analysis_not_run": 0,
"analysis_returned_no_outcome": 0,
"connected_but_nobody_spoke": 0,
"never_reached": 1
},
"bookings": {
"value": [
{
"name": "राहुल",
"phone": "+919876543210",
"call_id": "call_01K2M4RB8CDEFGHJKMNPQRST",
"contact_id": "lead-1041",
"summary": "ग्राहक ने 18 अक्टूबर सुबह 10 बजे की सर्विस बुक की।",
"when": "18 अक्टूबर, सुबह 10 बजे"
}
],
"tier": "measured"
},
"callbacks": {
"value": [
{
"name": "अमित",
"phone": "+919876501234",
"call_id": "call_01K7D3G5J7M9P1R3T5V7X9Z1B4",
"contact_id": "lead-1043",
"summary": "ग्राहक अभी गाड़ी चला रहे थे, शाम को खुद कॉल करेंगे।",
"when": ""
}
],
"tier": "measured"
},
"handoffs": {
"value": [],
"tier": "measured"
},
"label_confidence": {
"tier": "assumption_based",
"assumptions_used": [
"C6"
],
"value": null,
"note": "outcome labels are AI-classified (±5-10%)"
}
},
"money": {
"tier": "measured",
"source": "wallet_ledger",
"total_spend_inr": {
"value": 15,
"tier": "measured",
"debit_inr": 15,
"credit_inr": 0,
"calls_charged": 2,
"calls_without_ledger_line": 1,
"ledger_truncated": false,
"scope_note": "costs counted are call charges only"
},
"talk_minutes": {
"value": 1.87,
"tier": "measured",
"talk_seconds": 112
},
"billed_minutes": {
"value": 3,
"tier": "measured",
"charged_calls": 2,
"calls_under_one_minute": 1,
"source": "wallet_ledger",
"from_statement": 2,
"from_rule": 0,
"rule": "per call: ceil(duration / 60), minimum 1",
"expected_by_rule": 3,
"matches_rule": true
},
"billed_vs_talk_note": "3 minutes were billed against 1.87 minutes of talk time because billing is per call, rounded up, with a one-minute minimum — 1 of the 2 charged calls lasted under a minute.",
"cost_per_conversation_inr": {
"value": 7.5,
"tier": "measured",
"conversations": 2
},
"cost_per_booking_inr": {
"value": 15,
"tier": "measured",
"bookings": 1
},
"cost_per_warm_inr": {
"value": 7.5,
"tier": "assumption_based",
"assumptions_used": [
"C7"
],
"warm": 2
},
"cost_per_talk_minute_inr": {
"value": 8.02,
"tier": "measured"
},
"vs_human": {
"value": -0.04,
"tier": "assumption_based",
"assumptions_used": [
"C4"
],
"human_cost_inr": 14.96,
"human_rate_inr_per_min": 8,
"machine_cost_inr": 15
},
"expected_pipeline_inr": {
"value": 1950,
"tier": "assumption_based",
"assumptions_used": [
"C1",
"C2",
"C3",
"C7"
],
"bookings": 1,
"warm": 2
},
"roi_statement": {
"value": "₹15.0 spent → ₹1950.0 expected pipeline",
"tier": "assumption_based",
"assumptions_used": [
"C1",
"C2",
"C3",
"C7"
]
}
},
"ops": {
"tier": "measured",
"calls_without_timestamps": {
"value": 1,
"tier": "measured",
"dialled": 3,
"note": "a call record whose start stamp is missing or is a zero value; excluded from the wall clock, the concurrency sweep and the hour histogram"
},
"talk_total_secs": {
"value": 112,
"tier": "measured"
},
"talk_avg_secs": {
"value": 56,
"tier": "measured",
"calls": 2
},
"talk_p50_secs": {
"value": 44,
"tier": "measured"
},
"talk_max_secs": {
"value": 68,
"tier": "measured"
},
"answer_rate_by_hour": {
"value": {
"10": {
"attempted": 2,
"connected": 2,
"conversations": 2,
"answer_rate_pct": 100
},
"11": {
"attempted": 1,
"connected": 0,
"conversations": 0,
"answer_rate_pct": 0
}
},
"tier": "measured",
"timezone": "Asia/Kolkata",
"timezone_source": "zoneinfo",
"basis": "started_at, else created_at (the dial moment)",
"bucketed_by_created_at": 1,
"attempts_without_a_timestamp": 0
},
"peak_concurrency_upper_bound": {
"value": 1,
"tier": "measured",
"method": "sweep over started_at + duration_secs, whole-second stamps",
"calls_with_a_full_window": 2,
"calls_missing_a_window": 1,
"configured_max_concurrent": 3,
"exceeds_configured": false
},
"wall_clock_secs": {
"value": 3664,
"tier": "measured",
"first_call_at": "2026-10-12T04:30:48+00:00",
"last_call_ended_at": "2026-10-12T05:31:52+00:00"
}
},
"quality": {
"tier": "measured",
"voice_to_voice_p50_ms": {
"value": 790,
"tier": "measured",
"calls_measured": 2,
"calls_unmeasured": 1,
"sources": {
"telemetry_v2v": 2
},
"calls_discarded_implausible": 0,
"floor_ms": 200
},
"voice_to_voice_p90_ms": {
"value": 820,
"tier": "measured",
"calls_measured": 2
},
"turn_end_to_end_p50_ms": {
"value": null,
"tier": "measured",
"calls_measured": 0,
"definition": "user stopped speaking -> bot stopped speaking"
},
"turns_per_conversation_avg": {
"value": 6.5,
"tier": "measured",
"p50": 5,
"conversations_counted": 2
},
"barge_ins_total": {
"value": 0,
"tier": "measured",
"calls_with_turn_timing": 2,
"calls_without_turn_timing": 1,
"method": "transcript_overlap",
"is_lower_bound": true,
"definition": "a user turn that began before the bot's turn ended",
"note": "a lower bound: an interruption that produced no transcribed user turn is not counted"
},
"short_call_rate_pct": {
"value": 0,
"tier": "measured",
"threshold_secs": 15,
"calls": 0,
"of": "conversations"
},
"engaged_rate_pct": {
"value": 50,
"tier": "measured",
"threshold_secs": 60,
"calls": 1,
"of": "conversations"
}
},
"hygiene": {
"tier": "measured",
"invalid_numbers": {
"value": 0,
"tier": "measured",
"reasons": {},
"rows": []
},
"duplicate_phones": {
"value": 0,
"tier": "measured",
"extra_rows": 0,
"rows": []
},
"wrong_numbers": {
"value": 0,
"tier": "measured",
"rows": []
},
"recently_serviced_contradictions": {
"value": 0,
"tier": "measured",
"rows": []
},
"unreachable": {
"value": 1,
"tier": "measured",
"rows": [
{
"phone": "+919812345678",
"name": "प्रिया",
"attempts": 2,
"status": "exhausted",
"last_status": "no_answer"
}
],
"note": "busy / no-answer is not a rejection"
},
"cleanup_value_inr": {
"value": 0,
"tier": "assumption_based",
"assumptions_used": [
"C5"
],
"corrected_records": 0
}
},
"deliverables": {
"tier": "measured",
"csv_url": "/v2/campaigns/cmp_01K79Q4T6W8XZ2B5D7F9H3JKMN/report?format=csv",
"csv_columns": [
"id",
"phone",
"name",
"due_date",
"vehicle",
"status",
"attempts",
"last_call_id",
"started_at",
"duration_secs",
"ended_reason",
"cost_inr",
"outcome",
"success",
"summary",
"transcript",
"recording_url"
],
"csv_variable_columns": [
"due_date",
"vehicle"
],
"recordings": {
"value": 2,
"tier": "measured",
"expected": 2,
"missing": 0,
"link_expiry_days": 7,
"basis": "call records that name a recording object"
},
"transcripts": {
"value": 2,
"tier": "measured",
"expected": 2,
"missing": 0
},
"call_records": {
"value": 3,
"tier": "measured",
"expected": 3,
"contacts_never_dialled": 0
}
},
"cited_calls": {
"call_01K2M4RB8CDEFGHJKMNPQRST": {
"name": "राहुल",
"phone_masked": "•••••••••3210",
"outcome": "booked",
"duration_secs": 68,
"turns": [
{
"role": "assistant",
"text": "नमस्ते, मैं आशु बोल रहा हूं मिराई मोटर्स से. एक मिनट है आपके पास?"
},
{
"role": "user",
"text": "हाँ बोलिए"
},
{
"role": "assistant",
"text": "आपकी स्विफ्ट की सर्विस 18 अक्टूबर को ड्यू है. स्लॉट बुक कर दूं?"
},
{
"role": "user",
"text": "हाँ, सुबह 10 बजे कर दीजिए"
}
],
"recording": true
},
"call_01K7D3G5J7M9P1R3T5V7X9Z1B4": {
"name": "अमित",
"phone_masked": "•••••••••1234",
"outcome": "will_call_back",
"duration_secs": 44,
"turns": [
{
"role": "assistant",
"text": "नमस्ते, मैं आशु बोल रहा हूं मिराई मोटर्स से. एक मिनट है आपके पास?"
},
{
"role": "user",
"text": "अभी ड्राइव कर रहा हूं, शाम को कॉल करता हूं"
}
],
"recording": true
}
},
"assumptions": {
"C1": {
"label": "average service ticket",
"value": 1500,
"unit": "inr",
"source": "default"
},
"C2": {
"label": "warm-lead close rate",
"value": 0.3,
"unit": "rate",
"source": "default"
},
"C3": {
"label": "booking show-up rate",
"value": 0.7,
"unit": "rate",
"source": "default"
},
"C4": {
"label": "human telecaller cost",
"value": 8,
"unit": "inr_per_min",
"source": "default"
},
"C5": {
"label": "value of one corrected CRM record",
"value": 10,
"unit": "inr",
"source": "default"
},
"C6": {
"label": "outcome labels are AI-classified (±5-10%)",
"value": null,
"unit": "note",
"source": "default"
},
"C7": {
"label": "warm = booked + will_call_back + callback_human",
"value": [
"booked",
"will_call_back",
"callback_human"
],
"unit": "outcome_set",
"source": "default"
},
"C8": {
"label": "costs counted are call charges only",
"value": null,
"unit": "note",
"source": "default"
},
"C9": {
"label": "recording links expire",
"value": 7,
"unit": "days",
"source": "default"
},
"C10": {
"label": "busy / no-answer is not a rejection",
"value": null,
"unit": "note",
"source": "default"
}
},
"meta": {
"workspace_id": "ws_3f9a1c27d8e4b610",
"generated_at": "2026-10-12T06:02:11Z",
"data_version": "insights.v1.6|2026-10-12T05:41:09Z|completed|1500",
"campaign": {
"name": "सर्विस रिमाइंडर — अक्टूबर",
"status": "completed",
"tier": "t5",
"agent_id": "agt_01K2M4P7QRSTVWXYZ0A1B2C3",
"timezone": "Asia/Kolkata",
"created_at": "2026-10-09T06:12:40Z",
"updated_at": "2026-10-12T05:41:09Z"
},
"contacts_read": 3,
"calls_named": 3,
"call_records_found": 3,
"call_records_missing": 0,
"calls_without_timestamps": 1,
"calls_failed_before_media": 0,
"contacts_with_multiple_attempts": 0,
"representative_overrides": 0,
"attempts_recovered": 0,
"group": null,
"cited_calls_carried": 2,
"cited_calls_truncated": false,
"cited_calls_max": 80,
"cited_transcript_chars": 269,
"ledger_transactions_scanned": 2,
"ledger_truncated": false,
"tiers_present": [
"measured",
"assumption_based"
],
"contacts_truncated": false,
"served_from_cache": false
}
}{
"error": {
"code": "not_found",
"message": "no campaign cmp_01K79Q4T6W8XZ2B5D7F9H3JKMN"
}
}⌘I