Get Call Details
Returns full details for a single call — status, duration, cost, input parameters, output parameters, recording, and transcript.
Note: Recording and transcript URLs expire 30 days after the call ends. Download the files before
expires_atif you need to retain them permanently.
curl -X GET "https://api.twentytwo.in/api/call/detail?call_id=699ed3b91ee5bee389dcb6a3" \
-H "Content-Type: application/json" \
-H "x-workspace-id: 699ed3b91ee5bee389dcb6a3" \
-H "Authorization: Basic YOUR_CREDENTIALS"
import requests
import json
url = "https://api.twentytwo.in/api/call/detail?call_id=699ed3b91ee5bee389dcb6a3"
headers = {
"Content-Type": "application/json",
"x-workspace-id": "699ed3b91ee5bee389dcb6a3",
"Authorization": "Basic YOUR_CREDENTIALS"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://api.twentytwo.in/api/call/detail?call_id=699ed3b91ee5bee389dcb6a3", {
method: "GET",
headers: {
"Content-Type": "application/json",
"x-workspace-id": "699ed3b91ee5bee389dcb6a3",
"Authorization": "Basic YOUR_CREDENTIALS"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.twentytwo.in/api/call/detail?call_id=699ed3b91ee5bee389dcb6a3", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-workspace-id", "699ed3b91ee5bee389dcb6a3")
req.Header.Set("Authorization", "Basic YOUR_CREDENTIALS")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.twentytwo.in/api/call/detail?call_id=699ed3b91ee5bee389dcb6a3')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['x-workspace-id'] = '699ed3b91ee5bee389dcb6a3'
request['Authorization'] = 'Basic YOUR_CREDENTIALS'
response = http.request(request)
puts response.body
{
"success": true,
"call": {
"call_id": "call_9c4d7e12ab",
"assistant_id": "69de483c68b23495c853b43a",
"status": "completed",
"direction": "outbound",
"callee_phone": "9999999999",
"caller_phone": "9999999999",
"duration_seconds": 94,
"billed_duration_seconds": 94,
"cost": "₹15.67",
"started_at": "2024-12-25T10:00:00Z",
"ended_at": "2024-12-25T10:01:34Z",
"input_parameters": {
"customerName": "Rohit"
},
"output_parameters": {
"interested": "yes",
"callback_requested": "yes",
"callback_time": "Tomorrow 11am"
},
"recording": {
"url": "https://storage.twentytwo.in/recordings/call_9c4d7e12ab.mp3",
"expires_at": "2025-01-25T10:01:34Z"
},
"transcript": {
"url": "https://storage.twentytwo.in/transcripts/call_9c4d7e12ab.txt",
"expires_at": "2025-01-25T10:01:34Z"
}
}
}
/call/detail
Target server for requests. Edit to use your own host.
Username for basic authentication
Password for basic authentication
api_key:api_key_secret
and pass the result in the Authorization header:
``http
Authorization: Basic BASE64(api_key:api_key_secret)
``
Generate your API Key and Secret from **Profile → Integrations →
Build with Twenty2 API → Create new**.
The unique ID of the call to retrieve. Obtained from the Initiate Call response or the List Calls response.
Your Twenty2 Workspace ID. To find it, click the copy icon next to Switch Workspace at the bottom-left of the platform and select Copy workspace ID.
Request Preview
Response
Response will appear here after sending the request
Authentication
Basic authentication credentials. Base64-encode your credentials in the format api_key:api_key_secret
and pass the result in the Authorization header:
Authorization: Basic BASE64(api_key:api_key_secret)
Generate your API Key and Secret from Profile → Integrations → Build with Twenty2 API → Create new.
Query Parameters
The unique ID of the call to retrieve. Obtained from the Initiate Call response or the List Calls response.
699ed3b91ee5bee389dcb6a3Headers
Your Twenty2 Workspace ID. To find it, click the copy icon next to Switch Workspace at the bottom-left of the platform and select Copy workspace ID.
699ed3b91ee5bee389dcb6a3