Export Call History CSV
curl --request POST \
--url https://api.trillet.ai/v2/api/call-history/export-csv \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-workspace-id: <x-workspace-id>' \
--data '
{
"includeTranscripts": true,
"includePostAnalysis": true,
"limit": 123,
"batchId": "<string>",
"agentId": "<string>",
"status": "<string>",
"direction": "<string>",
"dateRange": {
"startDate": "<string>",
"endDate": "<string>"
}
}
'import requests
url = "https://api.trillet.ai/v2/api/call-history/export-csv"
payload = {
"includeTranscripts": True,
"includePostAnalysis": True,
"limit": 123,
"batchId": "<string>",
"agentId": "<string>",
"status": "<string>",
"direction": "<string>",
"dateRange": {
"startDate": "<string>",
"endDate": "<string>"
}
}
headers = {
"x-api-key": "<api-key>",
"x-workspace-id": "<x-workspace-id>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
'x-workspace-id': '<x-workspace-id>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
includeTranscripts: true,
includePostAnalysis: true,
limit: 123,
batchId: '<string>',
agentId: '<string>',
status: '<string>',
direction: '<string>',
dateRange: {startDate: '<string>', endDate: '<string>'}
})
};
fetch('https://api.trillet.ai/v2/api/call-history/export-csv', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.trillet.ai/v2/api/call-history/export-csv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'includeTranscripts' => true,
'includePostAnalysis' => true,
'limit' => 123,
'batchId' => '<string>',
'agentId' => '<string>',
'status' => '<string>',
'direction' => '<string>',
'dateRange' => [
'startDate' => '<string>',
'endDate' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-workspace-id: <x-workspace-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.trillet.ai/v2/api/call-history/export-csv"
payload := strings.NewReader("{\n \"includeTranscripts\": true,\n \"includePostAnalysis\": true,\n \"limit\": 123,\n \"batchId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"status\": \"<string>\",\n \"direction\": \"<string>\",\n \"dateRange\": {\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-workspace-id", "<x-workspace-id>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.trillet.ai/v2/api/call-history/export-csv")
.header("x-api-key", "<api-key>")
.header("x-workspace-id", "<x-workspace-id>")
.header("Content-Type", "application/json")
.body("{\n \"includeTranscripts\": true,\n \"includePostAnalysis\": true,\n \"limit\": 123,\n \"batchId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"status\": \"<string>\",\n \"direction\": \"<string>\",\n \"dateRange\": {\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trillet.ai/v2/api/call-history/export-csv")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-workspace-id"] = '<x-workspace-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"includeTranscripts\": true,\n \"includePostAnalysis\": true,\n \"limit\": 123,\n \"batchId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"status\": \"<string>\",\n \"direction\": \"<string>\",\n \"dateRange\": {\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_bodyCalls
Export Call History CSV
Export call history records as a CSV file with optional transcript and post-analysis data.
POST
/
v2
/
api
/
call-history
/
export-csv
Export Call History CSV
curl --request POST \
--url https://api.trillet.ai/v2/api/call-history/export-csv \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-workspace-id: <x-workspace-id>' \
--data '
{
"includeTranscripts": true,
"includePostAnalysis": true,
"limit": 123,
"batchId": "<string>",
"agentId": "<string>",
"status": "<string>",
"direction": "<string>",
"dateRange": {
"startDate": "<string>",
"endDate": "<string>"
}
}
'import requests
url = "https://api.trillet.ai/v2/api/call-history/export-csv"
payload = {
"includeTranscripts": True,
"includePostAnalysis": True,
"limit": 123,
"batchId": "<string>",
"agentId": "<string>",
"status": "<string>",
"direction": "<string>",
"dateRange": {
"startDate": "<string>",
"endDate": "<string>"
}
}
headers = {
"x-api-key": "<api-key>",
"x-workspace-id": "<x-workspace-id>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
'x-workspace-id': '<x-workspace-id>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
includeTranscripts: true,
includePostAnalysis: true,
limit: 123,
batchId: '<string>',
agentId: '<string>',
status: '<string>',
direction: '<string>',
dateRange: {startDate: '<string>', endDate: '<string>'}
})
};
fetch('https://api.trillet.ai/v2/api/call-history/export-csv', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.trillet.ai/v2/api/call-history/export-csv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'includeTranscripts' => true,
'includePostAnalysis' => true,
'limit' => 123,
'batchId' => '<string>',
'agentId' => '<string>',
'status' => '<string>',
'direction' => '<string>',
'dateRange' => [
'startDate' => '<string>',
'endDate' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-workspace-id: <x-workspace-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.trillet.ai/v2/api/call-history/export-csv"
payload := strings.NewReader("{\n \"includeTranscripts\": true,\n \"includePostAnalysis\": true,\n \"limit\": 123,\n \"batchId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"status\": \"<string>\",\n \"direction\": \"<string>\",\n \"dateRange\": {\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-workspace-id", "<x-workspace-id>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.trillet.ai/v2/api/call-history/export-csv")
.header("x-api-key", "<api-key>")
.header("x-workspace-id", "<x-workspace-id>")
.header("Content-Type", "application/json")
.body("{\n \"includeTranscripts\": true,\n \"includePostAnalysis\": true,\n \"limit\": 123,\n \"batchId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"status\": \"<string>\",\n \"direction\": \"<string>\",\n \"dateRange\": {\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trillet.ai/v2/api/call-history/export-csv")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-workspace-id"] = '<x-workspace-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"includeTranscripts\": true,\n \"includePostAnalysis\": true,\n \"limit\": 123,\n \"batchId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"status\": \"<string>\",\n \"direction\": \"<string>\",\n \"dateRange\": {\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_bodyHeaders
string
required
API key used for authenticating requests to the API.
string
required
Workspace identifier for the API.
Request Body
boolean
default:"false"
Whether to include full call transcripts in the export.
boolean
default:"false"
Whether to include post-call analysis data in the export.
number
Maximum number of records to export.
string
Filter by batch call ID.
string
Filter by agent ID.
string
Filter by call status.
string
Filter by call direction.
object
Response
The response is streamed as a CSV file withContent-Type: text/csv and Content-Disposition: attachment headers.
The CSV includes columns for call ID, phone numbers, direction, status, duration, agent, flow name, cost, summary, variables, and optionally transcript and post-analysis data.⌘I
