Skip to main content
GET
Get test cases

Authorizations

Authorization
string
header
required

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-....

Query Parameters

ids
string[]

Filter by test case IDs

testIds
string[]

Filter by test IDs

input
string

Case-insensitive substring filter applied across the test case input JSON values

reviewed
boolean

Filter by review status

userScore
integer

Filter by user score

variants
string[]

Filter by variants

strategies
string[]

Filter by strategies

languages
string[]

Filter by language codes

sourceFiles
string[]

Filter by source files

expectedTools
string[]

Filter by expected tools

isAugmented
boolean

Filter by augmentation status

includeLegacy
boolean

Include superseded revisions. Defaults to true; pass false to return only the active head of each revision family (legacyAt is null).

sort
string[]

Sort instructions (field and direction pairs)

limit
integer

Maximum number of results

offset
integer

Number of results to skip

fromCreatedAt
string<date-time>

Filter test cases created at or after this timestamp (ISO 8601 format)

toCreatedAt
string<date-time>

Filter test cases created at or before this timestamp (ISO 8601 format)

Response

Test cases retrieved successfully

id
string
Example:

"tc_123"

testId
string
Example:

"test_123"

userId
string | null
Example:

"user_123"

input
object | null

Structured input data. For plain text input, format is { user_message: "..." }. Uploaded files ride a content array of parts, each { type: "file", uri, filename, mimeType }, beside an optional user_message. mimeType is filled from the stored object when omitted. filename is filled only where the storage records it: AWS does, Azure Blob does not, so send filename on an Azure deployment. Every file part is returned with a server-measured sizeBytes; a value sent for it is ignored.

Example:
expectedOutput
string | null
Example:

"Paris"

expectedTools
string[]
Example:
context
object | null

Structured context data. For plain text context, format is { value: "..." }

Example:
source
string | null
Example:

"manual"

sourceFile
string | null
confidence
number | null
Example:

0.95

confidenceReason
string | null
Example:

"High quality data"

variant
string | null
Example:

"VARIANT_1"

strategy
string | null
Example:

"STRATEGY_1"

languageCode
string | null

BCP-47 language tag (e.g. en, es-MX). The region subtag selects the regional variety in simulated user messages and voice synthesis; generated test text keeps the base language. The value is stored as the full tag. A bare code for ca, de, es, eu, fr, gl, it, nl or pt defaults to the European variety of that language, in simulated user messages only (pt -> pt-PT); an explicit region always overrides it, and neither voice synthesis nor the stored value is affected.

Example:

"es-MX"

gender
enum<string> | null

Persona-derived gender ("MALE"/"FEMALE") for the male/female synthesized caller voice in phone (voice) evaluations. Stored only for now (not consumed yet). Ignored by text evaluations.

Available options:
MALE,
FEMALE
Example:

"FEMALE"

backgroundNoiseProfile
enum<string> | null

Background noise mixed into the simulated caller audio during a voice test. Clip-backed (office, street, car) or synthetic (white, pink). Null means off; set together with backgroundNoiseLevel.

Available options:
office,
street,
car,
white,
pink
Example:

"street"

backgroundNoiseLevel
enum<string> | null

How loud the background noise is relative to the caller speech. Null means off; set together with backgroundNoiseProfile.

Available options:
light,
medium,
heavy
Example:

"medium"

userPersona
string | null
Example:

"Student"

scenario
string | null
Example:

"Educational quiz"

goal
string | null
Example:

"Test geographical knowledge"

archetype
string | null
Example:

"data_grounded"

specRelevance
string | null
Example:

"direct"

stoppingCriterias
string[]
Example:
maxIterations
integer | null
Example:

10

isAugmented
boolean
Example:

false

reviewedById
string | null
Example:

"user_456"

userScore
integer | null
Example:

5

userScoreReason
string | null
Example:

"Accurate and complete"

creditsUsed
integer | null
Example:

1

sourceTestCaseId
string | null
testCaseGroupId
string | null

Revision family key shared by every revision of this test case.

Example:

"testCaseGroup_123"

parentTestCaseId
string | null

The revision this row was forked from; null for a family root.

legacyAt
string<date-time> | null

Set when this revision was superseded by a newer one; null for the active head.

seedSessionId
string | null

Read and write mean different things here, and the two ids are never the same session. On a response it is the seed session holding this test case predefined conversation, or null when it has none. On a request it is the SOURCE session to copy, which must be a session of this test product. The API answers with the id of the copy it made, never with the id you sent. Omit it, send null, or send back the id the response gave you, and the predefined conversation stays as it is. There is no way to remove a predefined conversation. Cannot be sent together with conversationHistory, the other way to give this test case a conversation.

createdAt
string<date-time>
deletedAt
string<date-time> | null