Beta API. Choose telnyx/decision-flash for the lowest cost and latency, or telnyx/decision-pro for decisions that require long context, including inputs beyond Jev’s 32k per-decision limit. Omitted model defaults to telnyx/decision-flash.
Evaluate shared context using named choice, noul (yes/no), and score questions. Returns TypeSafe System One-compatible answer shapes, the selected public model alias, and token usage. See the decision model guide for examples and compatibility limits.
The supported request subset requires instructions for every question, string descriptions for criteria (or null for choice descriptions), 1–64 questions, and 2–64 options for choice and score questions. The model field accepts only telnyx/decision-flash or telnyx/decision-pro. Unsupported model values and unknown fields are rejected. The endpoint is synchronous and does not stream.
Use the TypeSafe Python SDK with base_url set to https://api.telnyx.com/v2/ai/typesafe and a Telnyx API key. The SDK appends /v1/systemone; explicitly set model to a supported Telnyx alias because its own default model is not supported. Compatibility covers this operation and the documented request subset; it does not include TypeSafe model listing. Scores describe relative preference, not calibrated correctness.
POST
/
ai
/
typesafe
/
v1
/
systemone
JavaScript
import Telnyx from 'telnyx';const client = new Telnyx({ apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted});const response = await client.ai.typesafe.v1.systemone({ questions: {}, state: 'Our production calls are failing. Every customer is affected.',});console.log(response.model);
import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
response = client.ai.typesafe.v1.systemone(
questions={},
state="Our production calls are failing. Every customer is affected.",
)
print(response.model)
package main
import (
"context"
"fmt"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
func main() {
client := telnyx.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.AI.Typesafe.V1.Systemone(
context.TODO(),
telnyx.AITypesafeV1SystemoneParams{
Questions: "questions",
State: "Our production calls are failing. Every customer is affected.",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
}
package com.telnyx.sdk.example;
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
import com.telnyx.sdk.models.ai.typesafe.v1.V1SystemoneParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
V1SystemoneParams params = V1SystemoneParams.builder()
.questions(null)
.state("Our production calls are failing. Every customer is affected.")
.build();
var response = client.ai().typesafe().v1().systemone(params);
}
}
require "telnyx"
telnyx = Telnyx::Client.new(api_key: "My API Key")
response = telnyx.ai.typesafe.v1.systemone(questions: {}, state: "Our production calls are failing. Every customer is affected.")
puts(response)
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Telnyx\Client;
use Telnyx\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');
try {
$response = $client->ai->typesafe->v1->systemone(
questions: [],
state: 'Our production calls are failing. Every customer is affected.',
);
var_dump($response);
} catch (APIException $e) {
echo $e->getMessage();
}
telnyx ai:typesafe:v1 systemone \
--api-key 'My API Key' \
--state 'Our production calls are failing. Every customer is affected.' \
--questions '{}'
curl --request POST \
--url https://api.telnyx.com/v2/ai/typesafe/v1/systemone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "telnyx/decision-flash",
"state": "Our production calls are failing. Every customer is affected.",
"questions": {
"team": {
"type": "choice",
"instructions": "Choose the team that should handle this incident.",
"criteria": {
"billing": "Payments and refunds",
"technical_support": "Service faults and technical problems",
"sales": "New purchases"
}
},
"production_incident": {
"type": "noul",
"instructions": "Does the message describe an active production incident?"
},
"urgency": {
"type": "score",
"instructions": "Rate operational urgency.",
"criteria": [
"Low",
"Normal",
"High",
"Critical"
]
}
}
}
'
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Decision Models beta request. Choose a public model alias; omitted model defaults to telnyx/decision-flash. Telnyx manages the underlying models behind these aliases.
Public model alias. telnyx/decision-flash offers the lowest cost and latency; telnyx/decision-pro supports decisions that require long context, including inputs beyond Jev’s 32k per-decision limit. Applies to every question in the request. Other values are rejected.
Available options:
telnyx/decision-flash,
telnyx/decision-pro
Example:
"telnyx/decision-flash"
Response
All questions evaluated successfully. The response is a complete JSON object, not a stream.
A complete synchronous evaluation. Answers are returned directly without a data wrapper.
import Telnyx from 'telnyx';const client = new Telnyx({ apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted});const response = await client.ai.typesafe.v1.systemone({ questions: {}, state: 'Our production calls are failing. Every customer is affected.',});console.log(response.model);
import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
response = client.ai.typesafe.v1.systemone(
questions={},
state="Our production calls are failing. Every customer is affected.",
)
print(response.model)
package main
import (
"context"
"fmt"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
func main() {
client := telnyx.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.AI.Typesafe.V1.Systemone(
context.TODO(),
telnyx.AITypesafeV1SystemoneParams{
Questions: "questions",
State: "Our production calls are failing. Every customer is affected.",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
}
package com.telnyx.sdk.example;
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
import com.telnyx.sdk.models.ai.typesafe.v1.V1SystemoneParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
V1SystemoneParams params = V1SystemoneParams.builder()
.questions(null)
.state("Our production calls are failing. Every customer is affected.")
.build();
var response = client.ai().typesafe().v1().systemone(params);
}
}
require "telnyx"
telnyx = Telnyx::Client.new(api_key: "My API Key")
response = telnyx.ai.typesafe.v1.systemone(questions: {}, state: "Our production calls are failing. Every customer is affected.")
puts(response)
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Telnyx\Client;
use Telnyx\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');
try {
$response = $client->ai->typesafe->v1->systemone(
questions: [],
state: 'Our production calls are failing. Every customer is affected.',
);
var_dump($response);
} catch (APIException $e) {
echo $e->getMessage();
}
telnyx ai:typesafe:v1 systemone \
--api-key 'My API Key' \
--state 'Our production calls are failing. Every customer is affected.' \
--questions '{}'
curl --request POST \
--url https://api.telnyx.com/v2/ai/typesafe/v1/systemone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "telnyx/decision-flash",
"state": "Our production calls are failing. Every customer is affected.",
"questions": {
"team": {
"type": "choice",
"instructions": "Choose the team that should handle this incident.",
"criteria": {
"billing": "Payments and refunds",
"technical_support": "Service faults and technical problems",
"sales": "New purchases"
}
},
"production_incident": {
"type": "noul",
"instructions": "Does the message describe an active production incident?"
},
"urgency": {
"type": "score",
"instructions": "Rate operational urgency.",
"criteria": [
"Low",
"Normal",
"High",
"Critical"
]
}
}
}
'
{
"error": {
"message": "Decision model service at capacity."
}
}
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"Telnyx","description":"Infrastructure for real-time agents. Voice, AI, Edge Compute","colors":{"primary":"#00B688","light":"#00B688","dark":"#00B688"},"logo":{"light":"https://mintcdn.com/telnyx/v2FpkbJg6PQ53qHU/assets/images/site/logo.svg?fit=max\u0026auto=format\u0026n=v2FpkbJg6PQ53qHU\u0026q=85\u0026s=5ee3f61d11ba90a197dd9a1e3499fab6","dark":"https://mintcdn.com/telnyx/v2FpkbJg6PQ53qHU/assets/images/site/logo-dark.svg?fit=max\u0026auto=format\u0026n=v2FpkbJg6PQ53qHU\u0026q=85\u0026s=d65aaa12ec708c79e5833cbdea958055"},"favicon":"https://mintcdn.com/telnyx/t-qaBUa_gCxdRz_m/favicon.ico?fit=max\u0026auto=format\u0026n=t-qaBUa_gCxdRz_m\u0026q=85\u0026s=8291283238ab8c0e2a7a985e69f38c2f","background":{"decoration":"gradient"},"navbar":{"links":[{"icon":"triangle-exclamation","href":"/docs/development/api-fundamentals/api-errors","label":"Error codes"},{"icon":"headset","href":"https://telnyx.com/contact-us","label":"Contact us"},{"icon":"user","href":"https://portal.telnyx.com/#/login/sign-in","label":"Login"}],"primary":{"type":"button","label":"Sign Up","href":"https://telnyx.com/sign-up"}},"footer":{"socials":{"github":"https://github.com/team-telnyx","linkedin":"https://www.linkedin.com/company/telnyx","slack":"https://joinslack.telnyx.com","x":"https://x.com/telnyx"},"links":[{"header":"Resources","items":[{"label":"Pricing","href":"https://developers.telnyx.com/internal/pages/pricing"},{"label":"Compare Telnyx","href":"https://developers.telnyx.com/internal/pages/compare"},{"label":"Support center","href":"https://support.telnyx.com/en"},{"label":"SETI","href":"https://seti.telnyx.com"},{"label":"Agent platform configs","href":"https://github.com/team-telnyx/ai"},{"label":"About Telnyx","href":"https://developers.telnyx.com/internal/pages/about"},{"label":"Service status","href":"https://status.telnyx.com"}]},{"header":"Updates","items":[{"label":"Release notes","href":"https://telnyx.com/release-notes"}]},{"header":"Community","items":[{"label":"Low Latency Club","href":"https://lowlatencyclub.ai/"}]},{"header":"Legal","items":[{"label":"Privacy policy","href":"https://telnyx.com/privacy-policy"},{"label":"Terms and conditions","href":"https://telnyx.com/terms-and-conditions"}]}]},"seo":{"metatags":{"og:description":"Infrastructure for real-time agents. Voice, AI, Edge Compute","description":"Infrastructure for real-time agents. Voice, AI, Edge Compute"},"organization":{"name":"Telnyx","url":"https://telnyx.com","logo":"https://telnyx.com/favicon.ico","sameAs":["https://x.com/telnyx","https://www.linkedin.com/company/telnyx/","https://github.com/team-telnyx"]}},"fonts":{"heading":{"family":"PP Formula","weight":800,"source":"assets/fonts/PPFormula-Extrabold.woff2","format":"woff2"},"body":{"family":"Inter","weight":400,"source":"assets/fonts/Inter-Regular.woff2","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"gtm":{"tagId":"GTM-NRRX236"}},"banner":{"content":"Check out our upcoming events and meetups! [View events →](https://lowlatencyclub.ai/)","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Home","icon":"house","href":"/docs/overview"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"telnyx","hasAudioNarration":false,"actualSubdomain":"telnyx","customDomains":["developers.telnyx.com"],"gitSource":{"type":"github","owner":"team-telnyx","repo":"developer-docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae7cf0de17c0e64392dc8e6","collectionId":"893c6f1a-73a3-4d4c-9dbd-d11b05e0e2bb","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae7cf0de17c0e64392dc8e6"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae7d0b4bb0aba4da34b1566","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Calling","count":592},{"language":"default","tag":"API Reference","count":552},{"language":"default","tag":"Other APIs","count":402},{"language":"default","tag":"AI","count":382},{"language":"default","tag":"Messaging","count":353},{"language":"default","tag":"Numbers","count":287},{"language":"default","tag":"Agent Platform","count":218},{"language":"default","tag":"Assistants","count":202},{"language":"default","tag":"Voice API","count":178},{"language":"default","tag":"SMS \u0026 MMS","count":149}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"[class*=sidebar] [class*=badge],[class*=sidebar] [class*=tag],nav [class*=badge],nav [class*=tag]{font-size:.8rem!important}#ot-sdk-btn-floating{left:auto!important;right:10px!important}body:has([aria-label=\"Preview Widget\"]) #ot-sdk-btn-floating{bottom:88px!important}#navbar .nav-tabs-item:has(>div>svg[style*=\"/book-open.svg\"]),#navbar div:has(>div>.nav-tabs>a.nav-tabs-item:first-child:last-child){display:none}.nav-tabs a.nav-tabs-item:not([aria-current=location]){display:none}#mobile-nav #navigation-items>div:has(>div>button[aria-haspopup=menu]),#mobile-nav [data-component-part=products-selector-trigger],#mobile-nav.tx-has-directory #navigation-items{display:none!important}#mobile-nav .tx-mobile-directory{padding:0;margin-bottom:1.5rem}#mobile-nav .tx-mobile-directory .tx-dir-suite-head,#mobile-nav .tx-mobile-directory a{min-height:2.75rem}#mobile-nav .tx-mobile-directory :is(a, .tx-dir-suite-head):focus-visible{outline:2px solid currentColor;outline-offset:-2px}.txd-shell{display:flex;gap:0;max-width:none;margin:0;padding:3rem 2rem 6rem 0}.txd-side{width:18rem;flex-shrink:0}.txd-main{flex:1;min-width:0;max-width:56rem;margin-left:11.75rem}@media (max-width:80rem){.txd-main{margin-left:4rem}}:is(#tx-directory, .tx-mobile-directory){margin:0 0 .5rem;padding:0 .5rem 0 1rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.55;margin:0 0 .4rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-label-gap{margin-top:1.5rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-link,:is(#tx-directory, .tx-mobile-directory) summary{display:flex;align-items:center;cursor:pointer;font-size:.875rem;line-height:1.25rem;padding:.35rem .5rem;border-radius:.375rem;color:rgb(55 65 81);text-decoration:none}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-link,html.dark :is(#tx-directory, .tx-mobile-directory) summary{color:rgb(156 163 175)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-link:hover,:is(#tx-directory, .tx-mobile-directory) summary:hover{color:rgb(17 24 39);background:rgb(0 0 0/.04)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-link[aria-current=page]{color:#00b688;background:0 0;box-shadow:none;font-weight:400;text-shadow:-.2px 0 0 currentColor,.2px 0 0 currentColor}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-link:hover,html.dark :is(#tx-directory, .tx-mobile-directory) summary:hover{color:rgb(229 231 235);background:rgb(255 255 255/.06)}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-link[aria-current=page]{color:#5eead4;background:0 0;box-shadow:none}:is(#tx-directory, .tx-mobile-directory) .tx-dir-soon,:is(#tx-directory, .tx-mobile-directory) .tx-dir-soon:hover,html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-soon,html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-soon:hover{cursor:default;opacity:.45;background:0 0;color:inherit}:is(#tx-directory, .tx-mobile-directory) .tx-dir-soon sup{font-size:.6rem;line-height:1;letter-spacing:.05em;text-transform:uppercase;margin-left:.4rem;vertical-align:super}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite{margin-bottom:.15rem}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head{display:flex;align-items:center;cursor:pointer;user-select:none;font-size:.875rem;line-height:1.25rem;font-weight:500;padding:.35rem .5rem;border-radius:.375rem;color:rgb(55 65 81)}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head,html.dark :is(#tx-directory, .tx-mobile-directory) li a{color:rgb(156 163 175)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head:hover,:is(#tx-directory, .tx-mobile-directory) li a:hover{color:rgb(17 24 39);background:rgb(0 0 0/.04)}html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head:hover,html.dark :is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>.tx-dir-suite-head,html.dark :is(#tx-directory, .tx-mobile-directory) li a:hover{color:rgb(229 231 235);background:rgb(255 255 255/.06)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite-head::after{content:'';width:.42rem;height:.42rem;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s;flex-shrink:0;opacity:.7}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>.tx-dir-suite-head::after{transform:rotate(45deg)}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>.tx-dir-suite-head{color:rgb(17 24 39);background:rgb(0 0 0/.04);font-weight:600}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite>ul{display:none}:is(#tx-directory, .tx-mobile-directory) .tx-dir-suite.open>ul{display:block}:is(#tx-directory, .tx-mobile-directory) ul{margin:.15rem 0 .5rem;padding:0}:is(#tx-directory, .tx-mobile-directory) li{list-style:none}:is(#tx-directory, .tx-mobile-directory) li a{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;padding:.3rem .5rem .3rem 1.6rem;border-radius:.375rem;color:rgb(107 114 128);text-decoration:none}:is(#tx-directory, .tx-mobile-directory) .tx-dir-section-item{font-weight:500}:is(#tx-directory, .tx-mobile-directory) .tx-dir-icon{display:inline-block;width:1rem;height:1rem;flex-shrink:0;margin-right:.5rem;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.txi-arrows-left-right-to-line{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/arrows-left-right-to-line.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/arrows-left-right-to-line.svg)}.txi-bolt{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/bolt.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/bolt.svg)}.txi-brain{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain.svg)}.txi-brain-circuit{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain-circuit.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/brain-circuit.svg)}.txi-brands-whatsapp{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/whatsapp.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/whatsapp.svg)}.txi-broadcast-tower{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/broadcast-tower.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/broadcast-tower.svg)}.txi-browser{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/browser.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/browser.svg)}.txi-circle-nodes{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/circle-nodes.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/circle-nodes.svg)}.txi-clone{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/clone.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/clone.svg)}.txi-cloud{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cloud.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cloud.svg)}.txi-code{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/code.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/code.svg)}.txi-comment-sms{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/comment-sms.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/comment-sms.svg)}.txi-cubes{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cubes.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cubes.svg)}.txi-database{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/database.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/database.svg)}.txi-envelope{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/envelope.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/envelope.svg)}.txi-eye{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/eye.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/eye.svg)}.txi-file-certificate{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/file-certificate.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/file-certificate.svg)}.txi-fingerprint{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/fingerprint.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/fingerprint.svg)}.txi-folder-tree{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/folder-tree.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/folder-tree.svg)}.txi-globe{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/globe.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/globe.svg)}.txi-hard-drive{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hard-drive.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hard-drive.svg)}.txi-hashtag{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hashtag.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/hashtag.svg)}.txi-headset{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/headset.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/headset.svg)}.txi-key{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/key.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/key.svg)}.txi-layer-group{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/layer-group.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/layer-group.svg)}.txi-magnifying-glass{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/magnifying-glass.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/magnifying-glass.svg)}.txi-message{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message.svg)}.txi-message-dots{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message-dots.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/message-dots.svg)}.txi-microchip-ai{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microchip-ai.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microchip-ai.svg)}.txi-microphone{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microphone.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/microphone.svg)}.txi-network-wired{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/network-wired.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/network-wired.svg)}.txi-phone{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone.svg)}.txi-phone-volume{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone-volume.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/phone-volume.svg)}.txi-plug{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/plug.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/plug.svg)}.txi-right-left{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/right-left.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/right-left.svg)}.txi-robot{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/robot.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/robot.svg)}.txi-server{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/server.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/server.svg)}.txi-share-nodes{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/share-nodes.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/share-nodes.svg)}.txi-shield{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield.svg)}.txi-shield-check{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield-check.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/shield-check.svg)}.txi-signal{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/signal.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/signal.svg)}.txi-sim-card{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/sim-card.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/sim-card.svg)}.txi-split{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/split.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/split.svg)}.txi-table{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/table.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/table.svg)}.txi-tower-control{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/tower-control.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/tower-control.svg)}.txi-train-tunnel{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/train-tunnel.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/train-tunnel.svg)}.txi-video{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/video.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/video.svg)}.txi-wand-magic-sparkles{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/wand-magic-sparkles.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/wand-magic-sparkles.svg)}.txi-waveform{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform.svg)}.txi-waveform-lines{-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform-lines.svg);mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/waveform-lines.svg)}.txd-main .txd-h1{font-family:var(--font-family-headings-custom, \"PP Formula\"),-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;font-size:2.1rem;font-weight:500;letter-spacing:-.01em;margin:1.2rem 0 .4rem;color:rgb(22 28 26)}html.dark .txd-main .txd-h1{color:rgb(229 231 235)}.txd-main .txd-lead{font-size:1.3rem;line-height:1.55;font-weight:500;margin:.9rem 0 1.3rem;color:rgb(31 41 55)}html.dark .txd-main .txd-lead{color:rgb(209 213 219)}.txd-main .txd-h2{font-family:var(--font-family-headings-custom, \"PP Formula\"),-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;font-size:1.45rem;font-weight:500;margin:2.4rem 0 .4rem;color:rgb(22 28 26)}html.dark .txd-main .txd-h2{color:rgb(229 231 235)}.txd-main .txd-section-h{font-size:1.05rem;font-weight:600;margin:1.8rem 0 .2rem;opacity:.85}.txd-main .txd-p{margin:.7rem 0 1rem;line-height:1.65;color:rgb(75 85 99)}html.dark .txd-main .txd-p{color:rgb(156 163 175)}.txd-main .txd-follow-up a:hover,.txd-main .txd-p a{text-decoration:underline}.txd-main .txd-h1{max-width:46rem;line-height:1.12}.txd-main .txd-hero-copy{max-width:45rem}.txd-main .txd-follow-up{margin-top:1rem}.txd-main .txd-follow-up a{color:#00b688;font-weight:600;text-decoration:none}.txd-main a:focus-visible{outline:2px solid #00b688;outline-offset:3px}@media (max-width:48rem){.txd-main .txd-h1{font-size:1.9rem}}@media (min-width:64.01rem) and (max-width:90rem){.txd-main{margin-right:4rem}}.rm-explorer{--rm-border:rgb(15 23 42 / 14%);--rm-muted:#5f6b68;--rm-soft:#f6f8f7}.dark .rm-explorer{--rm-border:rgb(255 255 255 / 14%);--rm-muted:#a2aaa8;--rm-soft:#151a19}#resource-map-toolbar{position:sticky;top:5rem;z-index:20;margin:1.25rem 0 1.75rem;padding:.75rem 0;background:var(--rm-surface, #fff);border-bottom:1px solid var(--rm-border)}.dark #resource-map-toolbar{background:#0b0e0d}.rm-controls{display:grid;grid-template-columns:minmax(15rem,1fr) minmax(10rem,auto) auto;gap:.625rem;align-items:center}.rm-search{position:relative;min-width:0}.rm-search svg{position:absolute;top:50%;left:.75rem;width:1rem;height:1rem;color:var(--rm-muted);fill:none;stroke:currentColor;stroke-width:1.8;transform:translateY(-50%);pointer-events:none}.rm-area-select,.rm-collapse,.rm-search input{min-height:2.5rem;font-size:.875rem}.rm-area-select,.rm-clear,.rm-collapse,.rm-empty button,.rm-search input{color:inherit;background:0 0;border:1px solid var(--rm-border);border-radius:.5rem;font:inherit}.rm-empty button{font-size:.875rem}.rm-search input{width:100%;padding:.58rem 2.6rem .58rem 2.35rem}.rm-search input::placeholder{color:var(--rm-muted);opacity:1}.rm-shortcut{position:absolute;top:50%;right:.65rem;display:grid;width:1.5rem;height:1.5rem;place-items:center;color:var(--rm-muted);background:var(--rm-soft);border:1px solid var(--rm-border);border-radius:.35rem;font:inherit;font-size:.72rem;transform:translateY(-50%);pointer-events:none}.rm-area-wrap{position:relative;max-width:13rem}.rm-area-select{width:100%;max-width:13rem;padding:.55rem 2.25rem .55rem .75rem;appearance:none;cursor:pointer}.rm-area-caret{position:absolute;top:50%;right:.85rem;width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}.rm-collapse{padding:.5rem .75rem}.rm-clear,.rm-collapse,.rm-empty button{font-weight:650;cursor:pointer}.rm-empty button{padding:.5rem .75rem}.rm-area-select:focus-visible,.rm-clear:focus-visible,.rm-collapse:focus-visible,.rm-empty button:focus-visible,.rm-search input:focus-visible{outline:2px solid #00b688;outline-offset:2px;border-color:#00b688;box-shadow:none!important}.rm-clear:hover,.rm-collapse:hover,.rm-empty button:hover{color:#08785d;background:var(--rm-soft)}.dark .rm-clear:hover,.dark .rm-collapse:hover,.dark .rm-empty button:hover{color:#5eead4}.rm-meta{display:flex;min-height:1.65rem;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .15rem 0}.rm-status{color:var(--rm-muted);font-size:.78rem;line-height:1.35}.rm-clear{min-height:1.8rem;padding:.2rem .55rem;border-color:transparent;font-size:.78rem}.rm-empty{display:grid;justify-items:start;gap:.35rem;margin:-.5rem 0 1.75rem;padding:1.1rem 1.2rem;color:var(--rm-muted);background:var(--rm-soft);border:1px solid var(--rm-border);border-radius:.75rem;font-size:.875rem}.rm-empty strong{color:inherit;font-size:.95rem}.rm-empty button{min-height:2.2rem;margin-top:.35rem}.rm-resource-list{display:block!important;margin:0 0 .75rem!important;border-color:var(--rm-border)!important;border-top:0!important;border-radius:0 0 .75rem .75rem!important}.rm-resource-list>details.accordion{margin:0!important;border:0!important;border-radius:0!important}.rm-resource-list>details.accordion+details.accordion{border-top:1px solid var(--rm-border)!important}.rm-resource-list>details.accordion>summary{min-height:3rem;padding:.7rem .9rem!important;border-radius:0!important}.rm-resource-list>details.accordion:first-child>summary{border-radius:0!important}.rm-resource-list>details.accordion:last-child:not([open])>summary{border-radius:0 0 .75rem .75rem!important}.rm-resource-list [data-component-part=accordion-title]{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:1rem}.rm-resource-name{min-width:0;overflow-wrap:anywhere;font-weight:650}.rm-method-count{flex:0 0 auto;color:var(--rm-muted);font-size:.75rem;font-weight:500;white-space:nowrap}.rm-resource-list details[open]>summary{background:var(--rm-soft)}.rm-resource-list details[open] [data-component-part=accordion-content]{margin-right:1rem;margin-left:1rem}.rm-resource-list tbody tr.rm-row-match{background:rgb(0 182 136/8%)}.rm-resource-list td:first-child code{white-space:nowrap}.rm-clear[hidden],.rm-collapse[hidden],.rm-empty[hidden],.rm-explorer h2[hidden],.rm-resource-list tbody tr[hidden],.rm-resource-list[hidden]{display:none!important}.rm-explorer h2{position:relative;min-height:3rem;margin:.45rem 0 0!important;scroll-margin-top:10rem;border:1px solid var(--rm-border);border-radius:.75rem}.rm-explorer h2.rm-section-open{border-radius:.75rem .75rem 0 0}.rm-section-toggle{display:grid;width:100%;min-height:3rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.6rem .9rem;color:inherit;text-align:left;background:0 0;border:0;cursor:pointer}.rm-section-toggle:focus-visible,.rm-section-toggle:hover{background:var(--rm-soft)}.rm-section-toggle:focus-visible{outline:2px solid #00b688;outline-offset:2px;border-radius:.7rem}.rm-section-name{font-size:1rem;font-weight:700}.rm-section-count{display:grid;min-width:1.65rem;min-height:1.4rem;place-items:center;padding:3px 6px;color:#08785d;background:rgb(0 182 136/10%);border-radius:.35rem;font-size:12px;font-weight:700;line-height:16px;white-space:nowrap}.dark .rm-section-count{color:#5eead4;background:#12302b}.rm-section-caret{width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-.15rem)}.rm-section-toggle[aria-expanded=true] .rm-section-caret{transform:rotate(225deg) translate(-.1rem,-.05rem)}@media (max-width:767px){#resource-map-toolbar{position:static;top:auto;z-index:auto;margin-top:1rem;padding-top:.6rem}.rm-controls{grid-template-columns:minmax(0,1fr) auto}.rm-search{grid-column:1/-1}.rm-search input{padding-right:.75rem}.rm-resource-list thead,.rm-shortcut{display:none}.rm-area-select,.rm-area-wrap{width:100%;max-width:none}.rm-resource-list [data-component-part=accordion-title]{gap:.65rem}.rm-method-count{font-size:.7rem}.rm-resource-list table,.rm-resource-list tbody{display:block;width:100%;min-width:0!important}.rm-resource-list tbody tr{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:.45rem;padding:.75rem 0}.rm-resource-list tbody tr+tr{border-top:1px solid var(--rm-border)}.rm-resource-list tbody td{display:grid;width:100%;min-width:0!important;grid-template-columns:4.5rem minmax(0,1fr);align-items:start;gap:.5rem;padding:0!important;border:0!important}.rm-resource-list tbody td::before{color:var(--rm-muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.rm-resource-list tbody td:first-child::before{content:\"Method\"}.rm-resource-list tbody td:last-child::before{content:\"Endpoint\"}.rm-resource-list tbody td a,.rm-resource-list tbody td code{min-width:0;white-space:normal!important;overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){.rm-explorer *,.rm-explorer ::after,.rm-explorer ::before{scroll-behavior:auto!important;transition-duration:.01ms!important}}.sdk-launchpad{--sdk-border:#d8e1de;--sdk-panel:#ffffff;margin:1rem 0 1.5rem;padding:1rem;overflow:hidden;color:inherit;background:var(--sdk-panel);border:1px solid var(--sdk-border);border-radius:12px}.dark .sdk-launchpad{--sdk-border:#293431;--sdk-panel:#101513}.sdk-launchpad-kicker{margin:0 0 .25rem!important;color:#08785d;font-size:.68rem;font-weight:800;letter-spacing:.1em}.dark .sdk-launchpad-kicker{color:#5eead4}.sdk-launchpad>h2{margin-top:.25rem}.sdk-launchpad [role=tablist]{display:flex;flex-wrap:wrap;gap:.25rem}.sdk-launchpad [role=tab]{min-width:56px;min-height:44px}.sdk-launchpad [role=tab][aria-selected=true]{color:#08785d!important}.dark .sdk-launchpad [role=tab][aria-selected=true]{color:#5eead4!important}.sdk-launchpad [role=tab]:focus-visible,.sdk-launchpad a:focus-visible,.sdk-launchpad-code:focus-visible{outline:2px solid #08785d;outline-offset:2px}.dark .sdk-launchpad [role=tab]:focus-visible,.dark .sdk-launchpad a:focus-visible,.dark .sdk-launchpad-code:focus-visible{outline-color:#5eead4}.sdk-launchpad-code{max-width:100%;overflow-x:auto;border-radius:.5rem}.sdk-launchpad-code pre{max-width:none;overflow-x:visible!important}.sdk-launchpad-code button{min-width:44px;min-height:44px}#content-area:has(#sdk-launchpad) .chat-assistant-floating-input{display:none}@media (max-width:640px){.sdk-launchpad{margin-top:.75rem;padding:.75rem}.sdk-launchpad-kicker{display:none}.sdk-launchpad [role=tablist]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.2rem;overflow:visible}.sdk-launchpad [role=tab]{min-width:0;min-height:44px;padding-inline:.2rem;font-size:.75rem;line-height:1.15;white-space:nowrap}}.sdk-directory li{margin-block:.5rem}.mdx-content table td{min-width:0!important}.mdx-content table td :is(code, a){overflow-wrap:anywhere}.mdx-content table :is(th, td):first-child code{white-space:nowrap;word-break:normal;overflow-wrap:normal}@media (min-width:768px){.tx-table-grid table{table-layout:fixed}.tx-table-grid table :is(th, td):first-child{width:40%}}.tx-retirement-banner{margin-bottom:1.5rem}.tx-retirement-banner>div{margin:0}@media (min-width:1024px){.tx-retirement-banner{position:sticky;top:calc(6rem + var(--banner-height, 0px));z-index:20;padding-top:.5rem;background:rgb(var(--background-light, 255 255 255))}.dark .tx-retirement-banner{background:rgb(var(--background-dark, 9 12 14))}}#content>.callout:first-child{margin-top:0}#content strong{font-weight:600}"}],"page":{"pagePath":"api-reference/decision-models/evaluate-decision-models-typesafe-compatible","slug":"/api-reference/decision-models/evaluate-decision-models-typesafe-compatible","pageMetadata":{"title":"Evaluate decision models (TypeSafe-compatible)","description":"**Beta API.** Choose telnyx/decision-flash for the lowest cost and latency, or telnyx/decision-pro for decisions that require long context, including inputs beyond Jev’s 32k per-decision limit. Omitted model defaults to telnyx/decision-flash.\n\nEvaluate shared context using named choice, noul (yes/no), and score questions. Returns TypeSafe System One-compatible answer shapes, the selected public model alias, and token usage. See the [decision model guide](https://developers.telnyx.com/docs/inference/decision-models) for examples and compatibility limits.\n\nThe supported request subset requires instructions for every question, string descriptions for criteria (or null for choice descriptions), 1–64 questions, and 2–64 options for choice and score questions. The model field accepts only telnyx/decision-flash or telnyx/decision-pro. Unsupported model values and unknown fields are rejected. The endpoint is synchronous and does not stream.\n\nUse the TypeSafe Python SDK with base_url set to https://api.telnyx.com/v2/ai/typesafe and a Telnyx API key. The SDK appends /v1/systemone; explicitly set model to a supported Telnyx alias because its own default model is not supported. Compatibility covers this operation and the documented request subset; it does not include TypeSafe model listing. Scores describe relative preference, not calibrated correctness.","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-decision-models.json post /ai/typesafe/v1/systemone","href":"/api-reference/decision-models/evaluate-decision-models-typesafe-compatible","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Beta API.\"\n }), \" Choose telnyx/decision-flash for the lowest cost and latency, or telnyx/decision-pro for decisions that require long context, including inputs beyond Jev’s 32k per-decision limit. Omitted model defaults to telnyx/decision-flash.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Evaluate shared context using named choice, noul (yes/no), and score questions. Returns TypeSafe System One-compatible answer shapes, the selected public model alias, and token usage. See the \", _jsx(_components.a, {\n href: \"https://developers.telnyx.com/docs/inference/decision-models\",\n children: \"decision model guide\"\n }), \" for examples and compatibility limits.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"The supported request subset requires instructions for every question, string descriptions for criteria (or null for choice descriptions), 1–64 questions, and 2–64 options for choice and score questions. The model field accepts only telnyx/decision-flash or telnyx/decision-pro. Unsupported model values and unknown fields are rejected. The endpoint is synchronous and does not stream.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Use the TypeSafe Python SDK with base_url set to \", _jsx(_components.a, {\n href: \"https://api.telnyx.com/v2/ai/typesafe\",\n children: \"https://api.telnyx.com/v2/ai/typesafe\"\n }), \" and a Telnyx API key. The SDK appends /v1/systemone; explicitly set model to a supported Telnyx alias because its own default model is not supported. Compatibility covers this operation and the documented request subset; it does not include TypeSafe model listing. Scores describe relative preference, not calibrated correctness.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Evaluate decision models (TypeSafe-compatible)","description":"**Beta API.** Choose telnyx/decision-flash for the lowest cost and latency, or telnyx/decision-pro for decisions that require long context, including inputs beyond Jev’s 32k per-decision limit. Omitted model defaults to telnyx/decision-flash.\n\nEvaluate shared context using named choice, noul (yes/no), and score questions. Returns TypeSafe System One-compatible answer shapes, the selected public model alias, and token usage. See the [decision model guide](https://developers.telnyx.com/docs/inference/decision-models) for examples and compatibility limits.\n\nThe supported request subset requires instructions for every question, string descriptions for criteria (or null for choice descriptions), 1–64 questions, and 2–64 options for choice and score questions. The model field accepts only telnyx/decision-flash or telnyx/decision-pro. Unsupported model values and unknown fields are rejected. The endpoint is synchronous and does not stream.\n\nUse the TypeSafe Python SDK with base_url set to https://api.telnyx.com/v2/ai/typesafe and a Telnyx API key. The SDK appends /v1/systemone; explicitly set model to a supported Telnyx alias because its own default model is not supported. Compatibility covers this operation and the documented request subset; it does not include TypeSafe model listing. Scores describe relative preference, not calibrated correctness.","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-decision-models.json post /ai/typesafe/v1/systemone","href":"/api-reference/decision-models/evaluate-decision-models-typesafe-compatible","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/telnyx/a2dd5aaa2ff5831a/reading-progress.js","/_mintlify/custom/telnyx/7b77ce9cedb163fd/webmcp-init.js","/_mintlify/custom/telnyx/7fbfee588ac7ad38/structured-data.js","/_mintlify/custom/telnyx/41d9633b1a2dd405/scripts/tests/generate-llms-txt.test.js","/_mintlify/custom/telnyx/8851ad5fd6e9b5c7/scripts/tests/direct-source-workflows.test.js","/_mintlify/custom/telnyx/7ad13bb6588be22f/scripts/tests/redirects.test.js","/_mintlify/custom/telnyx/f981035eb45fcbdb/scripts/tests/generate-error-catalog.test.js","/_mintlify/custom/telnyx/132bc205f55282a5/scripts/tests/sync-llms-automerge.test.js","/_mintlify/custom/telnyx/05e787f15f45952b/scripts/tests/webhook-catalog-lifecycle.test.js","/_mintlify/custom/telnyx/01b840b27496e6c8/scripts/tests/repository-structure.test.js","/_mintlify/custom/telnyx/5ebc7d6e18012563/scripts/tests/legacy-content-usage.test.js","/_mintlify/custom/telnyx/ac1f21e68bf4050a/scripts/docs/check-llms-links.js","/_mintlify/custom/telnyx/5f7d2f1ae375b9ad/scripts/docs/check-llms-native-routes.js","/_mintlify/custom/telnyx/b8d13287c2dcc5b9/scripts/docs/fetch-coverage.js","/_mintlify/custom/telnyx/e0a29f76f2645359/scripts/docs/generate-error-catalog.js","/_mintlify/custom/telnyx/3d8fe29c5f30f1bc/scripts/docs/generate-llms-txt.js","/_mintlify/custom/telnyx/f1f111fe784c3ede/scripts/docs/update-tts-voices.js","/_mintlify/custom/telnyx/c48ad0189f7f1c57/scripts/docs/build-sdk-doc-pages.js","/_mintlify/custom/telnyx/f840117777d76f9e/scripts/tests/sdk-doc-pages.test.js","/_mintlify/custom/telnyx/414c53c50b0e1968/resource-map-filter.js","/_mintlify/custom/telnyx/80af622b3010a712/scripts/tests/sdk-language-switcher.test.js","/_mintlify/custom/telnyx/52fa0fbcb966f8b6/sdk-language-switcher.js","/_mintlify/custom/telnyx/3de33ceedb29f568/home-directory.js","/_mintlify/custom/telnyx/da7a630a1adf8a7a/scripts/generate-home-directory.js","/_mintlify/custom/telnyx/137e3eb8e1d1d85a/scripts/tests/api-fundamentals.test.js","/_mintlify/custom/telnyx/24a8eed3a5010d4c/scripts/tests/agent-sdk-workflow.test.js","/_mintlify/custom/telnyx/abc2169efcd5115c/scripts/tests/homepage-overview.test.js","/_mintlify/custom/telnyx/8edf49ac62deef02/scripts/tests/batch-detail-records-navigation.test.js","/_mintlify/custom/telnyx/e005178572336f01/scripts/tests/api-discoverability.test.js","/_mintlify/custom/telnyx/78cb83896fbea5cf/scripts/tests/home-directory.test.js","/_mintlify/custom/telnyx/11ae45253e6b7be6/scripts/tests/agent-readiness.test.js","/_mintlify/custom/telnyx/82396d5a75077c2a/scripts/tests/sample-workflow-regressions.test.js","/_mintlify/custom/telnyx/5f6625c0420c9328/scripts/tests/openapi-mintlify-parsing.test.js","/_mintlify/custom/telnyx/c7dca602ca9641ec/scripts/tests/llms-markdown-assets.test.js","/_mintlify/custom/telnyx/02d6acd7c86b79f9/scripts/tests/agent-browser-quickstart.test.js"],"openApiReferenceData":{"operation":{"tags":["Decision Models"],"summary":"Evaluate decision models (TypeSafe-compatible)","description":"**Beta API.** Choose telnyx/decision-flash for the lowest cost and latency, or telnyx/decision-pro for decisions that require long context, including inputs beyond Jev’s 32k per-decision limit. Omitted model defaults to telnyx/decision-flash.\n\nEvaluate shared context using named choice, noul (yes/no), and score questions. Returns TypeSafe System One-compatible answer shapes, the selected public model alias, and token usage. See the [decision model guide](https://developers.telnyx.com/docs/inference/decision-models) for examples and compatibility limits.\n\nThe supported request subset requires instructions for every question, string descriptions for criteria (or null for choice descriptions), 1–64 questions, and 2–64 options for choice and score questions. The model field accepts only telnyx/decision-flash or telnyx/decision-pro. Unsupported model values and unknown fields are rejected. The endpoint is synchronous and does not stream.\n\nUse the TypeSafe Python SDK with base_url set to https://api.telnyx.com/v2/ai/typesafe and a Telnyx API key. The SDK appends /v1/systemone; explicitly set model to a supported Telnyx alias because its own default model is not supported. Compatibility covers this operation and the documented request subset; it does not include TypeSafe model listing. Scores describe relative preference, not calibrated correctness.","operationId":"create_typesafe_systemone","requestBody":"118b1e76-e23f-4dd7-bde6-a523675e04a9","responses":{"200":"4ed9fd45-8cbd-4bd2-aeec-0c8badeb8c7e","401":"c6cdfb54-480d-45a0-bc61-55cd312ba400","413":"b4a06ff0-89ce-441a-8763-657025c871b9","422":"556a45b5-3d36-46bc-8b0f-911db1d409b7","429":"8ab5b3a7-8f61-4bda-b36c-cf0f3f2aeab2","502":"4bf9984a-c1c7-4fe2-906f-594d9ceaa87d","503":"2aae8345-1bf5-4105-8876-308425ee9c41","504":"3d265d55-3b16-4a44-b287-6fbdd18bb99a","529":"335ccd23-8d8b-45af-b7cc-7104686069f2"},"x-beta":true,"x-codeSamples":[{"lang":"JavaScript","source":"import Telnyx from 'telnyx';\n\nconst client = new Telnyx({\n apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted\n});\n\nconst response = await client.ai.typesafe.v1.systemone({\n questions: {},\n state: 'Our production calls are failing. Every customer is affected.',\n});\n\nconsole.log(response.model);"},{"lang":"Python","source":"import os\nfrom telnyx import Telnyx\n\nclient = Telnyx(\n api_key=os.environ.get(\"TELNYX_API_KEY\"), # This is the default and can be omitted\n)\nresponse = client.ai.typesafe.v1.systemone(\n questions={},\n state=\"Our production calls are failing. Every customer is affected.\",\n)\nprint(response.model)\n"},{"lang":"Go","source":"package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/team-telnyx/telnyx-go\"\n\t\"github.com/team-telnyx/telnyx-go/option\"\n)\n\nfunc main() {\n\tclient := telnyx.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tresponse, err := client.AI.Typesafe.V1.Systemone(\n\t\tcontext.TODO(),\n\t\ttelnyx.AITypesafeV1SystemoneParams{\n\t\t\tQuestions: \"questions\",\n\t\t\tState: \"Our production calls are failing. Every customer is affected.\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\n}\n"},{"lang":"Java","source":"package com.telnyx.sdk.example;\n\nimport com.telnyx.sdk.client.TelnyxClient;\nimport com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;\nimport com.telnyx.sdk.models.ai.typesafe.v1.V1SystemoneParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n TelnyxClient client = TelnyxOkHttpClient.fromEnv();\n\n V1SystemoneParams params = V1SystemoneParams.builder()\n .questions(null)\n .state(\"Our production calls are failing. Every customer is affected.\")\n .build();\n var response = client.ai().typesafe().v1().systemone(params);\n }\n}"},{"lang":"Ruby","source":"require \"telnyx\"\n\ntelnyx = Telnyx::Client.new(api_key: \"My API Key\")\n\nresponse = telnyx.ai.typesafe.v1.systemone(questions: {}, state: \"Our production calls are failing. Every customer is affected.\")\n\nputs(response)"},{"lang":"PHP","source":"\u003c?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\nuse Telnyx\\Client;\nuse Telnyx\\Core\\Exceptions\\APIException;\n\n$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');\n\ntry {\n $response = $client->ai->typesafe->v1->systemone(\n questions: [],\n state: 'Our production calls are failing. Every customer is affected.',\n );\n\n var_dump($response);\n} catch (APIException $e) {\n echo $e->getMessage();\n}"},{"lang":"CLI","source":"telnyx ai:typesafe:v1 systemone \\\n --api-key 'My API Key' \\\n --state 'Our production calls are failing. Every customer is affected.' \\\n --questions '{}'"}],"method":"post","type":"path","servers":["02c5bf92-ec36-4d2f-b792-d658555de6e0"],"security":["e4607517-bdb4-483f-a097-9a0f5a4d4ed7"],"path":"/ai/typesafe/v1/systemone","baseUrlOptions":["https://api.telnyx.com/v2"],"title":"Evaluate decision models (TypeSafe-compatible)","codeSamples":[{"lang":"JavaScript","source":"import Telnyx from 'telnyx';\n\nconst client = new Telnyx({\n apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted\n});\n\nconst response = await client.ai.typesafe.v1.systemone({\n questions: {},\n state: 'Our production calls are failing. Every customer is affected.',\n});\n\nconsole.log(response.model);"},{"lang":"Python","source":"import os\nfrom telnyx import Telnyx\n\nclient = Telnyx(\n api_key=os.environ.get(\"TELNYX_API_KEY\"), # This is the default and can be omitted\n)\nresponse = client.ai.typesafe.v1.systemone(\n questions={},\n state=\"Our production calls are failing. Every customer is affected.\",\n)\nprint(response.model)\n"},{"lang":"Go","source":"package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/team-telnyx/telnyx-go\"\n\t\"github.com/team-telnyx/telnyx-go/option\"\n)\n\nfunc main() {\n\tclient := telnyx.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tresponse, err := client.AI.Typesafe.V1.Systemone(\n\t\tcontext.TODO(),\n\t\ttelnyx.AITypesafeV1SystemoneParams{\n\t\t\tQuestions: \"questions\",\n\t\t\tState: \"Our production calls are failing. Every customer is affected.\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\n}\n"},{"lang":"Java","source":"package com.telnyx.sdk.example;\n\nimport com.telnyx.sdk.client.TelnyxClient;\nimport com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;\nimport com.telnyx.sdk.models.ai.typesafe.v1.V1SystemoneParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n TelnyxClient client = TelnyxOkHttpClient.fromEnv();\n\n V1SystemoneParams params = V1SystemoneParams.builder()\n .questions(null)\n .state(\"Our production calls are failing. Every customer is affected.\")\n .build();\n var response = client.ai().typesafe().v1().systemone(params);\n }\n}"},{"lang":"Ruby","source":"require \"telnyx\"\n\ntelnyx = Telnyx::Client.new(api_key: \"My API Key\")\n\nresponse = telnyx.ai.typesafe.v1.systemone(questions: {}, state: \"Our production calls are failing. Every customer is affected.\")\n\nputs(response)"},{"lang":"PHP","source":"\u003c?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\nuse Telnyx\\Client;\nuse Telnyx\\Core\\Exceptions\\APIException;\n\n$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');\n\ntry {\n $response = $client->ai->typesafe->v1->systemone(\n questions: [],\n state: 'Our production calls are failing. Every customer is affected.',\n );\n\n var_dump($response);\n} catch (APIException $e) {\n echo $e->getMessage();\n}"},{"lang":"CLI","source":"telnyx ai:typesafe:v1 systemone \\\n --api-key 'My API Key' \\\n --state 'Our production calls are failing. Every customer is affected.' \\\n --questions '{}'"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Decision Models beta request. Choose a public model alias; omitted model defaults to telnyx/decision-flash. Telnyx manages the underlying models behind these aliases.","properties":{"state":{"oneOf":[{"type":"string","description":"Shared context evaluated by every question.","example":"Our production calls are failing. Every customer is affected.","isRequired":true,"uniqueKey":"state.oneOf.0","typeLabel":"string"},{"type":"object","description":"Shared context evaluated by every question.","example":"Our production calls are failing. Every customer is affected.","additionalProperties":true,"isRequired":true,"uniqueKey":"state.oneOf.1","typeLabel":"object"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"state.oneOf.2.items.[INDEX]","typeLabel":"any"},"description":"Shared context evaluated by every question.","example":"Our production calls are failing. Every customer is affected.","isRequired":true,"uniqueKey":"state.oneOf.2","typeLabel":"any[]"}],"isRequired":true,"uniqueKey":"state","typeLabel":"string | object | any[]"},"questions":{"type":"object","description":"Between 1 and 64 named questions. Each key identifies the corresponding answer.","minProperties":1,"maxProperties":64,"additionalProperties":{"oneOf":[{"type":"object","description":"A choice, yes/no, or ordered-score question.","required":["type","instructions","criteria"],"example":{"type":"choice","instructions":"Choose the team that should handle this incident.","criteria":{"billing":"Payments and refunds","technical_support":"Service faults and technical problems","sales":"New purchases"}},"properties":{"type":{"type":"string","description":"Question type.","enum":["choice"],"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.0.type","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"string","description":"Required instructions describing what to decide about the shared state.","isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.0.instructions.oneOf.0","typeLabel":"string"},{"type":"object","description":"Required instructions describing what to decide about the shared state.","additionalProperties":true,"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.0.instructions.oneOf.1","typeLabel":"object"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"questions.additionalProperties.oneOf.0.instructions.oneOf.2.items.[INDEX]","typeLabel":"any"},"description":"Required instructions describing what to decide about the shared state.","isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.0.instructions.oneOf.2","typeLabel":"any[]"}],"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.0.instructions","typeLabel":"string | object | any[]"},"criteria":{"type":"object","description":"Between 2 and 64 option keys mapped to description strings or null. A null description uses the option key as its text.","minProperties":2,"maxProperties":64,"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"questions.additionalProperties.oneOf.0.criteria.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"questions.additionalProperties.oneOf.0.criteria.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"questions.additionalProperties.oneOf.0.criteria.additionalProperties","typeLabel":"string | null"},"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.0.criteria","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"questions.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"object","description":"A choice, yes/no, or ordered-score question.","required":["type","instructions"],"example":{"type":"noul","instructions":"Does the message describe an active production incident?"},"properties":{"type":{"type":"string","description":"Question type.","enum":["noul"],"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.1.type","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"string","description":"Required instructions describing what to decide about the shared state.","isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.1.instructions.oneOf.0","typeLabel":"string"},{"type":"object","description":"Required instructions describing what to decide about the shared state.","additionalProperties":true,"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.1.instructions.oneOf.1","typeLabel":"object"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"questions.additionalProperties.oneOf.1.instructions.oneOf.2.items.[INDEX]","typeLabel":"any"},"description":"Required instructions describing what to decide about the shared state.","isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.1.instructions.oneOf.2","typeLabel":"any[]"}],"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.1.instructions","typeLabel":"string | object | any[]"},"criteria":{"type":"object","description":"Optional descriptions for the positive and negative outcomes. Descriptions must be strings.","properties":{"true":{"type":"string","description":"Description of the positive outcome.","default":"Yes","uniqueKey":"questions.additionalProperties.oneOf.1.criteria.true","typeLabel":"string"},"false":{"type":"string","description":"Description of the negative outcome.","default":"No","uniqueKey":"questions.additionalProperties.oneOf.1.criteria.false","typeLabel":"string"}},"required":[],"additionalProperties":false,"default":{"true":"Yes","false":"No"},"uniqueKey":"questions.additionalProperties.oneOf.1.criteria","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"questions.additionalProperties.oneOf.1","typeLabel":"object"},{"type":"object","description":"A choice, yes/no, or ordered-score question.","required":["type","instructions","criteria"],"example":{"type":"score","instructions":"Rate operational urgency.","criteria":["Low","Normal","High","Critical"]},"properties":{"type":{"type":"string","description":"Question type.","enum":["score"],"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.2.type","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"string","description":"Required instructions describing what to decide about the shared state.","isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.2.instructions.oneOf.0","typeLabel":"string"},{"type":"object","description":"Required instructions describing what to decide about the shared state.","additionalProperties":true,"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.2.instructions.oneOf.1","typeLabel":"object"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"questions.additionalProperties.oneOf.2.instructions.oneOf.2.items.[INDEX]","typeLabel":"any"},"description":"Required instructions describing what to decide about the shared state.","isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.2.instructions.oneOf.2","typeLabel":"any[]"}],"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.2.instructions","typeLabel":"string | object | any[]"},"criteria":{"type":"array","description":"Between 2 and 64 description strings in ascending score order. Indices start at zero.","minItems":2,"maxItems":64,"items":{"type":"string","uniqueKey":"questions.additionalProperties.oneOf.2.criteria.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"questions.additionalProperties.oneOf.2.criteria","typeLabel":"string[]"}},"additionalProperties":false,"uniqueKey":"questions.additionalProperties.oneOf.2","typeLabel":"object"}],"uniqueKey":"questions.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"questions","typeLabel":"object"},"model":{"type":"string","enum":["telnyx/decision-flash","telnyx/decision-pro"],"default":"telnyx/decision-flash","description":"Public model alias. telnyx/decision-flash offers the lowest cost and latency; telnyx/decision-pro supports decisions that require long context, including inputs beyond Jev’s 32k per-decision limit. Applies to every question in the request. Other values are rejected.","example":"telnyx/decision-flash","uniqueKey":"model","typeLabel":"enum\u003cstring>"}},"required":["state","questions"],"additionalProperties":false,"example":{"model":"telnyx/decision-flash","state":"Our production calls are failing. Every customer is affected.","questions":{"team":{"type":"choice","instructions":"Choose the team that should handle this incident.","criteria":{"billing":"Payments and refunds","technical_support":"Service faults and technical problems","sales":"New purchases"}},"production_incident":{"type":"noul","instructions":"Does the message describe an active production incident?"},"urgency":{"type":"score","instructions":"Rate operational urgency.","criteria":["Low","Normal","High","Critical"]}}},"uniqueKey":"","typeLabel":"object"},"example":{"model":"telnyx/decision-flash","state":"Our production calls are failing. Every customer is affected.","questions":{"team":{"type":"choice","instructions":"Choose the team that should handle this incident.","criteria":{"billing":"Payments and refunds","technical_support":"Service faults and technical problems","sales":"New purchases"}},"production_incident":{"type":"noul","instructions":"Does the message describe an active production incident?"},"urgency":{"type":"score","instructions":"Rate operational urgency.","criteria":["Low","Normal","High","Critical"]}}},"examples":{"Example":{"title":"Example","value":{"model":"telnyx/decision-flash","state":"Our production calls are failing. Every customer is affected.","questions":{"team":{"type":"choice","instructions":"Choose the team that should handle this incident.","criteria":{"billing":"Payments and refunds","technical_support":"Service faults and technical problems","sales":"New purchases"}},"production_incident":{"type":"noul","instructions":"Does the message describe an active production incident?"},"urgency":{"type":"score","instructions":"Rate operational urgency.","criteria":["Low","Normal","High","Critical"]}}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"4ed9fd45-8cbd-4bd2-aeec-0c8badeb8c7e":{"description":"All questions evaluated successfully. The response is a complete JSON object, not a stream.","content":{"application/json":{"schema":{"type":"object","description":"A complete synchronous evaluation. Answers are returned directly without a data wrapper.","properties":{"model":{"type":"string","description":"Public model alias used to evaluate the request. Returns telnyx/decision-flash when model was omitted. The underlying model is managed by Telnyx.","readOnly":true,"enum":["telnyx/decision-flash","telnyx/decision-pro"],"example":"telnyx/decision-flash","isRequired":true,"uniqueKey":"model","typeLabel":"enum\u003cstring>"},"answers":{"type":"object","description":"Answers keyed by exactly the question IDs in the request. Each answer type matches its question.","minProperties":1,"maxProperties":64,"additionalProperties":{"oneOf":[{"type":"object","description":"An answer whose type matches its question.","required":["type","choice","probabilities","confidence"],"example":{"type":"choice","choice":"technical_support","probabilities":{"billing":0.0024719786572585446,"technical_support":0.9972674768333701,"sales":0.00026054450937119613},"confidence":0.9820522416354122},"properties":{"type":{"type":"string","description":"Answer type.","enum":["choice"],"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.0.type","typeLabel":"enum\u003cstring>"},"choice":{"type":"string","description":"The option key with the highest relative score. Ties favor the first option in request order.","isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.0.choice","typeLabel":"string"},"probabilities":{"type":"object","description":"Relative scores normalized across the supplied options, summing approximately to 1. These are not calibrated probabilities of correctness.","minProperties":2,"maxProperties":64,"additionalProperties":{"type":"number","minimum":0,"maximum":1,"uniqueKey":"answers.additionalProperties.oneOf.0.probabilities.additionalProperties","typeLabel":"number"},"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.0.probabilities","typeLabel":"object"},"confidence":{"type":"number","description":"Normalized entropy confidence: 1 - H(p) / ln(N), where H(p) = -sum(p * ln(p)) and N is the number of options. Zero indicates a uniform distribution; one indicates concentration on one option. This is neither the winning probability nor calibrated correctness.","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.0.confidence","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"answers.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"object","description":"An answer whose type matches its question.","required":["type","noul"],"example":{"type":"noul","noul":0.9991959141264766},"properties":{"type":{"type":"string","description":"Answer type.","enum":["noul"],"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.1.type","typeLabel":"enum\u003cstring>"},"noul":{"type":"number","description":"Score of the positive outcome. Values near 1 favor yes; values near 0 favor no. This is a number, not a Boolean, and is not calibrated correctness.","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.1.noul","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"answers.additionalProperties.oneOf.1","typeLabel":"object"},{"type":"object","description":"An answer whose type matches its question.","required":["type","score","legend","probabilities","confidence"],"example":{"type":"score","score":2.9974242859177265,"legend":{"0":"Low","1":"Normal","2":"High","3":"Critical"},"probabilities":{"0":0.0003348349100603869,"1":0.00003529133987660637,"2":0.0015006266723396524,"3":0.9981292470777234},"confidence":0.9894200002646713},"properties":{"type":{"type":"string","description":"Answer type.","enum":["score"],"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.2.type","typeLabel":"enum\u003cstring>"},"score":{"type":"number","description":"Expected zero-based criterion index: sum(index * probability). Ranges from 0 to N-1 for N criteria; fractional values are valid.","minimum":0,"maximum":63,"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.2.score","typeLabel":"number"},"legend":{"type":"object","description":"Criterion descriptions keyed by stringified zero-based indices, such as \"0\", \"1\", and \"2\".","minProperties":2,"maxProperties":64,"additionalProperties":{"type":"string","uniqueKey":"answers.additionalProperties.oneOf.2.legend.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.2.legend","typeLabel":"object"},"probabilities":{"type":"object","description":"Relative scores keyed by the same stringified indices as legend.","minProperties":2,"maxProperties":64,"additionalProperties":{"type":"number","minimum":0,"maximum":1,"uniqueKey":"answers.additionalProperties.oneOf.2.probabilities.additionalProperties","typeLabel":"number"},"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.2.probabilities","typeLabel":"object"},"confidence":{"type":"number","description":"Normalized entropy confidence: 1 - H(p) / ln(N), where H(p) = -sum(p * ln(p)) and N is the number of options. Zero indicates a uniform distribution; one indicates concentration on one option. This is neither the winning probability nor calibrated correctness.","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"answers.additionalProperties.oneOf.2.confidence","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"answers.additionalProperties.oneOf.2","typeLabel":"object"}],"uniqueKey":"answers.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"answers","typeLabel":"object"},"usage":{"type":"object","description":"Token usage for the completed evaluation.","properties":{"input_tokens":{"type":"integer","minimum":0,"description":"Input tokens processed, including shared-context preparation and question evaluation. This can exceed the token count of the unique input text.","isRequired":true,"uniqueKey":"usage.input_tokens","typeLabel":"integer"},"output_tokens":{"type":"integer","minimum":0,"description":"Output tokens used for the evaluation, including shared-context preparation.","isRequired":true,"uniqueKey":"usage.output_tokens","typeLabel":"integer"}},"required":["input_tokens","output_tokens"],"additionalProperties":false,"isRequired":true,"uniqueKey":"usage","typeLabel":"object"}},"required":["model","answers","usage"],"additionalProperties":false,"example":{"model":"telnyx/decision-flash","answers":{"team":{"type":"choice","choice":"technical_support","probabilities":{"billing":0.0024719786572585446,"technical_support":0.9972674768333701,"sales":0.00026054450937119613},"confidence":0.9820522416354122},"production_incident":{"type":"noul","noul":0.9991959141264766},"urgency":{"type":"score","score":2.9974242859177265,"legend":{"0":"Low","1":"Normal","2":"High","3":"Critical"},"probabilities":{"0":0.0003348349100603869,"1":0.00003529133987660637,"2":0.0015006266723396524,"3":0.9981292470777234},"confidence":0.9894200002646713}},"usage":{"input_tokens":267,"output_tokens":4}},"uniqueKey":"","typeLabel":"object"},"example":{"model":"telnyx/decision-flash","answers":{"team":{"type":"choice","choice":"technical_support","probabilities":{"billing":0.0024719786572585446,"technical_support":0.9972674768333701,"sales":0.00026054450937119613},"confidence":0.9820522416354122},"production_incident":{"type":"noul","noul":0.9991959141264766},"urgency":{"type":"score","score":2.9974242859177265,"legend":{"0":"Low","1":"Normal","2":"High","3":"Critical"},"probabilities":{"0":0.0003348349100603869,"1":0.00003529133987660637,"2":0.0015006266723396524,"3":0.9981292470777234},"confidence":0.9894200002646713}},"usage":{"input_tokens":267,"output_tokens":4}},"examples":{"Example":{"title":"Example","value":{"model":"telnyx/decision-flash","answers":{"team":{"type":"choice","choice":"technical_support","probabilities":{"billing":0.0024719786572585446,"technical_support":0.9972674768333701,"sales":0.00026054450937119613},"confidence":0.9820522416354122},"production_incident":{"type":"noul","noul":0.9991959141264766},"urgency":{"type":"score","score":2.9974242859177265,"legend":{"0":"Low","1":"Normal","2":"High","3":"Critical"},"probabilities":{"0":0.0003348349100603869,"1":0.00003529133987660637,"2":0.0015006266723396524,"3":0.9981292470777234},"confidence":0.9894200002646713}},"usage":{"input_tokens":267,"output_tokens":4}}}},"exampleType":"examples"}},"exampleType":"examples"},"c6cdfb54-480d-45a0-bc61-55cd312ba400":{"description":"Unauthorized. Supply a valid Telnyx API key.","content":{"application/json":{"schema":{"type":"object","description":"A decision model service error.","properties":{"error":{"type":"object","description":"Error details.","properties":{"message":{"type":"string","description":"Human-readable explanation of the failure.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Authentication required."}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Authentication required."}}}},"exampleType":"examples"}},"exampleType":"examples"},"b4a06ff0-89ce-441a-8763-657025c871b9":{"description":"Request body is too large or incomplete. Reduce or fix the request.","content":{"application/json":{"schema":{"type":"object","description":"A decision model service error.","properties":{"error":{"type":"object","description":"Error details.","properties":{"message":{"type":"string","description":"Human-readable explanation of the failure.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Request body too large."}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Request body too large."}}}},"exampleType":"examples"}},"exampleType":"examples"},"556a45b5-3d36-46bc-8b0f-911db1d409b7":{"description":"Invalid schema or input token limit exceeded. Correct or split the request before retrying.","content":{"application/json":{"schema":{"type":"object","description":"A decision model service error.","properties":{"error":{"type":"object","description":"Error details.","properties":{"message":{"type":"string","description":"Human-readable explanation of the failure.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Question \"team\" requires instructions."}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Question \"team\" requires instructions."}}}},"exampleType":"examples"}},"exampleType":"examples"},"8ab5b3a7-8f61-4bda-b36c-cf0f3f2aeab2":{"description":"Too many requests. Reduce concurrency and retry with backoff.","content":{"application/json":{"schema":{"type":"object","description":"A decision model service error.","properties":{"error":{"type":"object","description":"Error details.","properties":{"message":{"type":"string","description":"Human-readable explanation of the failure.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Too many requests."}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Too many requests."}}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"When present, wait this many seconds before retrying.","schema":{"type":"integer","minimum":0}}},"exampleType":"examples"},"4bf9984a-c1c7-4fe2-906f-594d9ceaa87d":{"description":"The scoring service failed. Retry with bounded backoff.","content":{"application/json":{"schema":{"type":"object","description":"A decision model service error.","properties":{"error":{"type":"object","description":"Error details.","properties":{"message":{"type":"string","description":"Human-readable explanation of the failure.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Scoring service failed."}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Scoring service failed."}}}},"exampleType":"examples"}},"exampleType":"examples"},"2aae8345-1bf5-4105-8876-308425ee9c41":{"description":"The decision model service is unavailable. Retry with bounded backoff.","content":{"application/json":{"schema":{"type":"object","description":"A decision model service error.","properties":{"error":{"type":"object","description":"Error details.","properties":{"message":{"type":"string","description":"Human-readable explanation of the failure.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Decision model service unavailable."}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Decision model service unavailable."}}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"When present, wait this many seconds before retrying.","schema":{"type":"integer","minimum":0}}},"exampleType":"examples"},"3d265d55-3b16-4a44-b287-6fbdd18bb99a":{"description":"Evaluation deadline exceeded. Reduce request size or concurrency before retrying.","content":{"application/json":{"schema":{"type":"object","description":"A decision model service error.","properties":{"error":{"type":"object","description":"Error details.","properties":{"message":{"type":"string","description":"Human-readable explanation of the failure.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Evaluation deadline exceeded."}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Evaluation deadline exceeded."}}}},"exampleType":"examples"}},"exampleType":"examples"},"335ccd23-8d8b-45af-b7cc-7104686069f2":{"description":"The decision model service is at capacity. Retry with bounded backoff.","content":{"application/json":{"schema":{"type":"object","description":"A decision model service error.","properties":{"error":{"type":"object","description":"Error details.","properties":{"message":{"type":"string","description":"Human-readable explanation of the failure.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Decision model service at capacity."}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Decision model service at capacity."}}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"When present, wait this many seconds before retrying.","schema":{"type":"integer","minimum":0}}},"exampleType":"examples"}},"security":{"e4607517-bdb4-483f-a097-9a0f5a4d4ed7":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[]}}},"servers":{"02c5bf92-ec36-4d2f-b792-d658555de6e0":{"url":"https://api.telnyx.com/v2","description":"Version 2.0.0 of the Telnyx API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/source/external/inference/inference-decision-models.json"},"subdomain":"telnyx","siteName":"Telnyx","title":"Evaluate decision models (TypeSafe-compatible) - Telnyx","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-24T13:42:11.465Z","originalFileLocation":"api-reference/decision-models/evaluate-decision-models-typesafe-compatible.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Beta API. Choose telnyx/decision-flash for the lowest cost and latency, or telnyx/decision-pro for decisions that require long context, including inputs beyond Jev’s 32k per-decision limit. Omitted model defaults to telnyx/decision-flash. Evaluate shared context using named choice, noul (yes/no), and score questions. Returns TypeSafe System One-compatible answer shapes, the selected public model alias, and token usage. See the decision model guide for examples and compatibility limits. The supported request subset requires instructions for every question, string descriptions for criteria (or null for choice descriptions), 1–64 questions, and 2–64 options for choice and score questions. The model field accepts only telnyx/decision-flash or telnyx/decision-pro. Unsupported model values and unknown fields are rejected. The endpoint is synchronous and does not stream. Use the TypeSafe Python SDK with base_url set to https://api.telnyx.com/v2/ai/typesafe and a Telnyx API key. The SDK appends /v1/systemone; explicitly set model to a supported Telnyx alias because its own default model is not supported. Compatibility covers this operation and the documented request subset; it does not include TypeSafe model listing. Scores describe relative preference, not calibrated correctness.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Telnyx\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Evaluate decision models (TypeSafe-compatible) - Telnyx\">\u003cmeta data-mint-head property=\"og:description\" content=\"Infrastructure for real-time agents. Voice, AI, Edge Compute\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Telnyx\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.telnyx.com/api-reference/decision-models/evaluate-decision-models-typesafe-compatible\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://telnyx.mintlify.app/_mintlify/api/og/v2?division=Decision+Models+API\u0026amp;title=Evaluate+decision+models+%28TypeSafe-compatible%29\u0026amp;description=**Beta+API.**+Choose+telnyx%2Fdecision-flash+for+the+lowest+cost+and+latency%2C+or+telnyx%2Fdecision-pro+for+decisions+that+require+long+context%2C+including+inputs+bey\u0026amp;theme=0dd46d2166d1a00e34819206\u0026amp;signature=b3df59f14db8b5d9cf9e38a447944d0d896706ddceaa46cea91bc53194910b2c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Evaluate decision models (TypeSafe-compatible) - Telnyx\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Infrastructure for real-time agents. Voice, AI, Edge Compute\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://telnyx.mintlify.app/_mintlify/api/og/v2?division=Decision+Models+API\u0026amp;title=Evaluate+decision+models+%28TypeSafe-compatible%29\u0026amp;description=**Beta+API.**+Choose+telnyx%2Fdecision-flash+for+the+lowest+cost+and+latency%2C+or+telnyx%2Fdecision-pro+for+decisions+that+require+long+context%2C+including+inputs+bey\u0026amp;theme=0dd46d2166d1a00e34819206\u0026amp;signature=b3df59f14db8b5d9cf9e38a447944d0d896706ddceaa46cea91bc53194910b2c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/telnyx/MhCJ9JWG11MInbt6/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Telnyx\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00B688\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.telnyx.com/api-reference/decision-models/evaluate-decision-models-typesafe-compatible\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/decision-models/evaluate-decision-models-typesafe-compatible.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://telnyx.com/#organization\",\"name\":\"Telnyx\",\"url\":\"https://telnyx.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://telnyx.com/favicon.ico\"},\"sameAs\":[\"https://x.com/telnyx\",\"https://www.linkedin.com/company/telnyx/\",\"https://github.com/team-telnyx\"]},{\"@type\":\"WebSite\",\"@id\":\"https://developers.telnyx.com#website\",\"name\":\"Telnyx\",\"url\":\"https://developers.telnyx.com\",\"publisher\":{\"@id\":\"https://telnyx.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.telnyx.com/api-reference/decision-models/evaluate-decision-models-typesafe-compatible#webpage\",\"url\":\"https://developers.telnyx.com/api-reference/decision-models/evaluate-decision-models-typesafe-compatible\",\"name\":\"Evaluate decision models (TypeSafe-compatible)\",\"description\":\"Beta API. Choose telnyx/decision-flash for the lowest cost and latency, or telnyx/decision-pro for decisions that require long context, including inputs beyond Jev’s 32k per-decision limit. Omitted model defaults to telnyx/decision-flash. Evaluate shared context using named choice, noul (yes/no), and score questions. Returns TypeSafe System One-compatible answer shapes, the selected public model alias, and token usage. See the decision model guide for examples and compatibility limits. The supported request subset requires instructions for every question, string descriptions for criteria (or null for choice descriptions), 1–64 questions, and 2–64 options for choice and score questions. The model field accepts only telnyx/decision-flash or telnyx/decision-pro. Unsupported model values and unknown fields are rejected. The endpoint is synchronous and does not stream. Use the TypeSafe Python SDK with base_url set to https://api.telnyx.com/v2/ai/typesafe and a Telnyx API key. The SDK appends /v1/systemone; explicitly set model to a supported Telnyx alias because its own default model is not supported. Compatibility covers this operation and the documented request subset; it does not include TypeSafe model listing. Scores describe relative preference, not calibrated correctness.\",\"dateModified\":\"2026-09-24T13:42:11.465Z\",\"isPartOf\":{\"@id\":\"https://developers.telnyx.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.telnyx.com/api-reference/decision-models/evaluate-decision-models-typesafe-compatible#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.telnyx.com/api-reference/decision-models/evaluate-decision-models-typesafe-compatible#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://developers.telnyx.com/api-reference/openai-chat/create-a-chat-completion-openai-compatible\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Evaluate decision models (TypeSafe-compatible)\",\"item\":\"https://developers.telnyx.com/api-reference/decision-models/evaluate-decision-models-typesafe-compatible\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.telnyx.com/api-reference/decision-models/evaluate-decision-models-typesafe-compatible#apireference\",\"headline\":\"Evaluate decision models (TypeSafe-compatible)\",\"name\":\"Evaluate decision models (TypeSafe-compatible)\",\"description\":\"Beta API. Choose telnyx/decision-flash for the lowest cost and latency, or telnyx/decision-pro for decisions that require long context, including inputs beyond Jev’s 32k per-decision limit. Omitted model defaults to telnyx/decision-flash. Evaluate shared context using named choice, noul (yes/no), and score questions. Returns TypeSafe System One-compatible answer shapes, the selected public model alias, and token usage. See the decision model guide for examples and compatibility limits. The supported request subset requires instructions for every question, string descriptions for criteria (or null for choice descriptions), 1–64 questions, and 2–64 options for choice and score questions. The model field accepts only telnyx/decision-flash or telnyx/decision-pro. Unsupported model values and unknown fields are rejected. The endpoint is synchronous and does not stream. Use the TypeSafe Python SDK with base_url set to https://api.telnyx.com/v2/ai/typesafe and a Telnyx API key. The SDK appends /v1/systemone; explicitly set model to a supported Telnyx alias because its own default model is not supported. Compatibility covers this operation and the documented request subset; it does not include TypeSafe model listing. Scores describe relative preference, not calibrated correctness.\",\"url\":\"https://developers.telnyx.com/api-reference/decision-models/evaluate-decision-models-typesafe-compatible\",\"mainEntityOfPage\":{\"@id\":\"https://developers.telnyx.com/api-reference/decision-models/evaluate-decision-models-typesafe-compatible#webpage\"},\"dateModified\":\"2026-09-24T13:42:11.465Z\",\"publisher\":{\"@id\":\"https://telnyx.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.telnyx.com#website\"}}]}\u003c/script>","siteName":"Telnyx","nav":{"global":{"anchors":[{"anchor":"Home","icon":"house","href":"/docs/overview"}]},"products":[{"product":"Home","icon":"house","pages":[{"title":"Home","href":"/docs/overview"}]},{"product":"Other APIs","icon":"ellipsis","pages":[{"title":"Other APIs","href":"/docs/other-apis"}]},{"product":"Agent Platform","icon":"circle-nodes","pages":[{"title":"Agent Platform","href":"/docs/agent-platform"}]},{"product":"AI","icon":"microchip-ai","tabs":[{"tab":"Inference","icon":"brain-circuit","groups":[{"group":"Inference","pages":[{"title":"Available Models","sidebarTitle":"Models","href":"/docs/inference/models"},{"title":"Decision Models (Beta)","sidebarTitle":"Decision Models","href":"/docs/inference/decision-models/index"},{"title":"Regions \u0026 Availability","sidebarTitle":"Regions \u0026 Availability","href":"/docs/inference/models/regions/index"},{"title":"Inference service tiers","sidebarTitle":"Service tiers","href":"/docs/inference/service-tiers/index"},{"title":"Inference token rate limits","sidebarTitle":"Rate limits","href":"/docs/inference/rate-limits/index"},{"title":"Set inference spending limits","sidebarTitle":"Spending limits","href":"/docs/inference/spending-limits/index"},{"title":"Telnyx Inference API pricing","sidebarTitle":"Pricing","href":"/docs/inference/models/pricing/index"}]},{"group":"Data Residency","pages":[{"title":"Data Residency, Processing \u0026 Compliance FAQ","sidebarTitle":"Data Residency \u0026 Compliance FAQ","href":"/docs/inference/data-residency/index"}]},{"group":"Integrations","pages":[{"title":"Framework Integrations","sidebarTitle":"Integrations","href":"/docs/inference/integrations/index"},{"title":"Anthropic API Migration Guide","sidebarTitle":"Anthropic Migration","href":"/docs/inference/anthropic/index"},{"title":"LangChain Integration","sidebarTitle":"LangChain","href":"/docs/inference/langchain-integration/index"},{"title":"LlamaIndex Integration","sidebarTitle":"LlamaIndex","href":"/docs/inference/llama-index/index"},{"title":"CrewAI Integration","sidebarTitle":"CrewAI","href":"/docs/inference/crewai/index"},{"title":"Telnyx LiveKit Plugin","sidebarTitle":"LiveKit","href":"/docs/inference/livekit/index"}]},{"group":"Tutorials","pages":[{"title":"Inference API Quickstart","sidebarTitle":"Inference API","href":"/docs/inference/getting-started/index"},{"title":"Function Calling","sidebarTitle":"Function Calling","href":"/docs/inference/functions/index"},{"title":"Function Calling (Streaming + Parallel Calls)","sidebarTitle":"Streaming and Parallel Calls","href":"/docs/inference/streaming-functions/index"},{"title":"JSON Mode and Beyond","sidebarTitle":"JSON Mode and Beyond","href":"/docs/inference/json-mode/index"},{"title":"Audio Language Models","sidebarTitle":"Audio Language Models","href":"/docs/inference/audio-language-models/index"},{"title":"PR Reviewer","sidebarTitle":"PR Reviewer - Github Action","href":"/docs/inference/pr-reviewer/index"},{"title":"AI SMS Outfit Recs with OpenMeteo","sidebarTitle":"AI SMS Outfit Recommender with OpenMeteo","href":"/docs/inference/ai-outfit-recommender/index"}]},{"group":"API Reference","pages":[{"group":"OpenAI Chat API","pages":[{"title":"Create a chat completion (OpenAI-compatible)","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-embedding.json post /ai/openai/chat/completions","href":"/api-reference/openai-chat/create-a-chat-completion-openai-compatible"},{"title":"Get available models (OpenAI-compatible)","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-embedding.json get /ai/openai/models","href":"/api-reference/openai-chat/get-available-models-openai-compatible"},{"title":"Create an OpenAI-compatible response","description":"Create a response using Telnyx's OpenAI-compatible Responses API. This endpoint is compatible with the [OpenAI Responses API](https://developers.openai.com/api/reference/responses/overview) and may be used with the OpenAI JS or Python SDK by setting the base URL to `https://api.telnyx.com/v2/ai/openai`.\n\nThe `conversation` parameter refers to a Telnyx Conversation rather than an OpenAI-hosted conversation object. To persist a thread across turns, first [create a conversation](https://developers.telnyx.com/api-reference/conversations/create-a-conversation) with `POST /ai/conversations`, then pass that conversation's `id` in the Responses request as `conversation`. The endpoint appends the new input, assistant output, reasoning, and tool-call messages to that conversation. Reuse the same `conversation` id on subsequent Responses requests, including tool-result followups, so the model receives the prior context.\n\nIf `conversation` is omitted, the request is processed without persisting messages to a Telnyx conversation. Use the Conversations API to manage history: [list conversations](https://developers.telnyx.com/api-reference/conversations/list-conversations) (optionally filtered by metadata), [fetch messages](https://developers.telnyx.com/api-reference/conversations/get-conversation-messages) for a conversation, and optionally [add messages](https://developers.telnyx.com/api-reference/conversations/create-message) outside the Responses flow.\n\nYou can attach arbitrary metadata when creating a conversation (for example to tag the conversation's source, channel, or user) and later filter by it when listing conversations.","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-embedding.json post /ai/openai/responses","href":"/api-reference/openai-chat/create-an-openai-compatible-response"}]},{"group":"Decision Models API","pages":[{"title":"Evaluate decision models (TypeSafe-compatible)","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-decision-models.json post /ai/typesafe/v1/systemone","href":"/api-reference/decision-models/evaluate-decision-models-typesafe-compatible"}]},{"group":"Fine Tuning API","pages":[{"title":"List fine tuning jobs","description":"Retrieve a list of all fine tuning jobs created by the user.","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-embedding.json get /ai/fine_tuning/jobs","href":"/api-reference/fine-tuning/list-fine-tuning-jobs"},{"title":"Create a fine tuning job","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-embedding.json post /ai/fine_tuning/jobs","href":"/api-reference/fine-tuning/create-a-fine-tuning-job"},{"title":"Get a fine tuning job","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-embedding.json get /ai/fine_tuning/jobs/{job_id}","href":"/api-reference/fine-tuning/get-a-fine-tuning-job"},{"title":"Cancel a fine tuning job","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-embedding.json post /ai/fine_tuning/jobs/{job_id}/cancel","href":"/api-reference/fine-tuning/cancel-a-fine-tuning-job"}]},{"group":"Anthropic Messages API","pages":[{"title":"Create a message (Anthropic-compatible)","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-embedding.json post /ai/anthropic/v1/messages","href":"/api-reference/anthropic-messages/create-a-message-anthropic-compatible"}]},{"group":"Chat API","pages":[{"title":"Summarize file content","deprecated":null,"version":null,"openapi":"/openapi/source/external/inference/inference-embedding.json post /ai/summarize","href":"/api-reference/chat/summarize-file-content"}]}]},{"group":"For AI Agents","pages":[{"title":"Inference llms.txt","sidebarTitle":"Inference llms txt","href":"/docs/development/llms/ai-inference-llms-txt/index"},{"title":"Inference llms-full.txt","sidebarTitle":"Inference llms full txt","href":"/docs/development/llms/ai-inference-llms-full-txt/index"}]}]},{"tab":"AI Gateway","icon":"key","pages":[{"title":"AI Gateway","href":"/docs/inference/ai-gateway"}]},{"tab":"Embedding","icon":"database","pages":[{"title":"Embedding","href":"/docs/inference/embedding-rag"}]},{"tab":"Assistants","icon":"robot","pages":[{"title":"Assistants","href":"/docs/inference/ai-assistants/no-code-voice-assistant"}]},{"tab":"LiveKit on Telnyx (Beta)","icon":"waveform-lines","pages":[{"title":"LiveKit on Telnyx (Beta)","href":"/docs/livekit"}]},{"tab":"Web Search","icon":"globe","pages":[{"title":"Web Search","href":"/docs/web-search"}]},{"tab":"AI Search","icon":"magnifying-glass","pages":[{"title":"AI Search","href":"/docs/ai-search"}]},{"tab":"Meeting","icon":"video","pages":[{"title":"Meeting","href":"/docs/meeting"}]}]},{"product":"Voice","icon":"waveform","pages":[{"title":"Voice","href":"/docs/voice/overview"}]},{"product":"Compute","icon":"server","pages":[{"title":"Compute","href":"/docs/edge-compute/platform-overview"}]},{"product":"Storage","icon":"hard-drive","pages":[{"title":"Storage","href":"/docs/cloud-storage/overview"}]},{"product":"Virtual Private Cloud","icon":"cloud","pages":[{"title":"Virtual Private Cloud","href":"/docs/virtual-private-cloud"}]},{"product":"Calling","icon":"phone","pages":[{"title":"Calling","href":"/docs/voice/programmable-voice/voice-api-fundamentals"}]},{"product":"Messaging","icon":"message","pages":[{"title":"Messaging","href":"/docs/messaging/messages/send-message"}]},{"product":"Numbers","icon":"hashtag","pages":[{"title":"Numbers","href":"/docs/numbers/phone-numbers/getting-started"}]},{"product":"Wireless","icon":"broadcast-tower","pages":[{"title":"Wireless","href":"/docs/iot-sim/wireless-overview"}]}]},"basePath":"","title":"Evaluate decision models (TypeSafe-compatible) - Telnyx","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["10e4515597","c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["BannerMarkdown-CX_qQQOL.js","dist-BTZUMDnx.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-xpJZXxdP.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-m07pfKpT.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","AssistantPageLink-DqdKa2R4.js"]}