curl --request GET \
--url 'https://api-prod.usefini.com/v2/test-suite/cases/00000000-0000-4000-8000-000000000002/public' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch("https://api-prod.usefini.com/v2/test-suite/cases/00000000-0000-4000-8000-000000000002/public", {
method: "GET",
headers: {
Authorization: "Bearer fini_your_api_key",
},
});
if (!response.ok) throw new Error(await response.text());
const result = await response.json();
import requests
response = requests.request(
"GET",
"https://api-prod.usefini.com/v2/test-suite/cases/00000000-0000-4000-8000-000000000002/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
result = response.json()
{
"id": "00000000-0000-4000-8000-000000000002",
"companyId": "00000000-0000-4000-8000-000000000011",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund policy",
"sourceType": "scenario",
"sourceInteractionId": null,
"criteria": [
{
"id": "2995012b-d9bf-58e9-c6c7-672205196681",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
},
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"artifacts": [{"kind": "rule", "id": "00000000-0000-4000-8000-000000000005", "name": "Refund workflow", "origin": "manual"}],
"criteriaGroupId": "00000000-0000-4000-8000-000000000003",
"criteriaGroupIds": ["00000000-0000-4000-8000-000000000003"],
"criteriaGroup": {
"id": "00000000-0000-4000-8000-000000000003",
"companyId": "00000000-0000-4000-8000-000000000011",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund checks",
"criteria": [
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"revision": 1,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
},
"criteriaGroups": [
{
"id": "00000000-0000-4000-8000-000000000003",
"companyId": "00000000-0000-4000-8000-000000000011",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund checks",
"criteria": [
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"revision": 1,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"criterionOrigins": {
"2995012b-d9bf-58e9-c6c7-672205196681": {"groupId": "00000000-0000-4000-8000-000000000003", "groupName": "Refund checks"}
},
"localCriteria": [
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z",
"messages": [{"id": "00000000-0000-4000-8000-000000000010", "role": "user", "content": "Am I eligible for a refund?"}],
"conversationName": "Refund policy",
"attributeOverrides": {"plan": "standard"},
"history": [],
"latestIndividualRun": null,
"actionResponses": [],
"turns": [
{
"message": "Am I eligible for a refund?",
"actions": [
{
"ruleId": "00000000-0000-4000-8000-000000000005",
"nodeId": "lookup",
"toolId": "00000000-0000-4000-8000-000000000006",
"success": true,
"output": {"eligible": true}
}
]
}
],
"userAttributes": {"plan": "standard"},
"createdBy": null,
"deletedAt": null
}
Test Suite
Get test case
Read a saved case with effective criteria, setup and run history.
GET
/
v2
/
test-suite
/
cases
/
{id}
/
public
curl --request GET \
--url 'https://api-prod.usefini.com/v2/test-suite/cases/00000000-0000-4000-8000-000000000002/public' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch("https://api-prod.usefini.com/v2/test-suite/cases/00000000-0000-4000-8000-000000000002/public", {
method: "GET",
headers: {
Authorization: "Bearer fini_your_api_key",
},
});
if (!response.ok) throw new Error(await response.text());
const result = await response.json();
import requests
response = requests.request(
"GET",
"https://api-prod.usefini.com/v2/test-suite/cases/00000000-0000-4000-8000-000000000002/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
result = response.json()
{
"id": "00000000-0000-4000-8000-000000000002",
"companyId": "00000000-0000-4000-8000-000000000011",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund policy",
"sourceType": "scenario",
"sourceInteractionId": null,
"criteria": [
{
"id": "2995012b-d9bf-58e9-c6c7-672205196681",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
},
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"artifacts": [{"kind": "rule", "id": "00000000-0000-4000-8000-000000000005", "name": "Refund workflow", "origin": "manual"}],
"criteriaGroupId": "00000000-0000-4000-8000-000000000003",
"criteriaGroupIds": ["00000000-0000-4000-8000-000000000003"],
"criteriaGroup": {
"id": "00000000-0000-4000-8000-000000000003",
"companyId": "00000000-0000-4000-8000-000000000011",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund checks",
"criteria": [
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"revision": 1,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
},
"criteriaGroups": [
{
"id": "00000000-0000-4000-8000-000000000003",
"companyId": "00000000-0000-4000-8000-000000000011",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund checks",
"criteria": [
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"revision": 1,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"criterionOrigins": {
"2995012b-d9bf-58e9-c6c7-672205196681": {"groupId": "00000000-0000-4000-8000-000000000003", "groupName": "Refund checks"}
},
"localCriteria": [
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z",
"messages": [{"id": "00000000-0000-4000-8000-000000000010", "role": "user", "content": "Am I eligible for a refund?"}],
"conversationName": "Refund policy",
"attributeOverrides": {"plan": "standard"},
"history": [],
"latestIndividualRun": null,
"actionResponses": [],
"turns": [
{
"message": "Am I eligible for a refund?",
"actions": [
{
"ruleId": "00000000-0000-4000-8000-000000000005",
"nodeId": "lookup",
"toolId": "00000000-0000-4000-8000-000000000006",
"success": true,
"output": {"eligible": true}
}
]
}
],
"userAttributes": {"plan": "standard"},
"createdBy": null,
"deletedAt": null
}
Read a saved case with effective criteria, setup and run history.
criteria includes shared and local checks; localCriteria contains only case-specific checks. history contains up to 20 recent case runs. latestIndividualRun excludes group runs.
Headers
string
required
Bearer token containing your workspace API key. The key needs
read scope.Path parameters
string
required
Case UUID.
Response
Returns case detail rather than the stored rawinput. A fresh scenario intentionally has empty arrays for Action-response overrides and history.
curl --request GET \
--url 'https://api-prod.usefini.com/v2/test-suite/cases/00000000-0000-4000-8000-000000000002/public' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch("https://api-prod.usefini.com/v2/test-suite/cases/00000000-0000-4000-8000-000000000002/public", {
method: "GET",
headers: {
Authorization: "Bearer fini_your_api_key",
},
});
if (!response.ok) throw new Error(await response.text());
const result = await response.json();
import requests
response = requests.request(
"GET",
"https://api-prod.usefini.com/v2/test-suite/cases/00000000-0000-4000-8000-000000000002/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
result = response.json()
{
"id": "00000000-0000-4000-8000-000000000002",
"companyId": "00000000-0000-4000-8000-000000000011",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund policy",
"sourceType": "scenario",
"sourceInteractionId": null,
"criteria": [
{
"id": "2995012b-d9bf-58e9-c6c7-672205196681",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
},
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"artifacts": [{"kind": "rule", "id": "00000000-0000-4000-8000-000000000005", "name": "Refund workflow", "origin": "manual"}],
"criteriaGroupId": "00000000-0000-4000-8000-000000000003",
"criteriaGroupIds": ["00000000-0000-4000-8000-000000000003"],
"criteriaGroup": {
"id": "00000000-0000-4000-8000-000000000003",
"companyId": "00000000-0000-4000-8000-000000000011",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund checks",
"criteria": [
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"revision": 1,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
},
"criteriaGroups": [
{
"id": "00000000-0000-4000-8000-000000000003",
"companyId": "00000000-0000-4000-8000-000000000011",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund checks",
"criteria": [
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"revision": 1,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"criterionOrigins": {
"2995012b-d9bf-58e9-c6c7-672205196681": {"groupId": "00000000-0000-4000-8000-000000000003", "groupName": "Refund checks"}
},
"localCriteria": [
{
"id": "00000000-0000-4000-8000-000000000012",
"companyId": "00000000-0000-4000-8000-000000000011",
"defaultCriterionId": null,
"name": "No handoff",
"type": "deterministic",
"condition": {
"scope": "SCALAR",
"predicate": {"left": {"path": "escalated", "dataType": "boolean"}, "operator": "==", "right": {"value": false}}
},
"blocking": true,
"judgePrompt": null,
"passPrompt": null,
"failPrompt": null,
"isActive": true,
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z"
}
],
"createdAt": "2026-10-12T10:00:00.000Z",
"updatedAt": "2026-10-12T10:00:00.000Z",
"messages": [{"id": "00000000-0000-4000-8000-000000000010", "role": "user", "content": "Am I eligible for a refund?"}],
"conversationName": "Refund policy",
"attributeOverrides": {"plan": "standard"},
"history": [],
"latestIndividualRun": null,
"actionResponses": [],
"turns": [
{
"message": "Am I eligible for a refund?",
"actions": [
{
"ruleId": "00000000-0000-4000-8000-000000000005",
"nodeId": "lookup",
"toolId": "00000000-0000-4000-8000-000000000006",
"success": true,
"output": {"eligible": true}
}
]
}
],
"userAttributes": {"plan": "standard"},
"createdBy": null,
"deletedAt": null
}
Was this page helpful?

