curl --request GET \
--url 'https://api-prod.usefini.com/v2/test-suite/cases/public?botId=00000000-0000-4000-8000-000000000001&limit=50&offset=0' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch("https://api-prod.usefini.com/v2/test-suite/cases/public?botId=00000000-0000-4000-8000-000000000001&limit=50&offset=0", {
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/public?botId=00000000-0000-4000-8000-000000000001&limit=50&offset=0",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
result = response.json()
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000002",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund policy",
"sourceType": "scenario",
"sourceInteractionId": null,
"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"],
"criteriaGroups": [{"id": "00000000-0000-4000-8000-000000000003", "name": "Refund checks"}],
"criteriaGroupName": "Refund checks",
"criteriaCount": 2,
"localCriteriaCount": 1,
"directCollectionMember": false,
"groupCollectionMember": false,
"folders": [],
"setupState": "custom",
"latestRun": null
}
],
"total": 1,
"limit": 50,
"offset": 0
}
Test Suite
List test cases
List paginated cases with criteria, collection and latest-run metadata.
GET
/
v2
/
test-suite
/
cases
/
public
curl --request GET \
--url 'https://api-prod.usefini.com/v2/test-suite/cases/public?botId=00000000-0000-4000-8000-000000000001&limit=50&offset=0' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch("https://api-prod.usefini.com/v2/test-suite/cases/public?botId=00000000-0000-4000-8000-000000000001&limit=50&offset=0", {
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/public?botId=00000000-0000-4000-8000-000000000001&limit=50&offset=0",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
result = response.json()
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000002",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund policy",
"sourceType": "scenario",
"sourceInteractionId": null,
"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"],
"criteriaGroups": [{"id": "00000000-0000-4000-8000-000000000003", "name": "Refund checks"}],
"criteriaGroupName": "Refund checks",
"criteriaCount": 2,
"localCriteriaCount": 1,
"directCollectionMember": false,
"groupCollectionMember": false,
"folders": [],
"setupState": "custom",
"latestRun": null
}
],
"total": 1,
"limit": 50,
"offset": 0
}
List paginated cases with criteria, collection and latest-run metadata.
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
Case or collection name search, up to 200 characters.
string
Collection UUID used to filter results. Collections use the
folders routes.string
Criteria-group UUID used to filter results.
string
Match any linked artifact UUID, including references from shared criteria.
string
Match linked rule UUID.
string
Match linked article UUID.
number
Page size, 1 to 100. Defaults to 50.
number
Zero-based offset. Defaults to 0.
Response
Returnsitems, total, limit and offset. The example has intentionally empty arrays for a case with no collections.
curl --request GET \
--url 'https://api-prod.usefini.com/v2/test-suite/cases/public?botId=00000000-0000-4000-8000-000000000001&limit=50&offset=0' \
--header 'Authorization: Bearer fini_your_api_key'
const response = await fetch("https://api-prod.usefini.com/v2/test-suite/cases/public?botId=00000000-0000-4000-8000-000000000001&limit=50&offset=0", {
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/public?botId=00000000-0000-4000-8000-000000000001&limit=50&offset=0",
headers={"Authorization": "Bearer fini_your_api_key"},
)
response.raise_for_status()
result = response.json()
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000002",
"botId": "00000000-0000-4000-8000-000000000001",
"name": "Refund policy",
"sourceType": "scenario",
"sourceInteractionId": null,
"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"],
"criteriaGroups": [{"id": "00000000-0000-4000-8000-000000000003", "name": "Refund checks"}],
"criteriaGroupName": "Refund checks",
"criteriaCount": 2,
"localCriteriaCount": 1,
"directCollectionMember": false,
"groupCollectionMember": false,
"folders": [],
"setupState": "custom",
"latestRun": null
}
],
"total": 1,
"limit": 50,
"offset": 0
}
Was this page helpful?

