curl --request POST \
--url https://api.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"question": "example",
"reset": true
}
'import requests
url = "https://api.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst"
payload = {
"question": "example",
"reset": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({question: 'example', reset: true})
};
fetch('https://api.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst', 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.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst",
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([
'question' => 'example',
'reset' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst"
payload := strings.NewReader("{\n \"question\": \"example\",\n \"reset\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"question\": \"example\",\n \"reset\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"question\": \"example\",\n \"reset\": true\n}"
response = http.request(request)
puts response.read_body{
"created": true,
"session": {
"access_policy": "admin_only",
"active_handoff": {
"access_expires_at": "2026-02-18T09:30:00.000Z",
"deadline_at": "2026-02-18T09:30:00.000Z",
"handoff_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"reason": "example",
"requested_at": "2026-02-18T09:30:00.000Z",
"state": "awaiting_user",
"wake_cause": "example"
},
"agent_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"agent_snapshot": {
"key": "example"
},
"agent_version_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"computer_use": true,
"concurrency_slot_held": true,
"config": {
"key": "example"
},
"created_at": "2026-02-18T09:30:00.000Z",
"credential_refs": [
{
"credential_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"vault_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d"
}
],
"credential_refs_configured": true,
"effective_model": "example",
"environment_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"execution_state": "provisioning",
"external_source_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"external_source_type": "example",
"failure": {
"at": "2026-02-18T09:30:00.000Z",
"category": "transient",
"code": "example",
"message": "example",
"phase": "example",
"retryable": true
},
"forked_at_event_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"kind": "api_call",
"last_activity_at": "2026-02-18T09:30:00.000Z",
"metadata": {
"key": "example"
},
"model_ref_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"model_snapshot": {
"key": "example"
},
"organization_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"parent_session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"root_session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"sandbox_instance_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"sandbox_provider": "example",
"session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"session_path": "example",
"source_refs": {
"key": "example"
},
"status": "active",
"stop_reason": "example",
"tenant_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"updated_at": "2026-02-18T09:30:00.000Z",
"user_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"vault_ids": [
"example"
],
"wake_at": "2026-02-18T09:30:00.000Z"
}
}{
"created": true,
"session": {
"access_policy": "admin_only",
"active_handoff": {
"access_expires_at": "2026-02-18T09:30:00.000Z",
"deadline_at": "2026-02-18T09:30:00.000Z",
"handoff_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"reason": "example",
"requested_at": "2026-02-18T09:30:00.000Z",
"state": "awaiting_user",
"wake_cause": "example"
},
"agent_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"agent_snapshot": {
"key": "example"
},
"agent_version_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"computer_use": true,
"concurrency_slot_held": true,
"config": {
"key": "example"
},
"created_at": "2026-02-18T09:30:00.000Z",
"credential_refs": [
{
"credential_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"vault_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d"
}
],
"credential_refs_configured": true,
"effective_model": "example",
"environment_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"execution_state": "provisioning",
"external_source_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"external_source_type": "example",
"failure": {
"at": "2026-02-18T09:30:00.000Z",
"category": "transient",
"code": "example",
"message": "example",
"phase": "example",
"retryable": true
},
"forked_at_event_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"kind": "api_call",
"last_activity_at": "2026-02-18T09:30:00.000Z",
"metadata": {
"key": "example"
},
"model_ref_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"model_snapshot": {
"key": "example"
},
"organization_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"parent_session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"root_session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"sandbox_instance_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"sandbox_provider": "example",
"session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"session_path": "example",
"source_refs": {
"key": "example"
},
"status": "active",
"stop_reason": "example",
"tenant_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"updated_at": "2026-02-18T09:30:00.000Z",
"user_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"vault_ids": [
"example"
],
"wake_at": "2026-02-18T09:30:00.000Z"
}
}{
"code": "invalid_json",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "unauthorized",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "forbidden",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "not_found",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "conflict",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "payload_too_large",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "unsupported_media_type",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "rate_limit_exceeded",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "internal_error",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "bad_gateway",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "content_store_unconfigured",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "gateway_timeout",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}Open the session analyst for a session
curl --request POST \
--url https://api.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"question": "example",
"reset": true
}
'import requests
url = "https://api.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst"
payload = {
"question": "example",
"reset": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({question: 'example', reset: true})
};
fetch('https://api.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst', 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.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst",
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([
'question' => 'example',
'reset' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst"
payload := strings.NewReader("{\n \"question\": \"example\",\n \"reset\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"question\": \"example\",\n \"reset\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.recursion.labelbox.com/managed-agents/v1/sessions/{session_id}/analyst")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"question\": \"example\",\n \"reset\": true\n}"
response = http.request(request)
puts response.read_body{
"created": true,
"session": {
"access_policy": "admin_only",
"active_handoff": {
"access_expires_at": "2026-02-18T09:30:00.000Z",
"deadline_at": "2026-02-18T09:30:00.000Z",
"handoff_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"reason": "example",
"requested_at": "2026-02-18T09:30:00.000Z",
"state": "awaiting_user",
"wake_cause": "example"
},
"agent_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"agent_snapshot": {
"key": "example"
},
"agent_version_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"computer_use": true,
"concurrency_slot_held": true,
"config": {
"key": "example"
},
"created_at": "2026-02-18T09:30:00.000Z",
"credential_refs": [
{
"credential_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"vault_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d"
}
],
"credential_refs_configured": true,
"effective_model": "example",
"environment_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"execution_state": "provisioning",
"external_source_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"external_source_type": "example",
"failure": {
"at": "2026-02-18T09:30:00.000Z",
"category": "transient",
"code": "example",
"message": "example",
"phase": "example",
"retryable": true
},
"forked_at_event_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"kind": "api_call",
"last_activity_at": "2026-02-18T09:30:00.000Z",
"metadata": {
"key": "example"
},
"model_ref_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"model_snapshot": {
"key": "example"
},
"organization_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"parent_session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"root_session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"sandbox_instance_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"sandbox_provider": "example",
"session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"session_path": "example",
"source_refs": {
"key": "example"
},
"status": "active",
"stop_reason": "example",
"tenant_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"updated_at": "2026-02-18T09:30:00.000Z",
"user_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"vault_ids": [
"example"
],
"wake_at": "2026-02-18T09:30:00.000Z"
}
}{
"created": true,
"session": {
"access_policy": "admin_only",
"active_handoff": {
"access_expires_at": "2026-02-18T09:30:00.000Z",
"deadline_at": "2026-02-18T09:30:00.000Z",
"handoff_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"reason": "example",
"requested_at": "2026-02-18T09:30:00.000Z",
"state": "awaiting_user",
"wake_cause": "example"
},
"agent_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"agent_snapshot": {
"key": "example"
},
"agent_version_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"computer_use": true,
"concurrency_slot_held": true,
"config": {
"key": "example"
},
"created_at": "2026-02-18T09:30:00.000Z",
"credential_refs": [
{
"credential_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"vault_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d"
}
],
"credential_refs_configured": true,
"effective_model": "example",
"environment_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"execution_state": "provisioning",
"external_source_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"external_source_type": "example",
"failure": {
"at": "2026-02-18T09:30:00.000Z",
"category": "transient",
"code": "example",
"message": "example",
"phase": "example",
"retryable": true
},
"forked_at_event_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"kind": "api_call",
"last_activity_at": "2026-02-18T09:30:00.000Z",
"metadata": {
"key": "example"
},
"model_ref_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"model_snapshot": {
"key": "example"
},
"organization_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"parent_session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"root_session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"sandbox_instance_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"sandbox_provider": "example",
"session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"session_path": "example",
"source_refs": {
"key": "example"
},
"status": "active",
"stop_reason": "example",
"tenant_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"updated_at": "2026-02-18T09:30:00.000Z",
"user_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
"vault_ids": [
"example"
],
"wake_at": "2026-02-18T09:30:00.000Z"
}
}{
"code": "invalid_json",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "unauthorized",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "forbidden",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "not_found",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "conflict",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "payload_too_large",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "unsupported_media_type",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "rate_limit_exceeded",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "internal_error",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "bad_gateway",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "content_store_unconfigured",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}{
"code": "gateway_timeout",
"message": "<string>",
"details": {
"field": "<string>",
"issues": [
"<string>"
],
"requestId": "<string>",
"retryable": true
}
}Authorizations
A Recursion API key, created in the console under API keys.
Path Parameters
Session id (UUID) as returned by startSession or listSessions.
Body
Optional request body of openSessionAnalyst. An empty body returns the caller's conversation with the tree, if any; question asks (starting the conversation if needed); reset ends the current conversation.
A question for the analyst. Starts the caller's conversation with this tree when there is none, as its first turn; otherwise it is delivered to the existing conversation. An analyst is never started without one.
When true, ends the caller's current conversation with this tree: the analyst session is cancelled and stays readable, and the caller has no conversation until the next question.
Response
Response body of openSessionAnalyst: the caller's read-only analyst session over a session tree, if there is one, and whether it was just started.
Response body of openSessionAnalyst: the caller's read-only analyst session over a session tree, if there is one, and whether it was just started.
True when this call started the analyst; false when it returned the caller's existing conversation with this tree, or none.
The analyst session, when the caller has a conversation with this tree. Send questions to it with sendSessionEvents and read answers from its events; its kind is session_analyst and its access policy platform_internal. Absent when nothing has been asked yet, or the conversation was just reset: a question starts one.
Show child attributes
Show child attributes
{ "access_policy": "admin_only", "active_handoff": { "access_expires_at": "2026-02-18T09:30:00.000Z", "deadline_at": "2026-02-18T09:30:00.000Z", "handoff_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "reason": "example", "requested_at": "2026-02-18T09:30:00.000Z", "state": "awaiting_user", "wake_cause": "example" }, "agent_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "agent_snapshot": { "key": "example" }, "agent_version_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "computer_use": true, "concurrency_slot_held": true, "config": { "key": "example" }, "created_at": "2026-02-18T09:30:00.000Z", "credential_refs": [ { "credential_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "vault_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d" } ], "credential_refs_configured": true, "effective_model": "example", "environment_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "execution_state": "provisioning", "external_source_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "external_source_type": "example", "failure": { "at": "2026-02-18T09:30:00.000Z", "category": "transient", "code": "example", "message": "example", "phase": "example", "retryable": true }, "forked_at_event_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "kind": "api_call", "last_activity_at": "2026-02-18T09:30:00.000Z", "metadata": { "key": "example" }, "model_ref_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "model_snapshot": { "key": "example" }, "organization_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "parent_session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "root_session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "sandbox_instance_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "sandbox_provider": "example", "session_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "session_path": "example", "source_refs": { "key": "example" }, "status": "active", "stop_reason": "example", "tenant_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "updated_at": "2026-02-18T09:30:00.000Z", "user_id": "9f8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "vault_ids": ["example"], "wake_at": "2026-02-18T09:30:00.000Z" }