Save a test case for a skill
POST /skills/{action_id}/test-cases
POST
/skills/{action_id}/test-cases
Saving a case RUNS NOTHING. Only POST .../test-runs runs the skill.
That separation is the point: building a suite is free, and executing it is the operation that costs.
Authorizations
Parameters
Path Parameters
action_id
required
Skill or workflow action_id.
string
Skill or workflow action_id.
Header Parameters
Request Body required
object
assertion_type
“exact”, “contains” or “llm_judge”. llm_judge is skipped by dry runs.
string
input_data
required
The fixture, same shape as an execution’s input.
object
key
additional properties
any
name
required
Human label.
string
Responses
201
Successful Response
object
data
required
One voice object - a collection, an agent, a route, a chat.
Open-shaped: voice adds fields to these bodies on its own release cadence and a dropped-or-added key must not be a 500 in this service.
object
key
additional properties
any
pagination
Any of:
object
has_next
required
Whether there are more pages
boolean
limit
required
Items per page
integer
notes
Any of:
Array<string>
null
page
required
Current page number (1-indexed)
integer
total
required
Total number of items
integer
null
422
Validation Error
object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string