Skip to content

Create a versioned customer-authored receptionist regression case

POST
/v1/agents/{agent_id}/receptionist-regression-cases
curl --request POST \
--url https://api.vocapable.com/v1/agents/example/receptionist-regression-cases \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "caller_utterance": "example", "expected_facts": [ "example" ], "prohibited_claims": [ "example" ], "routing": { "branch": "open", "step_type": "ai", "location_ref": "example" }, "intended_action": "take_message", "dry_run_action": { "mode": "dry_run", "tool": "take_message", "expected_effect": "message_recorded" } }'
agent_id
required
Agent Id
string
Media typeapplication/json
ReceptionistRegressionCaseCreateRequest

Create a stable case identity and immutable revision 1.

object
name
required
Name
string
>= 1 characters <= 160 characters
caller_utterance
required
Caller Utterance
string
>= 1 characters <= 2000 characters
expected_facts
Expected Facts
Array<string>
<= 20 items
prohibited_claims
Prohibited Claims
Array<string>
<= 20 items
routing
Any of:
ReceptionistRoutingExpectation

The answering-policy branch and terminal step a case expects.

This does not carry a phone number, transfer destination, or policy document. The release runner resolves these small assertions against the pinned line policy, keeping a customer test case from becoming an alternate routing control plane.

object
branch
required
Branch
string
Allowed values: open closed
step_type
required
Step Type
string
Allowed values: ai ring_humans voicemail say forward menu
location_ref
Any of:
string
/^[a-z][a-z0-9_-]{0,63}$/
intended_action
Any of:
string
Allowed values: take_message open_ticket update_lead book_meeting schedule_callback record_optout end_call
dry_run_action
Any of:
ReceptionistDryRunActionExpectation

One exact native action the runner must observe through its dry-run facade.

object
mode
Mode
string
default: dry_run
Allowed value: dry_run
tool
required
Tool
string
Allowed values: take_message open_ticket update_lead book_meeting schedule_callback record_optout end_call
expected_effect
required
Expected Effect
string
Allowed values: message_recorded ticket_opened lead_updated booking_created callback_scheduled opt_out_recorded call_ended

Successful Response

Media typeapplication/json
ReceptionistRegressionCaseSummary

The current immutable revision selected by a stable customer case resource.

object
name
required
Name
string
>= 1 characters <= 160 characters
caller_utterance
required
Caller Utterance
string
>= 1 characters <= 2000 characters
expected_facts
Expected Facts
Array<string>
<= 20 items
prohibited_claims
Prohibited Claims
Array<string>
<= 20 items
routing
Any of:
ReceptionistRoutingExpectation

The answering-policy branch and terminal step a case expects.

This does not carry a phone number, transfer destination, or policy document. The release runner resolves these small assertions against the pinned line policy, keeping a customer test case from becoming an alternate routing control plane.

object
branch
required
Branch
string
Allowed values: open closed
step_type
required
Step Type
string
Allowed values: ai ring_humans voicemail say forward menu
location_ref
Any of:
string
/^[a-z][a-z0-9_-]{0,63}$/
intended_action
Any of:
string
Allowed values: take_message open_ticket update_lead book_meeting schedule_callback record_optout end_call
dry_run_action
Any of:
ReceptionistDryRunActionExpectation

One exact native action the runner must observe through its dry-run facade.

object
mode
Mode
string
default: dry_run
Allowed value: dry_run
tool
required
Tool
string
Allowed values: take_message open_ticket update_lead book_meeting schedule_callback record_optout end_call
expected_effect
required
Expected Effect
string
Allowed values: message_recorded ticket_opened lead_updated booking_created callback_scheduled opt_out_recorded call_ended
id
required
Id
string
receptionist_regression_case_id
required
Receptionist Regression Case Id
string
version
required
Version
integer
content_hash
required
Content Hash
string
created_at
required
Created At
string format: date-time
agent_definition_id
required
Agent Definition Id
string
status
required
Status
string
Allowed values: active archived
updated_at
required
Updated At
string format: date-time
Example
{
"routing": {
"branch": "open",
"step_type": "ai"
},
"intended_action": "take_message",
"dry_run_action": {
"mode": "dry_run",
"tool": "take_message",
"expected_effect": "message_recorded"
},
"status": "active"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}