curl --request PATCH \
--url https://api.galtea.ai/products/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "prod_123",
"organizationId": "org_123",
"userId": "user_123",
"name": "Sample Product",
"description": "Sample product description",
"riskLevel": "HIGH",
"operatorType": "PROVIDER",
"capabilities": "Can process and analyze data",
"inabilities": "Cannot process sensitive financial data",
"policies": "Must comply with data protection regulations",
"otelOutputSourceRule": {
"spanName": "ExecuteActivity:save_reply",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "assistant"
}
},
"autoCloseScope": "PRODUCTION",
"autoCloseInactivityMinutes": 30,
"closedSessionInferenceCreationPolicy": "REOPEN_AND_REEVALUATE",
"tags": [
"internal",
"beta"
],
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.galtea.ai/products/{id}"
payload = {
"id": "prod_123",
"organizationId": "org_123",
"userId": "user_123",
"name": "Sample Product",
"description": "Sample product description",
"riskLevel": "HIGH",
"operatorType": "PROVIDER",
"capabilities": "Can process and analyze data",
"inabilities": "Cannot process sensitive financial data",
"policies": "Must comply with data protection regulations",
"otelOutputSourceRule": {
"spanName": "ExecuteActivity:save_reply",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "assistant"
}
},
"autoCloseScope": "PRODUCTION",
"autoCloseInactivityMinutes": 30,
"closedSessionInferenceCreationPolicy": "REOPEN_AND_REEVALUATE",
"tags": ["internal", "beta"],
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: 'prod_123',
organizationId: 'org_123',
userId: 'user_123',
name: 'Sample Product',
description: 'Sample product description',
riskLevel: 'HIGH',
operatorType: 'PROVIDER',
capabilities: 'Can process and analyze data',
inabilities: 'Cannot process sensitive financial data',
policies: 'Must comply with data protection regulations',
otelOutputSourceRule: {
spanName: 'ExecuteActivity:save_reply',
attribute: 'app.arguments',
path: '$[0].message.content',
predicate: {path: '$[0].message.role', equals: 'assistant'}
},
autoCloseScope: 'PRODUCTION',
autoCloseInactivityMinutes: 30,
closedSessionInferenceCreationPolicy: 'REOPEN_AND_REEVALUATE',
tags: ['internal', 'beta'],
createdAt: '2023-11-07T05:31:56Z',
deletedAt: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.galtea.ai/products/{id}', 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.galtea.ai/products/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'id' => 'prod_123',
'organizationId' => 'org_123',
'userId' => 'user_123',
'name' => 'Sample Product',
'description' => 'Sample product description',
'riskLevel' => 'HIGH',
'operatorType' => 'PROVIDER',
'capabilities' => 'Can process and analyze data',
'inabilities' => 'Cannot process sensitive financial data',
'policies' => 'Must comply with data protection regulations',
'otelOutputSourceRule' => [
'spanName' => 'ExecuteActivity:save_reply',
'attribute' => 'app.arguments',
'path' => '$[0].message.content',
'predicate' => [
'path' => '$[0].message.role',
'equals' => 'assistant'
]
],
'autoCloseScope' => 'PRODUCTION',
'autoCloseInactivityMinutes' => 30,
'closedSessionInferenceCreationPolicy' => 'REOPEN_AND_REEVALUATE',
'tags' => [
'internal',
'beta'
],
'createdAt' => '2023-11-07T05:31:56Z',
'deletedAt' => '2023-11-07T05:31:56Z'
]),
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.galtea.ai/products/{id}"
payload := strings.NewReader("{\n \"id\": \"prod_123\",\n \"organizationId\": \"org_123\",\n \"userId\": \"user_123\",\n \"name\": \"Sample Product\",\n \"description\": \"Sample product description\",\n \"riskLevel\": \"HIGH\",\n \"operatorType\": \"PROVIDER\",\n \"capabilities\": \"Can process and analyze data\",\n \"inabilities\": \"Cannot process sensitive financial data\",\n \"policies\": \"Must comply with data protection regulations\",\n \"otelOutputSourceRule\": {\n \"spanName\": \"ExecuteActivity:save_reply\",\n \"attribute\": \"app.arguments\",\n \"path\": \"$[0].message.content\",\n \"predicate\": {\n \"path\": \"$[0].message.role\",\n \"equals\": \"assistant\"\n }\n },\n \"autoCloseScope\": \"PRODUCTION\",\n \"autoCloseInactivityMinutes\": 30,\n \"closedSessionInferenceCreationPolicy\": \"REOPEN_AND_REEVALUATE\",\n \"tags\": [\n \"internal\",\n \"beta\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.galtea.ai/products/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"prod_123\",\n \"organizationId\": \"org_123\",\n \"userId\": \"user_123\",\n \"name\": \"Sample Product\",\n \"description\": \"Sample product description\",\n \"riskLevel\": \"HIGH\",\n \"operatorType\": \"PROVIDER\",\n \"capabilities\": \"Can process and analyze data\",\n \"inabilities\": \"Cannot process sensitive financial data\",\n \"policies\": \"Must comply with data protection regulations\",\n \"otelOutputSourceRule\": {\n \"spanName\": \"ExecuteActivity:save_reply\",\n \"attribute\": \"app.arguments\",\n \"path\": \"$[0].message.content\",\n \"predicate\": {\n \"path\": \"$[0].message.role\",\n \"equals\": \"assistant\"\n }\n },\n \"autoCloseScope\": \"PRODUCTION\",\n \"autoCloseInactivityMinutes\": 30,\n \"closedSessionInferenceCreationPolicy\": \"REOPEN_AND_REEVALUATE\",\n \"tags\": [\n \"internal\",\n \"beta\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/products/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"prod_123\",\n \"organizationId\": \"org_123\",\n \"userId\": \"user_123\",\n \"name\": \"Sample Product\",\n \"description\": \"Sample product description\",\n \"riskLevel\": \"HIGH\",\n \"operatorType\": \"PROVIDER\",\n \"capabilities\": \"Can process and analyze data\",\n \"inabilities\": \"Cannot process sensitive financial data\",\n \"policies\": \"Must comply with data protection regulations\",\n \"otelOutputSourceRule\": {\n \"spanName\": \"ExecuteActivity:save_reply\",\n \"attribute\": \"app.arguments\",\n \"path\": \"$[0].message.content\",\n \"predicate\": {\n \"path\": \"$[0].message.role\",\n \"equals\": \"assistant\"\n }\n },\n \"autoCloseScope\": \"PRODUCTION\",\n \"autoCloseInactivityMinutes\": 30,\n \"closedSessionInferenceCreationPolicy\": \"REOPEN_AND_REEVALUATE\",\n \"tags\": [\n \"internal\",\n \"beta\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "prod_123",
"organizationId": "org_123",
"userId": "user_123",
"name": "Sample Product",
"description": "Sample product description",
"riskLevel": "HIGH",
"operatorType": "PROVIDER",
"capabilities": "Can process and analyze data",
"inabilities": "Cannot process sensitive financial data",
"policies": "Must comply with data protection regulations",
"otelOutputSourceRule": {
"spanName": "ExecuteActivity:save_reply",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "assistant"
}
},
"autoCloseScope": "PRODUCTION",
"autoCloseInactivityMinutes": 30,
"closedSessionInferenceCreationPolicy": "REOPEN_AND_REEVALUATE",
"tags": [
"internal",
"beta"
],
"source": "banking",
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Update product
Update an existing product. See Products.
curl --request PATCH \
--url https://api.galtea.ai/products/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "prod_123",
"organizationId": "org_123",
"userId": "user_123",
"name": "Sample Product",
"description": "Sample product description",
"riskLevel": "HIGH",
"operatorType": "PROVIDER",
"capabilities": "Can process and analyze data",
"inabilities": "Cannot process sensitive financial data",
"policies": "Must comply with data protection regulations",
"otelOutputSourceRule": {
"spanName": "ExecuteActivity:save_reply",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "assistant"
}
},
"autoCloseScope": "PRODUCTION",
"autoCloseInactivityMinutes": 30,
"closedSessionInferenceCreationPolicy": "REOPEN_AND_REEVALUATE",
"tags": [
"internal",
"beta"
],
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.galtea.ai/products/{id}"
payload = {
"id": "prod_123",
"organizationId": "org_123",
"userId": "user_123",
"name": "Sample Product",
"description": "Sample product description",
"riskLevel": "HIGH",
"operatorType": "PROVIDER",
"capabilities": "Can process and analyze data",
"inabilities": "Cannot process sensitive financial data",
"policies": "Must comply with data protection regulations",
"otelOutputSourceRule": {
"spanName": "ExecuteActivity:save_reply",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "assistant"
}
},
"autoCloseScope": "PRODUCTION",
"autoCloseInactivityMinutes": 30,
"closedSessionInferenceCreationPolicy": "REOPEN_AND_REEVALUATE",
"tags": ["internal", "beta"],
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: 'prod_123',
organizationId: 'org_123',
userId: 'user_123',
name: 'Sample Product',
description: 'Sample product description',
riskLevel: 'HIGH',
operatorType: 'PROVIDER',
capabilities: 'Can process and analyze data',
inabilities: 'Cannot process sensitive financial data',
policies: 'Must comply with data protection regulations',
otelOutputSourceRule: {
spanName: 'ExecuteActivity:save_reply',
attribute: 'app.arguments',
path: '$[0].message.content',
predicate: {path: '$[0].message.role', equals: 'assistant'}
},
autoCloseScope: 'PRODUCTION',
autoCloseInactivityMinutes: 30,
closedSessionInferenceCreationPolicy: 'REOPEN_AND_REEVALUATE',
tags: ['internal', 'beta'],
createdAt: '2023-11-07T05:31:56Z',
deletedAt: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.galtea.ai/products/{id}', 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.galtea.ai/products/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'id' => 'prod_123',
'organizationId' => 'org_123',
'userId' => 'user_123',
'name' => 'Sample Product',
'description' => 'Sample product description',
'riskLevel' => 'HIGH',
'operatorType' => 'PROVIDER',
'capabilities' => 'Can process and analyze data',
'inabilities' => 'Cannot process sensitive financial data',
'policies' => 'Must comply with data protection regulations',
'otelOutputSourceRule' => [
'spanName' => 'ExecuteActivity:save_reply',
'attribute' => 'app.arguments',
'path' => '$[0].message.content',
'predicate' => [
'path' => '$[0].message.role',
'equals' => 'assistant'
]
],
'autoCloseScope' => 'PRODUCTION',
'autoCloseInactivityMinutes' => 30,
'closedSessionInferenceCreationPolicy' => 'REOPEN_AND_REEVALUATE',
'tags' => [
'internal',
'beta'
],
'createdAt' => '2023-11-07T05:31:56Z',
'deletedAt' => '2023-11-07T05:31:56Z'
]),
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.galtea.ai/products/{id}"
payload := strings.NewReader("{\n \"id\": \"prod_123\",\n \"organizationId\": \"org_123\",\n \"userId\": \"user_123\",\n \"name\": \"Sample Product\",\n \"description\": \"Sample product description\",\n \"riskLevel\": \"HIGH\",\n \"operatorType\": \"PROVIDER\",\n \"capabilities\": \"Can process and analyze data\",\n \"inabilities\": \"Cannot process sensitive financial data\",\n \"policies\": \"Must comply with data protection regulations\",\n \"otelOutputSourceRule\": {\n \"spanName\": \"ExecuteActivity:save_reply\",\n \"attribute\": \"app.arguments\",\n \"path\": \"$[0].message.content\",\n \"predicate\": {\n \"path\": \"$[0].message.role\",\n \"equals\": \"assistant\"\n }\n },\n \"autoCloseScope\": \"PRODUCTION\",\n \"autoCloseInactivityMinutes\": 30,\n \"closedSessionInferenceCreationPolicy\": \"REOPEN_AND_REEVALUATE\",\n \"tags\": [\n \"internal\",\n \"beta\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.galtea.ai/products/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"prod_123\",\n \"organizationId\": \"org_123\",\n \"userId\": \"user_123\",\n \"name\": \"Sample Product\",\n \"description\": \"Sample product description\",\n \"riskLevel\": \"HIGH\",\n \"operatorType\": \"PROVIDER\",\n \"capabilities\": \"Can process and analyze data\",\n \"inabilities\": \"Cannot process sensitive financial data\",\n \"policies\": \"Must comply with data protection regulations\",\n \"otelOutputSourceRule\": {\n \"spanName\": \"ExecuteActivity:save_reply\",\n \"attribute\": \"app.arguments\",\n \"path\": \"$[0].message.content\",\n \"predicate\": {\n \"path\": \"$[0].message.role\",\n \"equals\": \"assistant\"\n }\n },\n \"autoCloseScope\": \"PRODUCTION\",\n \"autoCloseInactivityMinutes\": 30,\n \"closedSessionInferenceCreationPolicy\": \"REOPEN_AND_REEVALUATE\",\n \"tags\": [\n \"internal\",\n \"beta\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/products/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"prod_123\",\n \"organizationId\": \"org_123\",\n \"userId\": \"user_123\",\n \"name\": \"Sample Product\",\n \"description\": \"Sample product description\",\n \"riskLevel\": \"HIGH\",\n \"operatorType\": \"PROVIDER\",\n \"capabilities\": \"Can process and analyze data\",\n \"inabilities\": \"Cannot process sensitive financial data\",\n \"policies\": \"Must comply with data protection regulations\",\n \"otelOutputSourceRule\": {\n \"spanName\": \"ExecuteActivity:save_reply\",\n \"attribute\": \"app.arguments\",\n \"path\": \"$[0].message.content\",\n \"predicate\": {\n \"path\": \"$[0].message.role\",\n \"equals\": \"assistant\"\n }\n },\n \"autoCloseScope\": \"PRODUCTION\",\n \"autoCloseInactivityMinutes\": 30,\n \"closedSessionInferenceCreationPolicy\": \"REOPEN_AND_REEVALUATE\",\n \"tags\": [\n \"internal\",\n \"beta\"\n ],\n \"createdAt\": \"2023-11-07T05:31:56Z\",\n \"deletedAt\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "prod_123",
"organizationId": "org_123",
"userId": "user_123",
"name": "Sample Product",
"description": "Sample product description",
"riskLevel": "HIGH",
"operatorType": "PROVIDER",
"capabilities": "Can process and analyze data",
"inabilities": "Cannot process sensitive financial data",
"policies": "Must comply with data protection regulations",
"otelOutputSourceRule": {
"spanName": "ExecuteActivity:save_reply",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "assistant"
}
},
"autoCloseScope": "PRODUCTION",
"autoCloseInactivityMinutes": 30,
"closedSessionInferenceCreationPolicy": "REOPEN_AND_REEVALUATE",
"tags": [
"internal",
"beta"
],
"source": "banking",
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Authorizations
API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....
Path Parameters
Product ID
Body
Updated product data
"prod_123"
"org_123"
"user_123"
"Sample Product"
"Sample product description"
EU AI Act risk classification. PROHIBITED: banned AI use cases. GPAI: general-purpose AI. GPAI_SYSTEMIC: GPAI with systemic risk. HIGH: high-risk AI system. SPECIAL_SYSTEM: special-category system.
PROHIBITED, GPAI, GPAI_SYSTEMIC, HIGH, SPECIAL_SYSTEM "HIGH"
EU AI Act operator role classification.
AUTHORISED_REPRESENTATIVE, DEPLOYER, DISTRIBUTER, IMPORTER, PRODUCT_MANUFACTURER, PROVIDER "PROVIDER"
"Can process and analyze data"
"Cannot process sensitive financial data"
"Must comply with data protection regulations"
Recover a turn's user-visible output for templated or non-LLM replies whose final answer lives on a non-LLM span. Set per product or version (version wins). Applied only when no LLM output is present.
Show child attributes
Show child attributes
{
"spanName": "ExecuteActivity:save_reply",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "assistant"
}
}
Which sessions the product-level auto-close sweep considers. PRODUCTION (default) closes only production sessions; DEVELOPMENT only test sessions; ALL both; NONE disables auto-close.
NONE, DEVELOPMENT, PRODUCTION, ALL "PRODUCTION"
Minutes of inactivity after which an eligible session is auto-closed.
x >= 130
What happens when a new trace is created for an already-closed session. REOPEN_AND_REEVALUATE (the default) stores the trace, returns the session to PENDING and marks its existing monitor evaluations OUTDATED so a monitor scores the session again once it closes for good (production sessions only; a development session is dropped like IGNORE). IGNORE drops the trace silently. REJECT returns an error.
REJECT, IGNORE, REOPEN_AND_REEVALUATE "REOPEN_AND_REEVALUATE"
Free-form labels for organizing products. Normalized to lowercase and trimmed on save.
["internal", "beta"]
Response
Product updated successfully
"prod_123"
"org_123"
"user_123"
"Sample Product"
"Sample product description"
EU AI Act risk classification. PROHIBITED: banned AI use cases. GPAI: general-purpose AI. GPAI_SYSTEMIC: GPAI with systemic risk. HIGH: high-risk AI system. SPECIAL_SYSTEM: special-category system.
PROHIBITED, GPAI, GPAI_SYSTEMIC, HIGH, SPECIAL_SYSTEM "HIGH"
EU AI Act operator role classification.
AUTHORISED_REPRESENTATIVE, DEPLOYER, DISTRIBUTER, IMPORTER, PRODUCT_MANUFACTURER, PROVIDER "PROVIDER"
"Can process and analyze data"
"Cannot process sensitive financial data"
"Must comply with data protection regulations"
Recover a turn's user-visible output for templated or non-LLM replies whose final answer lives on a non-LLM span. Set per product or version (version wins). Applied only when no LLM output is present.
Show child attributes
Show child attributes
{
"spanName": "ExecuteActivity:save_reply",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "assistant"
}
}
Which sessions the product-level auto-close sweep considers. PRODUCTION (default) closes only production sessions; DEVELOPMENT only test sessions; ALL both; NONE disables auto-close.
NONE, DEVELOPMENT, PRODUCTION, ALL "PRODUCTION"
Minutes of inactivity after which an eligible session is auto-closed.
x >= 130
What happens when a new trace is created for an already-closed session. REOPEN_AND_REEVALUATE (the default) stores the trace, returns the session to PENDING and marks its existing monitor evaluations OUTDATED so a monitor scores the session again once it closes for good (production sessions only; a development session is dropped like IGNORE). IGNORE drops the trace silently. REJECT returns an error.
REJECT, IGNORE, REOPEN_AND_REEVALUATE "REOPEN_AND_REEVALUATE"
Free-form labels for organizing products. Normalized to lowercase and trimmed on save.
["internal", "beta"]
Demo key the product was cloned from (e.g. "banking"); null for user-created products. Server-stamped on demo-clone; not client-writable.
"banking"