telnyx-ai-assistants-python

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- 从Telnyx OpenAPI规范自动生成,请勿编辑。 -->

Telnyx AI Assistants - Python

Telnyx AI 助手 - Python

Installation

安装

bash
pip install telnyx
bash
pip install telnyx

Setup

配置

python
import os
from telnyx import Telnyx

client = Telnyx(
    api_key=os.environ.get("TELNYX_API_KEY"),  # This is the default and can be omitted
)
All examples below assume
client
is already initialized as shown above.
python
import os
from telnyx import Telnyx

client = Telnyx(
    api_key=os.environ.get("TELNYX_API_KEY"),  # 这是默认配置,可以省略
)
以下所有示例均假设
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:
python
import telnyx

try:
    assistant = client.ai.assistants.create(
        instructions="You are a helpful assistant.",
        model="openai/gpt-4o",
        name="my-resource",
    )
except telnyx.APIConnectionError:
    print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
    import time
    time.sleep(1)  # Check Retry-After header for actual delay
except telnyx.APIStatusError as e:
    print(f"API error {e.status_code}: {e.message}")
    if e.status_code == 422:
        print("Validation error — check required fields and formats")
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)失败。生产环境代码中请务必处理错误:
python
import telnyx

try:
    assistant = client.ai.assistants.create(
        instructions="You are a helpful assistant.",
        model="openai/gpt-4o",
        name="my-resource",
    )
except telnyx.APIConnectionError:
    print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
    import time
    time.sleep(1)  # 请查看Retry-After header获取实际需要延迟的时间

except telnyx.APIStatusError as e:
    print(f"API error {e.status_code}: {e.message}")
    if e.status_code == 422:
        print("校验错误 — 请检查必填字段和格式")
常见错误码:
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 an auto-paginating iterator. Use
    for item in page_result:
    to iterate through all pages automatically.
  • Model availability varies by account. If a model returns 422 "not available for inference", use
    client.ai.assistants.list()
    to discover working models. Commonly available:
    openai/gpt-4o
    ,
    Qwen/Qwen3-235B-A22B
    .
  • 电话号码必须采用E.164格式(例如
    +13125550001
    ),包含
    +
    前缀和国家码,不得包含空格、短横线或括号。
  • 分页: 列表方法返回自动分页的迭代器,使用
    for item in page_result:
    即可自动遍历所有分页。
  • 模型可用性因账号而异。如果某个模型返回422 "not available for inference",请使用
    client.ai.assistants.list()
    查找可用模型。常用可用模型:
    openai/gpt-4o
    Qwen/Qwen3-235B-A22B

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字段。
  • 如果你需要的参数、枚举值或响应字段未在本skill中明确展示,请在编写代码前阅读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.
tool_ids
array[string]No
description
stringNo
...+12 optional params in references/api-details.md
python
assistant = client.ai.assistants.create(
    instructions="You are a helpful assistant.",
    model="openai/gpt-4o",
    name="my-resource",
)
print(assistant.id)
Primary response fields:
  • assistant.id
  • assistant.name
  • assistant.model
  • assistant.instructions
  • assistant.created_at
  • assistant.description
助手创建是所有AI助手集成的入口。Agent需要使用准确的创建方法和SDK返回的顶层字段。
client.ai.assistants.create()
POST /ai/assistants
参数类型必填描述
name
string
model
string要使用的模型ID。
instructions
string给助手的系统指令。
tools
array[object]助手可以使用的工具。
tool_ids
array[string]
description
string
...还有12个可选参数,详见references/api-details.md
python
assistant = client.ai.assistants.create(
    instructions="You are a helpful assistant.",
    model="openai/gpt-4o",
    name="my-resource",
)
print(assistant.id)
主要响应字段:
  • assistant.id
  • assistant.name
  • assistant.model
  • assistant.instructions
  • assistant.created_at
  • 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
conversation_id
string (UUID)YesA unique identifier for the conversation thread, used to mai...
assistant_id
string (UUID)Yes
name
stringNoThe optional display name of the user sending the message
python
response = client.ai.assistants.chat(
    assistant_id="550e8400-e29b-41d4-a716-446655440000",
    content="Tell me a joke about cats",
    conversation_id="42b20469-1215-4a9a-8964-c36f66b406f4",
)
print(response.content)
Primary response fields:
  • response.content
对话是核心运行流程。Agent需要使用准确的助手方法和响应内容字段。
client.ai.assistants.chat()
POST /ai/assistants/{assistant_id}/chat
参数类型必填描述
content
string客户端发送给助手的消息内容
conversation_id
string (UUID)对话线程的唯一标识符,用于维护上下文...
assistant_id
string (UUID)
name
string发送消息的用户的可选显示名称
python
response = client.ai.assistants.chat(
    assistant_id="550e8400-e29b-41d4-a716-446655440000",
    content="Tell me a joke about cats",
    conversation_id="42b20469-1215-4a9a-8964-c36f66b406f4",
)
print(response.content)
主要响应字段:
  • 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...
telnyx_conversation_channel
objectNoThe communication channel through which the test will be con...
max_duration_seconds
integerNoMaximum duration in seconds that the test conversation shoul...
...+1 optional params in references/api-details.md
python
assistant_test = client.ai.assistants.tests.create(
    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",
    rubric=[{
        "criteria": "Assistant responds within 30 seconds",
        "name": "Response Time",
    }, {
        "criteria": "Provides correct product information",
        "name": "Accuracy",
    }],
)
print(assistant_test.test_id)
Primary response fields:
  • assistant_test.test_id
  • assistant_test.name
  • assistant_test.destination
  • assistant_test.created_at
  • assistant_test.instructions
  • assistant_test.description

测试创建是生产环境助手部署前验证行为的主要途径。
client.ai.assistants.tests.create()
POST /ai/assistants/tests
参数类型必填描述
name
string助手测试的描述性名称。
destination
string测试对话的目标地址。
instructions
string定义测试场景和测试规则的详细指令...
rubric
array[object]评估助手表现的评价标准...
description
string可选的详细描述,说明该测试评估的内容...
telnyx_conversation_channel
object执行测试使用的通信渠道...
max_duration_seconds
integer测试对话的最大持续时长(秒)...
...还有1个可选参数,详见references/api-details.md
python
assistant_test = client.ai.assistants.tests.create(
    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",
    rubric=[{
        "criteria": "Assistant responds within 30 seconds",
        "name": "Response Time",
    }, {
        "criteria": "Provides correct product information",
        "name": "Accuracy",
    }],
)
print(assistant_test.test_id)
主要响应字段:
  • assistant_test.test_id
  • assistant_test.name
  • assistant_test.destination
  • assistant_test.created_at
  • assistant_test.instructions
  • assistant_test.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
assistant_id
string (UUID)Yes
call_control_id
string (UUID)No
fetch_dynamic_variables_from_webhook
booleanNo
from_
string (E.164)No
...+1 optional params in references/api-details.md
python
assistant = client.ai.assistants.retrieve(
    assistant_id="550e8400-e29b-41d4-a716-446655440000",
)
print(assistant.id)
Primary response fields:
  • assistant.id
  • assistant.name
  • assistant.created_at
  • assistant.description
  • assistant.dynamic_variables
  • assistant.dynamic_variables_webhook_url
在更新、删除或做出控制流决策前获取当前状态。
client.ai.assistants.retrieve()
GET /ai/assistants/{assistant_id}
参数类型必填描述
assistant_id
string (UUID)
call_control_id
string (UUID)
fetch_dynamic_variables_from_webhook
boolean
from_
string (E.164)
...还有1个可选参数,详见references/api-details.md
python
assistant = client.ai.assistants.retrieve(
    assistant_id="550e8400-e29b-41d4-a716-446655440000",
)
print(assistant.id)
主要响应字段:
  • assistant.id
  • assistant.name
  • assistant.created_at
  • assistant.description
  • assistant.dynamic_variables
  • assistant.dynamic_variables_webhook_url

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
assistant_id
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
python
assistant = client.ai.assistants.update(
    assistant_id="550e8400-e29b-41d4-a716-446655440000",
)
print(assistant.id)
Primary response fields:
  • assistant.id
  • assistant.name
  • assistant.created_at
  • assistant.description
  • assistant.dynamic_variables
  • assistant.dynamic_variables_webhook_url
当核心任务未覆盖该流程时,创建或配置额外资源。
client.ai.assistants.update()
POST /ai/assistants/{assistant_id}
参数类型必填描述
assistant_id
string (UUID)
name
string
model
string要使用的模型ID。
instructions
string给助手的系统指令。
...还有16个可选参数,详见references/api-details.md
python
assistant = client.ai.assistants.update(
    assistant_id="550e8400-e29b-41d4-a716-446655440000",
)
print(assistant.id)
主要响应字段:
  • assistant.id
  • assistant.name
  • assistant.created_at
  • assistant.description
  • assistant.dynamic_variables
  • assistant.dynamic_variables_webhook_url

List assistants

列出助手

Inspect available resources or choose an existing resource before mutating it.
client.ai.assistants.list()
GET /ai/assistants
python
assistants_list = client.ai.assistants.list()
print(assistants_list.data)
Response wrapper:
  • items:
    assistants_list.data
Primary item fields:
  • id
  • name
  • created_at
  • description
  • dynamic_variables
  • dynamic_variables_webhook_url
在修改资源前查看可用资源或选择现有资源。
client.ai.assistants.list()
GET /ai/assistants
python
assistants_list = client.ai.assistants.list()
print(assistants_list.data)
响应包装结构:
  • 条目:
    assistants_list.data
主要条目字段:
  • id
  • name
  • created_at
  • description
  • dynamic_variables
  • dynamic_variables_webhook_url

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.
api_key_ref
stringYesIntegration secret pointer that refers to the API key for th...
import_ids
array[string]NoOptional list of assistant IDs to import from the external p...
python
assistants_list = client.ai.assistants.imports(
    api_key_ref="my-openai-key",
    provider="elevenlabs",
)
print(assistants_list.data)
Response wrapper:
  • items:
    assistants_list.data
Primary item fields:
  • id
  • name
  • created_at
  • description
  • dynamic_variables
  • dynamic_variables_webhook_url
无需从头创建,直接从外部提供商导入现有助手。
client.ai.assistants.imports()
POST /ai/assistants/import
参数类型必填描述
provider
enum (elevenlabs, vapi, retell)要导入助手的外部提供商。
api_key_ref
string指向外部提供商API密钥的集成密钥指针...
import_ids
array[string]可选的要从外部提供商导入的助手ID列表...
python
assistants_list = client.ai.assistants.imports(
    api_key_ref="my-openai-key",
    provider="elevenlabs",
)
print(assistants_list.data)
响应包装结构:
  • 条目:
    assistants_list.data
主要条目字段:
  • id
  • name
  • created_at
  • description
  • dynamic_variables
  • dynamic_variables_webhook_url

Get All Tags

获取所有标签

Inspect available resources or choose an existing resource before mutating it.
client.ai.assistants.tags.list()
GET /ai/assistants/tags
python
tags = client.ai.assistants.tags.list()
print(tags.tags)
Primary response fields:
  • tags.tags
在修改资源前查看可用资源或选择现有资源。
client.ai.assistants.tags.list()
GET /ai/assistants/tags
python
tags = client.ai.assistants.tags.list()
print(tags.tags)
主要响应字段:
  • 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
test_suite
stringNoFilter tests by test suite name
telnyx_conversation_channel
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
python
page = client.ai.assistants.tests.list()
page = page.data[0]
print(page.test_id)
Response wrapper:
  • items:
    page.data
  • pagination:
    page.meta
Primary item fields:
  • name
  • created_at
  • description
  • destination
  • instructions
  • max_duration_seconds
在修改资源前查看可用资源或选择现有资源。
client.ai.assistants.tests.list()
GET /ai/assistants/tests
参数类型必填描述
test_suite
string按测试套件名称筛选测试
telnyx_conversation_channel
string按通信渠道筛选测试(例如'web_chat'、'sm...)
destination
string按目标地址筛选测试(电话号码、Webhook URL等...)
...还有1个可选参数,详见references/api-details.md
python
page = client.ai.assistants.tests.list()
page = page.data[0]
print(page.test_id)
响应包装结构:
  • 条目:
    page.data
  • 分页信息:
    page.meta
主要条目字段:
  • name
  • created_at
  • description
  • destination
  • instructions
  • max_duration_seconds

Get all test suite names

获取所有测试套件名称

Inspect available resources or choose an existing resource before mutating it.
client.ai.assistants.tests.test_suites.list()
GET /ai/assistants/tests/test-suites
python
test_suites = client.ai.assistants.tests.test_suites.list()
print(test_suites.data)
Response wrapper:
  • items:
    test_suites.data
Primary item fields:
  • data
在修改资源前查看可用资源或选择现有资源。
client.ai.assistants.tests.test_suites.list()
GET /ai/assistants/tests/test-suites
python
test_suites = client.ai.assistants.tests.test_suites.list()
print(test_suites.data)
响应包装结构:
  • 条目:
    test_suites.data
主要条目字段:
  • data

Get test suite run history

获取测试套件运行历史

Fetch the current state before updating, deleting, or making control-flow decisions.
client.ai.assistants.tests.test_suites.runs.list()
GET /ai/assistants/tests/test-suites/{suite_name}/runs
ParameterTypeRequiredDescription
suite_name
stringYes
test_suite_run_id
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).
python
page = client.ai.assistants.tests.test_suites.runs.list(
    suite_name="my-test-suite",
)
page = page.data[0]
print(page.run_id)
Response wrapper:
  • items:
    page.data
  • pagination:
    page.meta
Primary item fields:
  • status
  • created_at
  • updated_at
  • completed_at
  • conversation_id
  • conversation_insights_id

在更新、删除或做出控制流决策前获取当前状态。
client.ai.assistants.tests.test_suites.runs.list()
GET /ai/assistants/tests/test-suites/{suite_name}/runs
参数类型必填描述
suite_name
string
test_suite_run_id
string (UUID)按特定套件执行批次ID筛选运行记录
status
string按执行状态筛选运行记录(pending、running、completed...)
page
object统一分页参数(deepObject格式)。
python
page = client.ai.assistants.tests.test_suites.runs.list(
    suite_name="my-test-suite",
)
page = page.data[0]
print(page.run_id)
响应包装结构:
  • 条目:
    page.data
  • 分页信息:
    page.meta
主要条目字段:
  • status
  • created_at
  • updated_at
  • completed_at
  • conversation_id
  • conversation_insights_id

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.test_suites.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.
suite_name
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.
test_id
Update an assistant test
client.ai.assistants.tests.update()
PUT /ai/assistants/tests/{test_id}
Modify an existing resource without recreating it.
test_id
Delete an assistant test
client.ai.assistants.tests.delete()
DELETE /ai/assistants/tests/{test_id}
Remove, detach, or clean up an existing resource.
test_id
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.
test_id
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.
test_id
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.
test_id
,
run_id
Delete an assistant
client.ai.assistants.delete()
DELETE /ai/assistants/{assistant_id}
Remove, detach, or clean up an existing resource.
assistant_id
Get Canary Deploy
client.ai.assistants.canary_deploys.retrieve()
GET /ai/assistants/{assistant_id}/canary-deploys
Fetch the current state before updating, deleting, or making control-flow decisions.
assistant_id
Create Canary Deploy
client.ai.assistants.canary_deploys.create()
POST /ai/assistants/{assistant_id}/canary-deploys
Create or provision an additional resource when the core tasks do not cover this flow.
versions
,
assistant_id
Update Canary Deploy
client.ai.assistants.canary_deploys.update()
PUT /ai/assistants/{assistant_id}/canary-deploys
Modify an existing resource without recreating it.
versions
,
assistant_id
Delete Canary Deploy
client.ai.assistants.canary_deploys.delete()
DELETE /ai/assistants/{assistant_id}/canary-deploys
Remove, detach, or clean up an existing resource.
assistant_id
Assistant Sms Chat
client.ai.assistants.send_sms()
POST /ai/assistants/{assistant_id}/chat/sms
Run assistant chat over SMS instead of direct API chat.
from_
,
to
,
assistant_id
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.
assistant_id
List scheduled events
client.ai.assistants.scheduled_events.list()
GET /ai/assistants/{assistant_id}/scheduled_events
Fetch the current state before updating, deleting, or making control-flow decisions.
assistant_id
Create a scheduled event
client.ai.assistants.scheduled_events.create()
POST /ai/assistants/{assistant_id}/scheduled_events
Create or provision an additional resource when the core tasks do not cover this flow.
telnyx_conversation_channel
,
telnyx_end_user_target
,
telnyx_agent_target
,
scheduled_at_fixed_datetime
, +1 more
Get a scheduled event
client.ai.assistants.scheduled_events.retrieve()
GET /ai/assistants/{assistant_id}/scheduled_events/{event_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
assistant_id
,
event_id
Delete a scheduled event
client.ai.assistants.scheduled_events.delete()
DELETE /ai/assistants/{assistant_id}/scheduled_events/{event_id}
Remove, detach, or clean up an existing resource.
assistant_id
,
event_id
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
,
assistant_id
Remove Assistant Tag
client.ai.assistants.tags.remove()
DELETE /ai/assistants/{assistant_id}/tags/{tag}
Remove, detach, or clean up an existing resource.
assistant_id
,
tag
Get assistant texml
client.ai.assistants.get_texml()
GET /ai/assistants/{assistant_id}/texml
Fetch the current state before updating, deleting, or making control-flow decisions.
assistant_id
Add Assistant Tool
client.ai.assistants.tools.add()
PUT /ai/assistants/{assistant_id}/tools/{tool_id}
Modify an existing resource without recreating it.
assistant_id
,
tool_id
Remove Assistant Tool
client.ai.assistants.tools.remove()
DELETE /ai/assistants/{assistant_id}/tools/{tool_id}
Remove, detach, or clean up an existing resource.
assistant_id
,
tool_id
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.
assistant_id
,
tool_id
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.
assistant_id
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.
assistant_id
,
version_id
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.
assistant_id
,
version_id
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.
assistant_id
,
version_id
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.
assistant_id
,
version_id
List MCP Servers
client.ai.mcp_servers.list()
GET /ai/mcp_servers
Inspect available resources or choose an existing resource before mutating it.None
Create MCP Server
client.ai.mcp_servers.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.mcp_servers.retrieve()
GET /ai/mcp_servers/{mcp_server_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
mcp_server_id
Update MCP Server
client.ai.mcp_servers.update()
PUT /ai/mcp_servers/{mcp_server_id}
Modify an existing resource without recreating it.
mcp_server_id
Delete MCP Server
client.ai.mcp_servers.delete()
DELETE /ai/mcp_servers/{mcp_server_id}
Remove, detach, or clean up an existing resource.
mcp_server_id
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_
,
display_name
Get Tool
client.ai.tools.retrieve()
GET /ai/tools/{tool_id}
Fetch the current state before updating, deleting, or making control-flow decisions.
tool_id
Update Tool
client.ai.tools.update()
PATCH /ai/tools/{tool_id}
Modify an existing resource without recreating it.
tool_id
Delete Tool
client.ai.tools.delete()
DELETE /ai/tools/{tool_id}
Remove, detach, or clean up an existing resource.
tool_id

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

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