Get a session
curl --request GET \
--url https://api.factory.ai/api/v0/sessions/{sessionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.factory.ai/api/v0/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.factory.ai/api/v0/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.factory.ai/api/v0/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.factory.ai/api/v0/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.factory.ai/api/v0/sessions/{sessionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.factory.ai/api/v0/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": "<string>",
"messageCount": 123,
"createdAt": 123,
"updatedAt": 123,
"title": "<string>",
"completedAt": 123,
"computerId": "<string>",
"sessionSettings": {
"model": "<string>",
"specModeModel": "<string>",
"providerLockTimestamp": "<string>",
"assistantActiveTimeMs": 123,
"tokenUsage": {
"inputTokens": 123,
"outputTokens": 123,
"cacheCreationTokens": 123,
"cacheReadTokens": 123,
"thinkingTokens": 123,
"factoryCredits": 123
},
"inclusiveTokenUsage": {
"inputTokens": 123,
"outputTokens": 123,
"cacheCreationTokens": 123,
"cacheReadTokens": 123,
"thinkingTokens": 123,
"factoryCredits": 123
},
"childInclusiveTokenUsageBySessionId": {},
"archivedAt": "<string>",
"tags": [
{
"name": "<string>",
"metadata": {}
}
],
"enabledToolIds": [
"<string>"
],
"disabledToolIds": [
"<string>"
]
}
}{
"detail": "<string>",
"status": 123,
"title": "<string>",
"metadata": {}
}{
"detail": "<string>",
"status": 123,
"title": "<string>",
"metadata": {}
}{
"detail": "<string>",
"status": 123,
"title": "<string>",
"metadata": {}
}{
"detail": "<string>",
"status": 123,
"title": "<string>",
"metadata": {}
}{
"detail": "<string>",
"status": 123,
"title": "<string>",
"metadata": {}
}Sessions
Get a session
Returns detailed session information including settings and stats. This feature is enabled for selected organizations only.
GET
/
api
/
v0
/
sessions
/
{sessionId}
Get a session
curl --request GET \
--url https://api.factory.ai/api/v0/sessions/{sessionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.factory.ai/api/v0/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.factory.ai/api/v0/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.factory.ai/api/v0/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.factory.ai/api/v0/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.factory.ai/api/v0/sessions/{sessionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.factory.ai/api/v0/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": "<string>",
"messageCount": 123,
"createdAt": 123,
"updatedAt": 123,
"title": "<string>",
"completedAt": 123,
"computerId": "<string>",
"sessionSettings": {
"model": "<string>",
"specModeModel": "<string>",
"providerLockTimestamp": "<string>",
"assistantActiveTimeMs": 123,
"tokenUsage": {
"inputTokens": 123,
"outputTokens": 123,
"cacheCreationTokens": 123,
"cacheReadTokens": 123,
"thinkingTokens": 123,
"factoryCredits": 123
},
"inclusiveTokenUsage": {
"inputTokens": 123,
"outputTokens": 123,
"cacheCreationTokens": 123,
"cacheReadTokens": 123,
"thinkingTokens": 123,
"factoryCredits": 123
},
"childInclusiveTokenUsageBySessionId": {},
"archivedAt": "<string>",
"tags": [
{
"name": "<string>",
"metadata": {}
}
],
"enabledToolIds": [
"<string>"
],
"disabledToolIds": [
"<string>"
]
}
}{
"detail": "<string>",
"status": 123,
"title": "<string>",
"metadata": {}
}{
"detail": "<string>",
"status": 123,
"title": "<string>",
"metadata": {}
}{
"detail": "<string>",
"status": 123,
"title": "<string>",
"metadata": {}
}{
"detail": "<string>",
"status": 123,
"title": "<string>",
"metadata": {}
}{
"detail": "<string>",
"status": 123,
"title": "<string>",
"metadata": {}
}Authorizations
Factory API key or JWT token for authentication
Path Parameters
Session ID
Query Parameters
Computer ID to query directly
Response
Response for status 200
Session ID
Current session execution status
Available options:
idle, pending, running Number of messages in session
Creation timestamp (Unix ms)
Last update timestamp (Unix ms)
Session title
Completion timestamp (Unix ms)
Connected computer ID
Show child attributes
Show child attributes
⌘I
