telnyx-ai-assistants-java

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->

Telnyx AI Assistants - Java

Telnyx AI助手 - Java

Installation

安装

text
<!-- Maven -->
<dependency>
    <groupId>com.telnyx.sdk</groupId>
    <artifactId>telnyx</artifactId>
    <version>6.36.0</version>
</dependency>

// Gradle
implementation("com.telnyx.sdk:telnyx:6.36.0")
text
<!-- Maven -->
<dependency>
    <groupId>com.telnyx.sdk</groupId>
    <artifactId>telnyx</artifactId>
    <version>6.36.0</version>
</dependency>

// Gradle
implementation("com.telnyx.sdk:telnyx:6.36.0")

Setup

配置

java
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;

TelnyxClient client = TelnyxOkHttpClient.fromEnv();
All examples below assume
client
is already initialized as shown above.
java
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;

TelnyxClient client = TelnyxOkHttpClient.fromEnv();
以下所有示例都默认
client
已经按照上方代码完成初始化。

Error Handling

错误处理

All API calls can fail with network errors, rate limits (429), validation errors (422), or authentication errors (401). Always handle errors in production code:
java
import com.telnyx.sdk.models.ai.assistants.AssistantCreateParams;
import com.telnyx.sdk.models.ai.assistants.InferenceEmbedding;
AssistantCreateParams params = AssistantCreateParams.builder()
    .instructions("You are a helpful assistant.")
    .model("openai/gpt-4o")
    .name("my-resource")
    .build();
InferenceEmbedding assistant = client.ai().assistants().create(params);
Common error codes:
401
invalid API key,
403
insufficient permissions,
404
resource not found,
422
validation error (check field formats),
429
rate limited (retry with exponential backoff).
所有API调用都可能因网络错误、速率限制(429)、校验错误(422)或认证错误(401)而失败。在生产代码中请始终做好错误处理:
java
import com.telnyx.sdk.models.ai.assistants.AssistantCreateParams;
import com.telnyx.sdk.models.ai.assistants.InferenceEmbedding;
AssistantCreateParams params = AssistantCreateParams.builder()
    .instructions("You are a helpful assistant.")
    .model("openai/gpt-4o")
    .name("my-resource")
    .build();
InferenceEmbedding assistant = client.ai().assistants().create(params);
常见错误码:
401
API密钥无效,
403
权限不足,
404
资源不存在,
422
校验错误(请检查字段格式),
429
触发速率限制(请使用指数退避策略重试)。

Important Notes

重要注意事项

  • Phone numbers must be in E.164 format (e.g.,
    +13125550001
    ). Include the
    +
    prefix and country code. No spaces, dashes, or parentheses.
  • Pagination: List methods return a page. Use
    .autoPager()
    for automatic iteration:
    for (var item : page.autoPager()) { ... }
    . For manual control, use
    .hasNextPage()
    and
    .nextPage()
    .
  • 电话号码 必须采用E.164格式(例如
    +13125550001
    ),需包含
    +
    前缀和国家代码,不得带有空格、短横线或括号。
  • 分页: 列表方法返回单页数据。使用
    .autoPager()
    可自动遍历:
    for (var item : page.autoPager()) { ... }
    。如需手动控制,可使用
    .hasNextPage()
    .nextPage()
    方法。

Reference Use Rules

参考使用规则

Do not invent Telnyx parameters, enums, response fields, or webhook fields.
  • If the parameter, enum, or response field you need is not shown inline in this skill, read references/api-details.md before writing code.
  • Before using any operation in
    ## Additional Operations
    , read the optional-parameters section and the response-schemas section.
请勿自行编造Telnyx的参数、枚举、响应字段或webhook字段。
  • 如果你需要的参数、枚举或响应字段未在本技能中直接展示,请先阅读references/api-details.md再编写代码。
  • 在使用
    ## 额外操作
    中的任何接口前,请先阅读可选参数章节响应结构章节

Core Tasks

核心任务

Create an assistant

创建助手

Assistant creation is the entrypoint for any AI assistant integration. Agents need the exact creation method and the top-level fields returned by the SDK.
client.ai().assistants().create()
POST /ai/assistants
ParameterTypeRequiredDescription
name
stringYes
model
stringYesID of the model to use.
instructions
stringYesSystem instructions for the assistant.
tools
array[object]NoThe tools that the assistant can use.
toolIds
array[string]No
description
stringNo
...+12 optional params in references/api-details.md
java
import com.telnyx.sdk.models.ai.assistants.AssistantCreateParams;
import com.telnyx.sdk.models.ai.assistants.InferenceEmbedding;

AssistantCreateParams params = AssistantCreateParams.builder()
    .instructions("You are a helpful assistant.")
    .model("openai/gpt-4o")
    .name("my-resource")
    .build();
InferenceEmbedding assistant = client.ai().assistants().create(params);
Primary response fields:
  • assistant.id
  • assistant.name
  • assistant.model
  • assistant.instructions
  • assistant.createdAt
  • assistant.description
创建助手是所有AI助手集成的入口。Agents需要准确的创建方法以及SDK返回的顶层字段。
client.ai().assistants().create()
POST /ai/assistants
参数类型必填说明
name
string
model
string要使用的模型ID
instructions
string给助手的系统指令
tools
array[object]助手可以使用的工具
toolIds
array[string]
description
string
...还有12个可选参数,详见references/api-details.md
java
import com.telnyx.sdk.models.ai.assistants.AssistantCreateParams;
import com.telnyx.sdk.models.ai.assistants.InferenceEmbedding;

AssistantCreateParams params = AssistantCreateParams.builder()
    .instructions("You are a helpful assistant.")
    .model("openai/gpt-4o")
    .name("my-resource")
    .build();
InferenceEmbedding assistant = client.ai().assistants().create(params);
主要响应字段:
  • assistant.id
  • assistant.name
  • assistant.model
  • assistant.instructions
  • assistant.createdAt
  • assistant.description

Chat with an assistant

与助手对话

Chat is the primary runtime path. Agents need the exact assistant method and the response content field.
client.ai().assistants().chat()
POST /ai/assistants/{assistant_id}/chat
ParameterTypeRequiredDescription
content
stringYesThe message content sent by the client to the assistant
conversationId
string (UUID)YesA unique identifier for the conversation thread, used to mai...
assistantId
string (UUID)Yes
name
stringNoThe optional display name of the user sending the message
java
import com.telnyx.sdk.models.ai.assistants.AssistantChatParams;
import com.telnyx.sdk.models.ai.assistants.AssistantChatResponse;

AssistantChatParams params = AssistantChatParams.builder()
    .assistantId("550e8400-e29b-41d4-a716-446655440000")
    .content("Tell me a joke about cats")
    .conversationId("42b20469-1215-4a9a-8964-c36f66b406f4")
    .build();
AssistantChatResponse response = client.ai().assistants().chat(params);
Primary response fields:
  • response.content
对话是核心运行时路径。Agents需要准确的助手方法和响应内容字段。
client.ai().assistants().chat()
POST /ai/assistants/{assistant_id}/chat
参数类型必填说明
content
string客户端发送给助手的消息内容
conversationId
string (UUID)对话线程的唯一标识符,用于维护上下文
assistantId
string (UUID)
name
string发送消息的用户可选显示名称
java
import com.telnyx.sdk.models.ai.assistants.AssistantChatParams;
import com.telnyx.sdk.models.ai.assistants.AssistantChatResponse;

AssistantChatParams params = AssistantChatParams.builder()
    .assistantId("550e8400-e29b-41d4-a716-446655440000")
    .content("Tell me a joke about cats")
    .conversationId("42b20469-1215-4a9a-8964-c36f66b406f4")
    .build();
AssistantChatResponse response = client.ai().assistants().chat(params);
主要响应字段:
  • response.content

Create an assistant test

创建助手测试

Test creation is the main validation path for production assistant behavior before deployment.
client.ai().assistants().tests().create()
POST /ai/assistants/tests
ParameterTypeRequiredDescription
name
stringYesA descriptive name for the assistant test.
destination
stringYesThe target destination for the test conversation.
instructions
stringYesDetailed instructions that define the test scenario and what...
rubric
array[object]YesEvaluation criteria used to assess the assistant's performan...
description
stringNoOptional detailed description of what this test evaluates an...
telnyxConversationChannel
objectNoThe communication channel through which the test will be con...
maxDurationSeconds
integerNoMaximum duration in seconds that the test conversation shoul...
...+1 optional params in references/api-details.md
java
import com.telnyx.sdk.models.ai.assistants.tests.AssistantTest;
import com.telnyx.sdk.models.ai.assistants.tests.TestCreateParams;

TestCreateParams params = TestCreateParams.builder()
    .destination("+15551234567")
    .instructions("Act as a frustrated customer who received a damaged product. Ask for a refund and escalate if not satisfied with the initial response.")
    .name("Customer Support Bot Test")
    .addRubric(TestCreateParams.Rubric.builder()
        .criteria("Assistant responds within 30 seconds")
        .name("Response Time")
        .build())
    .addRubric(TestCreateParams.Rubric.builder()
        .criteria("Provides correct product information")
        .name("Accuracy")
        .build())
    .build();
AssistantTest assistantTest = client.ai().assistants().tests().create(params);
Primary response fields:
  • assistantTest.testId
  • assistantTest.name
  • assistantTest.destination
  • assistantTest.createdAt
  • assistantTest.instructions
  • assistantTest.description

创建测试是生产环境助手行为部署前的主要校验途径。
client.ai().assistants().tests().create()
POST /ai/assistants/tests
参数类型必填说明
name
string助手测试的描述性名称
destination
string测试对话的目标地址
instructions
string定义测试场景和测试要求的详细指令
rubric
array[object]用于评估助手表现的评价标准
description
string该测试评估内容的可选详细描述
telnyxConversationChannel
object执行测试的通信渠道
maxDurationSeconds
integer测试对话的最大允许时长(单位:秒)
...还有1个可选参数,详见references/api-details.md
java
import com.telnyx.sdk.models.ai.assistants.tests.AssistantTest;
import com.telnyx.sdk.models.ai.assistants.tests.TestCreateParams;

TestCreateParams params = TestCreateParams.builder()
    .destination("+15551234567")
    .instructions("Act as a frustrated customer who received a damaged product. Ask for a refund and escalate if not satisfied with the initial response.")
    .name("Customer Support Bot Test")
    .addRubric(TestCreateParams.Rubric.builder()
        .criteria("Assistant responds within 30 seconds")
        .name("Response Time")
        .build())
    .addRubric(TestCreateParams.Rubric.builder()
        .criteria("Provides correct product information")
        .name("Accuracy")
        .build())
    .build();
AssistantTest assistantTest = client.ai().assistants().tests().create(params);
主要响应字段:
  • assistantTest.testId
  • assistantTest.name
  • assistantTest.destination
  • assistantTest.createdAt
  • assistantTest.instructions
  • assistantTest.description

Important Supporting Operations

重要辅助操作

Use these when the core tasks above are close to your flow, but you need a common variation or follow-up step.
当你的流程与上述核心任务接近,但需要常见变体或后续步骤时,可以使用这些操作。

Get an assistant

获取助手信息

Fetch the current state before updating, deleting, or making control-flow decisions.
client.ai().assistants().retrieve()
GET /ai/assistants/{assistant_id}
ParameterTypeRequiredDescription
assistantId
string (UUID)Yes
callControlId
string (UUID)No
fetchDynamicVariablesFromWebhook
booleanNo
from
string (E.164)No
...+1 optional params in references/api-details.md
java
import com.telnyx.sdk.models.ai.assistants.AssistantRetrieveParams;
import com.telnyx.sdk.models.ai.assistants.InferenceEmbedding;

InferenceEmbedding assistant = client.ai().assistants().retrieve("550e8400-e29b-41d4-a716-446655440000");
Primary response fields:
  • assistant.id
  • assistant.name
  • assistant.createdAt
  • assistant.description
  • assistant.dynamicVariables
  • assistant.dynamicVariablesWebhookUrl
在更新、删除或做出控制流决策前获取当前状态。
client.ai().assistants().retrieve()
GET /ai/assistants/{assistant_id}
参数类型必填说明
assistantId
string (UUID)
callControlId
string (UUID)
fetchDynamicVariablesFromWebhook
boolean
from
string (E.164)
...还有1个可选参数,详见references/api-details.md
java
import com.telnyx.sdk.models.ai.assistants.AssistantRetrieveParams;
import com.telnyx.sdk.models.ai.assistants.InferenceEmbedding;

InferenceEmbedding assistant = client.ai().assistants().retrieve("550e8400-e29b-41d4-a716-446655440000");
主要响应字段:
  • assistant.id
  • assistant.name
  • assistant.createdAt
  • assistant.description
  • assistant.dynamicVariables
  • assistant.dynamicVariablesWebhookUrl

Update an assistant

更新助手

Create or provision an additional resource when the core tasks do not cover this flow.
client.ai().assistants().update()
POST /ai/assistants/{assistant_id}
ParameterTypeRequiredDescription
assistantId
string (UUID)Yes
name
stringNo
model
stringNoID of the model to use.
instructions
stringNoSystem instructions for the assistant.
...+16 optional params in references/api-details.md
java
import com.telnyx.sdk.models.ai.assistants.AssistantUpdateParams;
import com.telnyx.sdk.models.ai.assistants.InferenceEmbedding;

InferenceEmbedding assistant = client.ai().assistants().update("550e8400-e29b-41d4-a716-446655440000");
Primary response fields:
  • assistant.id
  • assistant.name
  • assistant.createdAt
  • assistant.description
  • assistant.dynamicVariables
  • assistant.dynamicVariablesWebhookUrl
当核心任务未覆盖该流程时,创建或配置额外资源。
client.ai().assistants().update()
POST /ai/assistants/{assistant_id}
参数类型必填说明
assistantId
string (UUID)
name
string
model
string要使用的模型ID
instructions
string给助手的系统指令
...还有16个可选参数,详见references/api-details.md
java
import com.telnyx.sdk.models.ai.assistants.AssistantUpdateParams;
import com.telnyx.sdk.models.ai.assistants.InferenceEmbedding;

InferenceEmbedding assistant = client.ai().assistants().update("550e8400-e29b-41d4-a716-446655440000");
主要响应字段:
  • assistant.id
  • assistant.name
  • assistant.createdAt
  • assistant.description
  • assistant.dynamicVariables
  • assistant.dynamicVariablesWebhookUrl

List assistants

列出助手

Inspect available resources or choose an existing resource before mutating it.
client.ai().assistants().list()
GET /ai/assistants
java
import com.telnyx.sdk.models.ai.assistants.AssistantListParams;
import com.telnyx.sdk.models.ai.assistants.AssistantsList;

AssistantsList assistantsList = client.ai().assistants().list();
Response wrapper:
  • items:
    assistantsList.data
Primary item fields:
  • id
  • name
  • createdAt
  • description
  • dynamicVariables
  • dynamicVariablesWebhookUrl
在修改资源前查看可用资源或选择现有资源。
client.ai().assistants().list()
GET /ai/assistants
java
import com.telnyx.sdk.models.ai.assistants.AssistantListParams;
import com.telnyx.sdk.models.ai.assistants.AssistantsList;

AssistantsList assistantsList = client.ai().assistants().list();
响应包装:
  • 列表项:
    assistantsList.data
主要列表项字段:
  • id
  • name
  • createdAt
  • description
  • dynamicVariables
  • dynamicVariablesWebhookUrl

Import assistants from external provider

从外部服务商导入助手

Import existing assistants from an external provider instead of creating from scratch.
client.ai().assistants().imports()
POST /ai/assistants/import
ParameterTypeRequiredDescription
provider
enum (elevenlabs, vapi, retell)YesThe external provider to import assistants from.
apiKeyRef
stringYesIntegration secret pointer that refers to the API key for th...
importIds
array[string]NoOptional list of assistant IDs to import from the external p...
java
import com.telnyx.sdk.models.ai.assistants.AssistantImportsParams;
import com.telnyx.sdk.models.ai.assistants.AssistantsList;

AssistantImportsParams params = AssistantImportsParams.builder()
    .apiKeyRef("my-openai-key")
    .provider(AssistantImportsParams.Provider.ELEVENLABS)
    .build();
AssistantsList assistantsList = client.ai().assistants().imports(params);
Response wrapper:
  • items:
    assistantsList.data
Primary item fields:
  • id
  • name
  • createdAt
  • description
  • dynamicVariables
  • dynamicVariablesWebhookUrl
从外部服务商导入现有助手,无需从零开始创建。
client.ai().assistants().imports()
POST /ai/assistants/import
参数类型必填说明
provider
enum (elevenlabs, vapi, retell)要导入助手的外部服务商
apiKeyRef
string指向对应服务商API密钥的集成密钥指针
importIds
array[string]可选的要从外部服务商导入的助手ID列表
java
import com.telnyx.sdk.models.ai.assistants.AssistantImportsParams;
import com.telnyx.sdk.models.ai.assistants.AssistantsList;

AssistantImportsParams params = AssistantImportsParams.builder()
    .apiKeyRef("my-openai-key")
    .provider(AssistantImportsParams.Provider.ELEVENLABS)
    .build();
AssistantsList assistantsList = client.ai().assistants().imports(params);
响应包装:
  • 列表项:
    assistantsList.data
主要列表项字段:
  • id
  • name
  • createdAt
  • description
  • dynamicVariables
  • dynamicVariablesWebhookUrl

Get All Tags

获取所有标签

Inspect available resources or choose an existing resource before mutating it.
client.ai().assistants().tags().list()
GET /ai/assistants/tags
java
import com.telnyx.sdk.models.ai.assistants.tags.TagListParams;
import com.telnyx.sdk.models.ai.assistants.tags.TagListResponse;

TagListResponse tags = client.ai().assistants().tags().list();
Primary response fields:
  • tags.tags
在修改资源前查看可用资源或选择现有资源。
client.ai().assistants().tags().list()
GET /ai/assistants/tags
java
import com.telnyx.sdk.models.ai.assistants.tags.TagListParams;
import com.telnyx.sdk.models.ai.assistants.tags.TagListResponse;

TagListResponse tags = client.ai().assistants().tags().list();
主要响应字段:
  • tags.tags

List assistant tests with pagination

分页列出助手测试

Inspect available resources or choose an existing resource before mutating it.
client.ai().assistants().tests().list()
GET /ai/assistants/tests
ParameterTypeRequiredDescription
testSuite
stringNoFilter tests by test suite name
telnyxConversationChannel
stringNoFilter tests by communication channel (e.g., 'web_chat', 'sm...
destination
stringNoFilter tests by destination (phone number, webhook URL, etc....
...+1 optional params in references/api-details.md
java
import com.telnyx.sdk.models.ai.assistants.tests.TestListPage;
import com.telnyx.sdk.models.ai.assistants.tests.TestListParams;

TestListPage page = client.ai().assistants().tests().list();
Response wrapper:
  • items:
    page.data
  • pagination:
    page.meta
Primary item fields:
  • name
  • createdAt
  • description
  • destination
  • instructions
  • maxDurationSeconds
在修改资源前查看可用资源或选择现有资源。
client.ai().assistants().tests().list()
GET /ai/assistants/tests
参数类型必填说明
testSuite
string按测试套件名称过滤测试
telnyxConversationChannel
string按通信渠道过滤测试(例如 'web_chat'、'sms'等)
destination
string按目标地址过滤测试(电话号码、webhook URL等)
...还有1个可选参数,详见references/api-details.md
java
import com.telnyx.sdk.models.ai.assistants.tests.TestListPage;
import com.telnyx.sdk.models.ai.assistants.tests.TestListParams;

TestListPage page = client.ai().assistants().tests().list();
响应包装:
  • 列表项:
    page.data
  • 分页信息:
    page.meta
主要列表项字段:
  • name
  • createdAt
  • description
  • destination
  • instructions
  • maxDurationSeconds

Get all test suite names

获取所有测试套件名称

Inspect available resources or choose an existing resource before mutating it.
client.ai().assistants().tests().testSuites().list()
GET /ai/assistants/tests/test-suites
java
import com.telnyx.sdk.models.ai.assistants.tests.testsuites.TestSuiteListParams;
import com.telnyx.sdk.models.ai.assistants.tests.testsuites.TestSuiteListResponse;

TestSuiteListResponse testSuites = client.ai().assistants().tests().testSuites().list();
Response wrapper:
  • items:
    testSuites.data
Primary item fields:
  • data
在修改资源前查看可用资源或选择现有资源。
client.ai().assistants().tests().testSuites().list()
GET /ai/assistants/tests/test-suites
java
import com.telnyx.sdk.models.ai.assistants.tests.testsuites.TestSuiteListParams;
import com.telnyx.sdk.models.ai.assistants.tests.testsuites.TestSuiteListResponse;

TestSuiteListResponse testSuites = client.ai().assistants().tests().testSuites().list();
响应包装:
  • 列表项:
    testSuites.data
主要列表项字段:
  • data

Get test suite run history

获取测试套件运行历史

Fetch the current state before updating, deleting, or making control-flow decisions.
client.ai().assistants().tests().testSuites().runs().list()
GET /ai/assistants/tests/test-suites/{suite_name}/runs
ParameterTypeRequiredDescription
suiteName
stringYes
testSuiteRunId
string (UUID)NoFilter runs by specific suite execution batch ID
status
stringNoFilter runs by execution status (pending, running, completed...
page
objectNoConsolidated page parameter (deepObject style).
java
import com.telnyx.sdk.models.ai.assistants.tests.testsuites.runs.RunListPage;
import com.telnyx.sdk.models.ai.assistants.tests.testsuites.runs.RunListParams;

RunListPage page = client.ai().assistants().tests().testSuites().runs().list("suite_name");
Response wrapper:
  • items:
    page.data
  • pagination:
    page.meta
Primary item fields:
  • status
  • createdAt
  • updatedAt
  • completedAt
  • conversationId
  • conversationInsightsId

在更新、删除或做出控制流决策前获取当前状态。
client.ai().assistants().tests().testSuites().runs().list()
GET /ai/assistants/tests/test-suites/{suite_name}/runs
参数类型必填说明
suiteName
string
testSuiteRunId
string (UUID)按特定套件执行批次ID过滤运行记录
status
string按执行状态过滤运行记录(pending、running、completed等)
page
object统一分页参数(deepObject格式)
java
import com.telnyx.sdk.models.ai.assistants.tests.testsuites.runs.RunListPage;
import com.telnyx.sdk.models.ai.assistants.tests.testsuites.runs.RunListParams;

RunListPage page = client.ai().assistants().tests().testSuites().runs().list("suite_name");
响应包装:
  • 列表项:
    page.data
  • 分页信息:
    page.meta
主要列表项字段:
  • status
  • createdAt
  • updatedAt
  • completedAt
  • conversationId
  • conversationInsightsId

Additional Operations

额外操作

Use the core tasks above first. The operations below are indexed here with exact SDK methods and required params; use references/api-details.md for full optional params, response schemas, and lower-frequency webhook payloads. Before using any operation below, read the optional-parameters section and the response-schemas section so you do not guess missing fields.
OperationSDK methodEndpointUse whenRequired params
Trigger test suite execution
client.ai().assistants().tests().testSuites().runs().trigger()
POST /ai/assistants/tests/test-suites/{suite_name}/runs
Trigger a follow-up action in an existing workflow rather than creating a new top-level resource.
suiteName
Get assistant test by ID
client.ai().assistants().tests().retrieve()
GET /ai/assistants/tests/{test_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
testId
Update an assistant test
client.ai().assistants().tests().update()
PUT /ai/assistants/tests/{test_id}
Modify an existing resource without recreating it.
testId
Delete an assistant test
client.ai().assistants().tests().delete()
DELETE /ai/assistants/tests/{test_id}
Remove, detach, or clean up an existing resource.
testId
Get test run history for a specific test
client.ai().assistants().tests().runs().list()
GET /ai/assistants/tests/{test_id}/runs
Fetch the current state before updating, deleting, or making control-flow decisions.
testId
Trigger a manual test run
client.ai().assistants().tests().runs().trigger()
POST /ai/assistants/tests/{test_id}/runs
Trigger a follow-up action in an existing workflow rather than creating a new top-level resource.
testId
Get specific test run details
client.ai().assistants().tests().runs().retrieve()
GET /ai/assistants/tests/{test_id}/runs/{run_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
testId
,
runId
Delete an assistant
client.ai().assistants().delete()
DELETE /ai/assistants/{assistant_id}
Remove, detach, or clean up an existing resource.
assistantId
Get Canary Deploy
client.ai().assistants().canaryDeploys().retrieve()
GET /ai/assistants/{assistant_id}/canary-deploys
Fetch the current state before updating, deleting, or making control-flow decisions.
assistantId
Create Canary Deploy
client.ai().assistants().canaryDeploys().create()
POST /ai/assistants/{assistant_id}/canary-deploys
Create or provision an additional resource when the core tasks do not cover this flow.
versions
,
assistantId
Update Canary Deploy
client.ai().assistants().canaryDeploys().update()
PUT /ai/assistants/{assistant_id}/canary-deploys
Modify an existing resource without recreating it.
versions
,
assistantId
Delete Canary Deploy
client.ai().assistants().canaryDeploys().delete()
DELETE /ai/assistants/{assistant_id}/canary-deploys
Remove, detach, or clean up an existing resource.
assistantId
Assistant Sms Chat
client.ai().assistants().sendSms()
POST /ai/assistants/{assistant_id}/chat/sms
Run assistant chat over SMS instead of direct API chat.
from
,
to
,
assistantId
Clone Assistant
client.ai().assistants().clone()
POST /ai/assistants/{assistant_id}/clone
Trigger a follow-up action in an existing workflow rather than creating a new top-level resource.
assistantId
List scheduled events
client.ai().assistants().scheduledEvents().list()
GET /ai/assistants/{assistant_id}/scheduled_events
Fetch the current state before updating, deleting, or making control-flow decisions.
assistantId
Create a scheduled event
client.ai().assistants().scheduledEvents().create()
POST /ai/assistants/{assistant_id}/scheduled_events
Create or provision an additional resource when the core tasks do not cover this flow.
telnyxConversationChannel
,
telnyxEndUserTarget
,
telnyxAgentTarget
,
scheduledAtFixedDatetime
, +1 more
Get a scheduled event
client.ai().assistants().scheduledEvents().retrieve()
GET /ai/assistants/{assistant_id}/scheduled_events/{event_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
assistantId
,
eventId
Delete a scheduled event
client.ai().assistants().scheduledEvents().delete()
DELETE /ai/assistants/{assistant_id}/scheduled_events/{event_id}
Remove, detach, or clean up an existing resource.
assistantId
,
eventId
Add Assistant Tag
client.ai().assistants().tags().add()
POST /ai/assistants/{assistant_id}/tags
Create or provision an additional resource when the core tasks do not cover this flow.
tag
,
assistantId
Remove Assistant Tag
client.ai().assistants().tags().remove()
DELETE /ai/assistants/{assistant_id}/tags/{tag}
Remove, detach, or clean up an existing resource.
assistantId
,
tag
Get assistant texml
client.ai().assistants().getTexml()
GET /ai/assistants/{assistant_id}/texml
Fetch the current state before updating, deleting, or making control-flow decisions.
assistantId
Add Assistant Tool
client.ai().assistants().tools().add()
PUT /ai/assistants/{assistant_id}/tools/{tool_id}
Modify an existing resource without recreating it.
assistantId
,
toolId
Remove Assistant Tool
client.ai().assistants().tools().remove()
DELETE /ai/assistants/{assistant_id}/tools/{tool_id}
Remove, detach, or clean up an existing resource.
assistantId
,
toolId
Test Assistant Tool
client.ai().assistants().tools().test()
POST /ai/assistants/{assistant_id}/tools/{tool_id}/test
Trigger a follow-up action in an existing workflow rather than creating a new top-level resource.
assistantId
,
toolId
Get all versions of an assistant
client.ai().assistants().versions().list()
GET /ai/assistants/{assistant_id}/versions
Fetch the current state before updating, deleting, or making control-flow decisions.
assistantId
Get a specific assistant version
client.ai().assistants().versions().retrieve()
GET /ai/assistants/{assistant_id}/versions/{version_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
assistantId
,
versionId
Update a specific assistant version
client.ai().assistants().versions().update()
POST /ai/assistants/{assistant_id}/versions/{version_id}
Create or provision an additional resource when the core tasks do not cover this flow.
assistantId
,
versionId
Delete a specific assistant version
client.ai().assistants().versions().delete()
DELETE /ai/assistants/{assistant_id}/versions/{version_id}
Remove, detach, or clean up an existing resource.
assistantId
,
versionId
Promote an assistant version to main
client.ai().assistants().versions().promote()
POST /ai/assistants/{assistant_id}/versions/{version_id}/promote
Trigger a follow-up action in an existing workflow rather than creating a new top-level resource.
assistantId
,
versionId
List MCP Servers
client.ai().mcpServers().list()
GET /ai/mcp_servers
Inspect available resources or choose an existing resource before mutating it.None
Create MCP Server
client.ai().mcpServers().create()
POST /ai/mcp_servers
Create or provision an additional resource when the core tasks do not cover this flow.
name
,
type
,
url
Get MCP Server
client.ai().mcpServers().retrieve()
GET /ai/mcp_servers/{mcp_server_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
mcpServerId
Update MCP Server
client.ai().mcpServers().update()
PUT /ai/mcp_servers/{mcp_server_id}
Modify an existing resource without recreating it.
mcpServerId
Delete MCP Server
client.ai().mcpServers().delete()
DELETE /ai/mcp_servers/{mcp_server_id}
Remove, detach, or clean up an existing resource.
mcpServerId
List Tools
client.ai().tools().list()
GET /ai/tools
Inspect available resources or choose an existing resource before mutating it.None
Create Tool
client.ai().tools().create()
POST /ai/tools
Create or provision an additional resource when the core tasks do not cover this flow.
type
,
displayName
Get Tool
client.ai().tools().retrieve()
GET /ai/tools/{tool_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
toolId
Update Tool
client.ai().tools().update()
PATCH /ai/tools/{tool_id}
Modify an existing resource without recreating it.
toolId
Delete Tool
client.ai().tools().delete()
DELETE /ai/tools/{tool_id}
Remove, detach, or clean up an existing resource.
toolId

For exhaustive optional parameters, full response schemas, and complete webhook payloads, see references/api-details.md.
请优先使用上述核心任务。下方的操作在此处列出了准确的SDK方法和必填参数;请查阅references/api-details.md获取完整的可选参数、响应结构和低频webhook payload。 在使用下方任意操作前,请阅读可选参数章节响应结构章节,请勿猜测缺失的字段。
操作SDK方法接口地址使用场景必填参数
触发测试套件执行
client.ai().assistants().tests().testSuites().runs().trigger()
POST /ai/assistants/tests/test-suites/{suite_name}/runs
在现有工作流中触发后续操作,而非创建新的顶层资源
suiteName
根据ID获取助手测试
client.ai().assistants().tests().retrieve()
GET /ai/assistants/tests/{test_id}
在更新、删除或做出控制流决策前获取当前状态
testId
更新助手测试
client.ai().assistants().tests().update()
PUT /ai/assistants/tests/{test_id}
修改现有资源,无需重新创建
testId
删除助手测试
client.ai().assistants().tests().delete()
DELETE /ai/assistants/tests/{test_id}
移除、解绑或清理现有资源
testId
获取指定测试的运行历史
client.ai().assistants().tests().runs().list()
GET /ai/assistants/tests/{test_id}/runs
在更新、删除或做出控制流决策前获取当前状态
testId
触发手动测试运行
client.ai().assistants().tests().runs().trigger()
POST /ai/assistants/tests/{test_id}/runs
在现有工作流中触发后续操作,而非创建新的顶层资源
testId
获取指定测试运行详情
client.ai().assistants().tests().runs().retrieve()
GET /ai/assistants/tests/{test_id}/runs/{run_id}
在更新、删除或做出控制流决策前获取当前状态
testId
,
runId
删除助手
client.ai().assistants().delete()
DELETE /ai/assistants/{assistant_id}
移除、解绑或清理现有资源
assistantId
获取金丝雀发布配置
client.ai().assistants().canaryDeploys().retrieve()
GET /ai/assistants/{assistant_id}/canary-deploys
在更新、删除或做出控制流决策前获取当前状态
assistantId
创建金丝雀发布配置
client.ai().assistants().canaryDeploys().create()
POST /ai/assistants/{assistant_id}/canary-deploys
当核心任务未覆盖该流程时,创建或配置额外资源
versions
,
assistantId
更新金丝雀发布配置
client.ai().assistants().canaryDeploys().update()
PUT /ai/assistants/{assistant_id}/canary-deploys
修改现有资源,无需重新创建
versions
,
assistantId
删除金丝雀发布配置
client.ai().assistants().canaryDeploys().delete()
DELETE /ai/assistants/{assistant_id}/canary-deploys
移除、解绑或清理现有资源
assistantId
助手短信对话
client.ai().assistants().sendSms()
POST /ai/assistants/{assistant_id}/chat/sms
通过短信而非直接API调用运行助手对话
from
,
to
,
assistantId
克隆助手
client.ai().assistants().clone()
POST /ai/assistants/{assistant_id}/clone
在现有工作流中触发后续操作,而非创建新的顶层资源
assistantId
列出定时事件
client.ai().assistants().scheduledEvents().list()
GET /ai/assistants/{assistant_id}/scheduled_events
在更新、删除或做出控制流决策前获取当前状态
assistantId
创建定时事件
client.ai().assistants().scheduledEvents().create()
POST /ai/assistants/{assistant_id}/scheduled_events
当核心任务未覆盖该流程时,创建或配置额外资源
telnyxConversationChannel
,
telnyxEndUserTarget
,
telnyxAgentTarget
,
scheduledAtFixedDatetime
, +1 more
获取定时事件
client.ai().assistants().scheduledEvents().retrieve()
GET /ai/assistants/{assistant_id}/scheduled_events/{event_id}
在更新、删除或做出控制流决策前获取当前状态
assistantId
,
eventId
删除定时事件
client.ai().assistants().scheduledEvents().delete()
DELETE /ai/assistants/{assistant_id}/scheduled_events/{event_id}
移除、解绑或清理现有资源
assistantId
,
eventId
添加助手标签
client.ai().assistants().tags().add()
POST /ai/assistants/{assistant_id}/tags
当核心任务未覆盖该流程时,创建或配置额外资源
tag
,
assistantId
移除助手标签
client.ai().assistants().tags().remove()
DELETE /ai/assistants/{assistant_id}/tags/{tag}
移除、解绑或清理现有资源
assistantId
,
tag
获取助手Texml
client.ai().assistants().getTexml()
GET /ai/assistants/{assistant_id}/texml
在更新、删除或做出控制流决策前获取当前状态
assistantId
添加助手工具
client.ai().assistants().tools().add()
PUT /ai/assistants/{assistant_id}/tools/{tool_id}
修改现有资源,无需重新创建
assistantId
,
toolId
移除助手工具
client.ai().assistants().tools().remove()
DELETE /ai/assistants/{assistant_id}/tools/{tool_id}
移除、解绑或清理现有资源
assistantId
,
toolId
测试助手工具
client.ai().assistants().tools().test()
POST /ai/assistants/{assistant_id}/tools/{tool_id}/test
在现有工作流中触发后续操作,而非创建新的顶层资源
assistantId
,
toolId
列出助手所有版本
client.ai().assistants().versions().list()
GET /ai/assistants/{assistant_id}/versions
在更新、删除或做出控制流决策前获取当前状态
assistantId
获取指定助手版本
client.ai().assistants().versions().retrieve()
GET /ai/assistants/{assistant_id}/versions/{version_id}
在更新、删除或做出控制流决策前获取当前状态
assistantId
,
versionId
更新指定助手版本
client.ai().assistants().versions().update()
POST /ai/assistants/{assistant_id}/versions/{version_id}
当核心任务未覆盖该流程时,创建或配置额外资源
assistantId
,
versionId
删除指定助手版本
client.ai().assistants().versions().delete()
DELETE /ai/assistants/{assistant_id}/versions/{version_id}
移除、解绑或清理现有资源
assistantId
,
versionId
提升助手版本为正式版
client.ai().assistants().versions().promote()
POST /ai/assistants/{assistant_id}/versions/{version_id}/promote
在现有工作流中触发后续操作,而非创建新的顶层资源
assistantId
,
versionId
列出MCP服务器
client.ai().mcpServers().list()
GET /ai/mcp_servers
在修改资源前查看可用资源或选择现有资源
创建MCP服务器
client.ai().mcpServers().create()
POST /ai/mcp_servers
当核心任务未覆盖该流程时,创建或配置额外资源
name
,
type
,
url
获取MCP服务器
client.ai().mcpServers().retrieve()
GET /ai/mcp_servers/{mcp_server_id}
在更新、删除或做出控制流决策前获取当前状态
mcpServerId
更新MCP服务器
client.ai().mcpServers().update()
PUT /ai/mcp_servers/{mcp_server_id}
修改现有资源,无需重新创建
mcpServerId
删除MCP服务器
client.ai().mcpServers().delete()
DELETE /ai/mcp_servers/{mcp_server_id}
移除、解绑或清理现有资源
mcpServerId
列出工具
client.ai().tools().list()
GET /ai/tools
在修改资源前查看可用资源或选择现有资源
创建工具
client.ai().tools().create()
POST /ai/tools
当核心任务未覆盖该流程时,创建或配置额外资源
type
,
displayName
获取工具
client.ai().tools().retrieve()
GET /ai/tools/{tool_id}
在更新、删除或做出控制流决策前获取当前状态
toolId
更新工具
client.ai().tools().update()
PATCH /ai/tools/{tool_id}
修改现有资源,无需重新创建
toolId
删除工具
client.ai().tools().delete()
DELETE /ai/tools/{tool_id}
移除、解绑或清理现有资源
toolId

如需完整的可选参数、全量响应结构和完整的webhook payload,请参考references/api-details.md