curl --request GET \
--url https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}', 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.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"sessionId": "800d444a-e67e-4686-afb3-b0de509cccb3",
"serviceId": "b900ae4a-f710-4ef1-95d8-c5f5b2789da9",
"organizationId": "cc71b52d-4271-46c9-87be-cac600fd821a",
"deploymentId": "81f4da55-106d-401f-b069-a1f1992f871a",
"endedAt": "2025-10-22T08:39:26.000Z",
"botStartSeconds": 2,
"coldStart": true,
"completionStatus": "HTTP_COMPLETED",
"createdAt": "2025-10-22T08:39:20.000Z",
"updatedAt": "2025-10-22T08:39:26.000Z",
"resourceMetrics": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"sessionId": "800d444a-e67e-4686-afb3-b0de509cccb3",
"sampleCount": 12,
"cpuMillicoresP50": 150,
"cpuMillicoresP90": 280,
"cpuMillicoresP95": 320,
"cpuMillicoresP99": 450,
"memoryBytesP50": 134217728,
"memoryBytesP90": 201326592,
"memoryBytesP95": 234881024,
"memoryBytesP99": 268435456,
"timeseries": [
{
"t": 1729583960,
"c": 150,
"m": 134217728
},
{
"t": 1729583965,
"c": 280,
"m": 201326592
}
],
"eventTs": "2025-10-22T08:39:25.000Z",
"createdAt": "2025-10-22T08:39:25.000Z"
},
"meetingIds": [
{
"participantId": "d4e5f6a7-b8c9-0123-4567-890abcdef012",
"meetingId": "f1e2d3c4-b5a6-9780-1234-567890abcdef"
}
]
}{
"error": "Unauthorized / token expired",
"code": "401"
}{
"error": "API endpoint not found / agent deployment not found / Organization not found",
"code": "404"
}{
"error": "Internal server error. Please check logs for more information or contact support.",
"code": "500"
}Get Session Details
GET /agents//sessions/ returns details for one agent session, including resource metrics.
curl --request GET \
--url https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}', 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.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pipecat.daily.co/v1/agents/{agentName}/sessions/{sessionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"sessionId": "800d444a-e67e-4686-afb3-b0de509cccb3",
"serviceId": "b900ae4a-f710-4ef1-95d8-c5f5b2789da9",
"organizationId": "cc71b52d-4271-46c9-87be-cac600fd821a",
"deploymentId": "81f4da55-106d-401f-b069-a1f1992f871a",
"endedAt": "2025-10-22T08:39:26.000Z",
"botStartSeconds": 2,
"coldStart": true,
"completionStatus": "HTTP_COMPLETED",
"createdAt": "2025-10-22T08:39:20.000Z",
"updatedAt": "2025-10-22T08:39:26.000Z",
"resourceMetrics": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"sessionId": "800d444a-e67e-4686-afb3-b0de509cccb3",
"sampleCount": 12,
"cpuMillicoresP50": 150,
"cpuMillicoresP90": 280,
"cpuMillicoresP95": 320,
"cpuMillicoresP99": 450,
"memoryBytesP50": 134217728,
"memoryBytesP90": 201326592,
"memoryBytesP95": 234881024,
"memoryBytesP99": 268435456,
"timeseries": [
{
"t": 1729583960,
"c": 150,
"m": 134217728
},
{
"t": 1729583965,
"c": 280,
"m": 201326592
}
],
"eventTs": "2025-10-22T08:39:25.000Z",
"createdAt": "2025-10-22T08:39:25.000Z"
},
"meetingIds": [
{
"participantId": "d4e5f6a7-b8c9-0123-4567-890abcdef012",
"meetingId": "f1e2d3c4-b5a6-9780-1234-567890abcdef"
}
]
}{
"error": "Unauthorized / token expired",
"code": "401"
}{
"error": "API endpoint not found / agent deployment not found / Organization not found",
"code": "404"
}{
"error": "Internal server error. Please check logs for more information or contact support.",
"code": "500"
}Authorizations
Authentication requires a Pipecat Cloud Private API token.
Generate a Private API key from your Dashboard (Settings > API Keys > Private > Create key) and include it as a Bearer token in the Authorization header.
Path Parameters
Name of the agent
UUID of the session to retrieve
Response
Session details retrieved successfully
ID of the session
ID of the service for this session
ID of the organization that this session is associated with
ID of the deployment that this session is associated with
Timestamp when the session ended
Number of seconds between bot start request and bot start
Whether the bot start was a cold start
The completion status of the session. This can be an http return code or a string like HTTP_COMPLETED, HTTP_ERROR, WS_CONNECTION_CLOSED, among others
Timestamp when the session was created
Timestamp when the session was last updated
Resource usage metrics for the session, if available
Show child attributes
Show child attributes
Daily meeting IDs associated with this session
Show child attributes
Show child attributes