Skip to main content
PUT
Update test

Authorizations

X-API-Key
string
header
required

API key for authentication

Path Parameters

test_uuid
string
required

Test to update

Example:

"b1c2d3e4-f5a6-7890-bcde-f12345678901"

Body

application/json
name
string | null

New test name. Omit to leave unchanged

type
enum<string> | null

What the test judges:

  • response: judges the generated reply
  • tool_call: diffs the generated tool calls
  • conversation: judges the full conversation

Immutable. Omit it, or send the current value

Available options:
response,
tool_call,
conversation
config
object | null

The calibrate test config. Three top-level keys.

  • history: the required conversation up to the agent's turn. Each item is {role, content} with role one of user, assistant, tool. A tool message also carries tool_call_id and name.
  • evaluation: the required {type, ...}, where type matches the test's type below.
  • settings: an optional object, e.g. {"language": "en"}.

evaluation by test type:

  • response: judge the agent's reply, graded by the linked evaluators. {"type": "response"}
  • conversation: append the reply and judge the whole conversation. {"type": "conversation"}
  • tool_call: diff the agent's tool calls against expected ones. Add tool_calls, a list of {tool, arguments, accept_any_arguments?}.

For tool_call, each expected argument value is one of:

  • {"match_type": "exact", "value": <any>}: must equal value
  • {"match_type": "llm_judge", "criteria": "..."}: judged against the criteria
  • {"match_type": "any"}: any value, only checks the argument was passed

response / conversation example:

tool_call example:

Evaluators are linked via the separate evaluators field, not inside config.

Replaces the stored config. Omit to leave unchanged

Example:
evaluators
EvaluatorRef · object[] | null

New evaluator links for the test. Omit to leave unchanged. An empty list clears them, except on conversation tests, which must keep at least one

Response

Successful Response

uuid
string
required

Unique ID for the test

Required string length: 36
Example:

"b1c2d3e4-f5a6-7890-bcde-f12345678901"

name
string
required

Name of the test

type
enum<string>
required

What the test judges:

  • response: judges the generated reply
  • tool_call: diffs the generated tool calls
  • conversation: judges the full conversation
Available options:
response,
tool_call,
conversation
created_at
string
required

When the test was created (ISO 8601 UTC)

updated_at
string
required

When the test was last updated (ISO 8601 UTC)

config
object | null

The stored config: history, evaluation, and an optional settings

evaluators
object[]

Linked evaluators, resolved to their current live version at read time