curl --request GET \
--url 'https://api-prod.usefini.com/v2/test-suite/criteria-groups/public?botId=00000000-0000-4000-8000-000000000001' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch("https://api-prod.usefini.com/v2/test-suite/criteria-groups/public?botId=00000000-0000-4000-8000-000000000001", {
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/criteria-groups/public?botId=00000000-0000-4000-8000-000000000001",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
result = response.json()
[
{
"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",
"caseCount": 1
}
]
Test Suite
List criteria groups
List shared criteria groups for one agent.
GET
/
v2
/
test-suite
/
criteria-groups
/
public
curl --request GET \
--url 'https://api-prod.usefini.com/v2/test-suite/criteria-groups/public?botId=00000000-0000-4000-8000-000000000001' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch("https://api-prod.usefini.com/v2/test-suite/criteria-groups/public?botId=00000000-0000-4000-8000-000000000001", {
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/criteria-groups/public?botId=00000000-0000-4000-8000-000000000001",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
result = response.json()
[
{
"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",
"caseCount": 1
}
]
List shared criteria groups for one agent.
This route is not paginated. Other shared query DTO fields do not filter this list.
Headers
string
required
Bearer token containing your workspace API key. The key needs
read scope.Query parameters
string
required
Agent UUID. The agent must belong to the workspace.
string
Collection UUID used to filter results. Collections use the
folders routes.Response
Returns an array of criteria groups withcaseCount.
curl --request GET \
--url 'https://api-prod.usefini.com/v2/test-suite/criteria-groups/public?botId=00000000-0000-4000-8000-000000000001' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch("https://api-prod.usefini.com/v2/test-suite/criteria-groups/public?botId=00000000-0000-4000-8000-000000000001", {
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/criteria-groups/public?botId=00000000-0000-4000-8000-000000000001",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
result = response.json()
[
{
"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",
"caseCount": 1
}
]
Was this page helpful?

