Skip to content
vocapable.Docs

Publish the qualified release of a canary-passed receptionist candidate

POST
/v1/agents/{agent_id}/receptionist-release/candidate/qualify
curl --request POST \
--url https://api.vocapable.com/v1/agents/example/receptionist-release/candidate/qualify \
--header 'Authorization: Bearer <token>'

Promote the open candidate through the unchanged receptionist qualification.

Everything the publish route proves for a receptionist is proved here, by the same helper: the exact scripted gate, the live-model preflight, and a physical signed carrier canary attached to that preflight. The first-release candidate must remain active; a live update must retain its exact qualified serving base. The route fingerprint is what carrier ingress computes for that line now, so the qualified version answers the moment it is published instead of falling back on a stale route.

agent_id
required
Agent Id
string
Idempotency-Key
Any of:
string

Unique key for this request, so a retry replays the original result instead of repeating the work. Stored for 24 hours; a replayed response carries Idempotent-Replay: true. A UUID is the documented shape.

Successful Response

Media typeapplication/json
ReceptionistCandidateQualification

A qualified publish that closed the agent’s open candidate.

object
candidate
required
ReceptionistReleaseCandidate

One staged candidate and its lifecycle.

While status is staged the line routes directly to the agent, whose active version is this unqualified candidate: carrier ingress answers only a challenge-verified carrier canary with it and gives every other caller the deterministic fallback. The candidate closes as qualified when the matching qualified version is published, withdrawn when its route is removed, or superseded by a restaged candidate.

object
id
required
Id
string
agent_definition_id
required
Agent Definition Id
string
agent_version_id
required
Agent Version Id
string
version
required
Version
integer
phone_number_id
required
Phone Number Id
string
status
required
Status
string
Allowed values: staged qualified withdrawn superseded
staged_by
Any of:
string
staged_at
required
Staged At
string format: date-time
qualified_version_id
Any of:
string
qualified_at
Any of:
string format: date-time
closed_at
Any of:
string format: date-time
qualified_version
required
AgentVersionSummary

An immutable published snapshot, as a list row.

object
id
required
Id
string
agent_definition_id
required
Agent Definition Id
string
version
required
Version
integer
content_hash
required
Content Hash
string
action_confirmation_policy
Action Confirmation Policy
string
default: legacy_v0
Allowed values: legacy_v0 exact_action_v1 exact_action_v2 exact_action_v3
max_call_seconds
required
Max Call Seconds
integer
stock_voice_id
Any of:
string
voice_profile_id
Any of:
string
knowledge_pack_version_id
Any of:
string
receptionist_intelligence_version_id
Any of:
string
receptionist_release_status
Receptionist Release Status
string
default: not_applicable
Allowed values: not_applicable unqualified qualified draining
receptionist_capability_manifest_hash
Any of:
string
receptionist_rendered_token_budget
Any of:
object
key
additional properties
any
receptionist_live_preflight_eval_run_id
Any of:
string
receptionist_canary_route_fingerprint
Any of:
string
receptionist_qualified_at
Any of:
string format: date-time
compliance_profile_id
required
Compliance Profile Id
string
gate_eval_run_id
required
Gate Eval Run Id
string
published_by
Any of:
string
published_at
required
Published At
string format: date-time
Example
{
"candidate": {
"status": "staged"
},
"qualified_version": {
"action_confirmation_policy": "legacy_v0",
"receptionist_release_status": "not_applicable"
}
}

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": {}
}
]
}