Draft Mission Test Config
draftMissionTestConfigCheck a NEW mission-test config without saving it. Takes the same fields as creating one (name, phoneNumber in E.164, sector, mission, acceptance, profileId, optional description, tags, maxDurationSecs, voiceId, backgroundNoise (caller background noise: cafe, street, home or wind; absent means none), advancedParams, language (the call language: en, multi, es, fr, de, it, pt, nl, hi, ru or ja; absent means English); profileId is a caller persona id from listProfiles) and returns the config as it would be stored plus problems: every failed check at once (invalid fields, a phone number the dial policy blocks, a caller persona that no longer exists). Nothing is saved or changed, so it is safe to call repeatedly. Use when: the user wants to set up a new test and you want to check it before they save it. Saving is a separate step the user takes in the app.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>",
"phoneNumber": "<phoneNumber>",
"sector": "<sector>",
"mission": "<mission>",
"acceptance": "<acceptance>",
"profileId": "<profileId>"
},
"name": "draftMissionTestConfig"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| tags | No | Optional, lowercase, dash-or-alphanumeric workspace-scoped tags. Up to 10. Use the listMissionTestConfigs ?tag= filter to find configs by tag (single-tag exact match). | |
| sector | Yes | ||
| mission | Yes | ||
| voiceId | No | Telnyx voice id for the call, from the operator-enabled catalogue (`GET /testing/voices`). Omit to use the configured default voice. | |
| language | No | Optional language the call is held in. Omit for English, which is how every mission test has behaved to date. Use `multi` when the IVR may start in English and switch. | |
| profileId | Yes | ||
| acceptance | Yes | ||
| description | No | ||
| phoneNumber | Yes | ||
| advancedParams | No | Optional per-call turn-detection overrides. Omit to keep the server's env-var defaults, which is how every mission test has behaved to date. | |
| carrierRouteId | No | Bring-your-own-carrier (invite-only). Dial this config's runs through one of the workspace's carrier routes, over the workspace's own SIP trunk, instead of nopaque's network. Carrier routes are set up with nopaque. A mission with a route dials through it or not at all: if the route cannot be dialled when the run starts, the run is refused and the number is never called normally. It is checked when the config is saved (400 when it cannot be dialled, 503 when it could not be looked up) and resolved again at every launch. Carrier calls are metered as `carrier_s2stest`, from answer, and count toward the trunk's daily minutes. | |
| backgroundNoise | No | Caller background noise played under the call. Omit for none. | |
| maxDurationSecs | No | Optional per-call duration cap in seconds. Omit to use the server default for the mission kind (freeform 180s, compliance 90s). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | The config as it would be stored, without `id`, `workspaceId` or timestamps. A field that passed its check is shown as it would be stored (tags normalised); one that failed is left as sent; one that was not sent is left out. | |
| problems | Yes | Every check that failed. Empty when the config could be saved as sent. |