telnyx-missions-python

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 Missions - Python

Telnyx Missions - 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"),  # This is the default and can be omitted
)
以下所有示例均假设
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:
    result = client.messages.send(to="+13125550001", from_="+13125550002", text="Hello")
except telnyx.APIConnectionError:
    print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
    # 429: rate limited — wait and retry with exponential backoff
    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:
    result = client.messages.send(to="+13125550001", from_="+13125550002", text="Hello")
except telnyx.APIConnectionError:
    print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
    # 429: rate limited — wait and retry with exponential backoff
    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")
常见错误码:
401
API密钥无效,
403
权限不足,
404
资源不存在,
422
校验错误(请检查字段格式),
429
速率受限(请使用指数退避策略重试)。

Important Notes

重要说明

  • Pagination: List methods return an auto-paginating iterator. Use
    for item in page_result:
    to iterate through all pages automatically.
  • 分页: 列表方法返回自动分页的迭代器。使用
    for item in page_result:
    即可自动遍历所有分页结果。

List missions

列出Mission

List all missions for the organization
GET /ai/missions
python
page = client.ai.missions.list()
page = page.data[0]
print(page.mission_id)
Returns:
created_at
(date-time),
description
(string),
execution_mode
(enum: external, managed),
instructions
(string),
metadata
(object),
mission_id
(uuid),
model
(string),
name
(string),
updated_at
(date-time)
列出所属组织的所有Mission
GET /ai/missions
python
page = client.ai.missions.list()
page = page.data[0]
print(page.mission_id)
返回参数:
created_at
(日期时间)、
description
(字符串)、
execution_mode
(枚举值:external、managed)、
instructions
(字符串)、
metadata
(对象)、
mission_id
(UUID)、
model
(字符串)、
name
(字符串)、
updated_at
(日期时间)

Create mission

创建Mission

Create a new mission definition
POST /ai/missions
— Required:
name
Optional:
description
(string),
execution_mode
(enum: external, managed),
instructions
(string),
metadata
(object),
model
(string)
python
mission = client.ai.missions.create(
    name="my-resource",
)
print(mission.data)
Returns:
created_at
(date-time),
description
(string),
execution_mode
(enum: external, managed),
instructions
(string),
metadata
(object),
mission_id
(uuid),
model
(string),
name
(string),
updated_at
(date-time)
创建新的Mission定义
POST /ai/missions
— 必填参数:
name
可选参数:
description
(字符串)、
execution_mode
(枚举值:external、managed)、
instructions
(字符串)、
metadata
(对象)、
model
(字符串)
python
mission = client.ai.missions.create(
    name="my-resource",
)
print(mission.data)
返回参数:
created_at
(日期时间)、
description
(字符串)、
execution_mode
(枚举值:external、managed)、
instructions
(字符串)、
metadata
(对象)、
mission_id
(UUID)、
model
(字符串)、
name
(字符串)、
updated_at
(日期时间)

List recent events

列出最近事件

List recent events across all missions
GET /ai/missions/events
python
page = client.ai.missions.list_events()
page = page.data[0]
print(page.event_id)
Returns:
agent_id
(string),
event_id
(string),
idempotency_key
(string),
payload
(object),
run_id
(string),
step_id
(string),
summary
(string),
timestamp
(date-time),
type
(enum: status_change, step_started, step_completed, step_failed, tool_call, tool_result, message, error, custom)
列出所有Mission的最近事件
GET /ai/missions/events
python
page = client.ai.missions.list_events()
page = page.data[0]
print(page.event_id)
返回参数:
agent_id
(字符串)、
event_id
(字符串)、
idempotency_key
(字符串)、
payload
(对象)、
run_id
(字符串)、
step_id
(字符串)、
summary
(字符串)、
timestamp
(日期时间)、
type
(枚举值:status_change, step_started, step_completed, step_failed, tool_call, tool_result, message, error, custom)

List recent runs

列出最近运行记录

List recent runs across all missions
GET /ai/missions/runs
python
page = client.ai.missions.runs.list_runs()
page = page.data[0]
print(page.mission_id)
Returns:
error
(string),
finished_at
(date-time),
input
(object),
metadata
(object),
mission_id
(uuid),
result_payload
(object),
result_summary
(string),
run_id
(uuid),
started_at
(date-time),
status
(enum: pending, running, paused, succeeded, failed, cancelled),
updated_at
(date-time)
列出所有Mission的最近运行记录
GET /ai/missions/runs
python
page = client.ai.missions.runs.list_runs()
page = page.data[0]
print(page.mission_id)
返回参数:
error
(字符串)、
finished_at
(日期时间)、
input
(对象)、
metadata
(对象)、
mission_id
(UUID)、
result_payload
(对象)、
result_summary
(字符串)、
run_id
(UUID)、
started_at
(日期时间)、
status
(枚举值:pending, running, paused, succeeded, failed, cancelled)、
updated_at
(日期时间)

Get mission

获取Mission详情

Get a mission by ID (includes tools, knowledge_bases, mcp_servers)
GET /ai/missions/{mission_id}
python
mission = client.ai.missions.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(mission.data)
Returns:
created_at
(date-time),
description
(string),
execution_mode
(enum: external, managed),
instructions
(string),
metadata
(object),
mission_id
(uuid),
model
(string),
name
(string),
updated_at
(date-time)
根据ID获取单个Mission详情(包含工具、知识库、mcp_servers)
GET /ai/missions/{mission_id}
python
mission = client.ai.missions.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(mission.data)
返回参数:
created_at
(日期时间)、
description
(字符串)、
execution_mode
(枚举值:external、managed)、
instructions
(字符串)、
metadata
(对象)、
mission_id
(UUID)、
model
(字符串)、
name
(字符串)、
updated_at
(日期时间)

Update mission

更新Mission

Update a mission definition
PUT /ai/missions/{mission_id}
Optional:
description
(string),
execution_mode
(enum: external, managed),
instructions
(string),
metadata
(object),
model
(string),
name
(string)
python
response = client.ai.missions.update_mission(
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
Returns:
created_at
(date-time),
description
(string),
execution_mode
(enum: external, managed),
instructions
(string),
metadata
(object),
mission_id
(uuid),
model
(string),
name
(string),
updated_at
(date-time)
更新Mission定义
PUT /ai/missions/{mission_id}
可选参数:
description
(字符串)、
execution_mode
(枚举值:external、managed)、
instructions
(字符串)、
metadata
(对象)、
model
(字符串)、
name
(字符串)
python
response = client.ai.missions.update_mission(
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
返回参数:
created_at
(日期时间)、
description
(字符串)、
execution_mode
(枚举值:external、managed)、
instructions
(字符串)、
metadata
(对象)、
mission_id
(UUID)、
model
(字符串)、
name
(字符串)、
updated_at
(日期时间)

Delete mission

删除Mission

Delete a mission
DELETE /ai/missions/{mission_id}
python
client.ai.missions.delete_mission(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
删除单个Mission
DELETE /ai/missions/{mission_id}
python
client.ai.missions.delete_mission(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)

Clone mission

克隆Mission

Clone an existing mission
POST /ai/missions/{mission_id}/clone
python
response = client.ai.missions.clone_mission(
    "mission_id",
)
print(response)
克隆现有Mission
POST /ai/missions/{mission_id}/clone
python
response = client.ai.missions.clone_mission(
    "mission_id",
)
print(response)

List knowledge bases

列出知识库

List all knowledge bases for a mission
GET /ai/missions/{mission_id}/knowledge-bases
python
response = client.ai.missions.knowledge_bases.list_knowledge_bases(
    "mission_id",
)
print(response)
列出指定Mission的所有知识库
GET /ai/missions/{mission_id}/knowledge-bases
python
response = client.ai.missions.knowledge_bases.list_knowledge_bases(
    "mission_id",
)
print(response)

Create knowledge base

创建知识库

Create a new knowledge base for a mission
POST /ai/missions/{mission_id}/knowledge-bases
python
response = client.ai.missions.knowledge_bases.create_knowledge_base(
    "mission_id",
)
print(response)
为指定Mission创建新的知识库
POST /ai/missions/{mission_id}/knowledge-bases
python
response = client.ai.missions.knowledge_bases.create_knowledge_base(
    "mission_id",
)
print(response)

Get knowledge base

获取知识库详情

Get a specific knowledge base by ID
GET /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
python
response = client.ai.missions.knowledge_bases.get_knowledge_base(
    knowledge_base_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)
根据ID获取指定知识库详情
GET /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
python
response = client.ai.missions.knowledge_bases.get_knowledge_base(
    knowledge_base_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)

Update knowledge base

更新知识库

Update a knowledge base definition
PUT /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
python
response = client.ai.missions.knowledge_bases.update_knowledge_base(
    knowledge_base_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)
更新知识库定义
PUT /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
python
response = client.ai.missions.knowledge_bases.update_knowledge_base(
    knowledge_base_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)

Delete knowledge base

删除知识库

Delete a knowledge base from a mission
DELETE /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
python
client.ai.missions.knowledge_bases.delete_knowledge_base(
    knowledge_base_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
从Mission中删除指定知识库
DELETE /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
python
client.ai.missions.knowledge_bases.delete_knowledge_base(
    knowledge_base_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)

List MCP servers

列出MCP服务器

List all MCP servers for a mission
GET /ai/missions/{mission_id}/mcp-servers
python
response = client.ai.missions.mcp_servers.list_mcp_servers(
    "mission_id",
)
print(response)
列出指定Mission的所有MCP服务器
GET /ai/missions/{mission_id}/mcp-servers
python
response = client.ai.missions.mcp_servers.list_mcp_servers(
    "mission_id",
)
print(response)

Create MCP server

创建MCP服务器

Create a new MCP server for a mission
POST /ai/missions/{mission_id}/mcp-servers
python
response = client.ai.missions.mcp_servers.create_mcp_server(
    "mission_id",
)
print(response)
为指定Mission创建新的MCP服务器
POST /ai/missions/{mission_id}/mcp-servers
python
response = client.ai.missions.mcp_servers.create_mcp_server(
    "mission_id",
)
print(response)

Get MCP server

获取MCP服务器详情

Get a specific MCP server by ID
GET /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
python
response = client.ai.missions.mcp_servers.get_mcp_server(
    mcp_server_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)
根据ID获取指定MCP服务器详情
GET /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
python
response = client.ai.missions.mcp_servers.get_mcp_server(
    mcp_server_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)

Update MCP server

更新MCP服务器

Update an MCP server definition
PUT /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
python
response = client.ai.missions.mcp_servers.update_mcp_server(
    mcp_server_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)
更新MCP服务器定义
PUT /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
python
response = client.ai.missions.mcp_servers.update_mcp_server(
    mcp_server_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)

Delete MCP server

删除MCP服务器

Delete an MCP server from a mission
DELETE /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
python
client.ai.missions.mcp_servers.delete_mcp_server(
    mcp_server_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
从Mission中删除指定MCP服务器
DELETE /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
python
client.ai.missions.mcp_servers.delete_mcp_server(
    mcp_server_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)

List runs for mission

列出Mission的运行记录

List all runs for a specific mission
GET /ai/missions/{mission_id}/runs
python
page = client.ai.missions.runs.list(
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.mission_id)
Returns:
error
(string),
finished_at
(date-time),
input
(object),
metadata
(object),
mission_id
(uuid),
result_payload
(object),
result_summary
(string),
run_id
(uuid),
started_at
(date-time),
status
(enum: pending, running, paused, succeeded, failed, cancelled),
updated_at
(date-time)
列出指定Mission的所有运行记录
GET /ai/missions/{mission_id}/runs
python
page = client.ai.missions.runs.list(
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.mission_id)
返回参数:
error
(字符串)、
finished_at
(日期时间)、
input
(对象)、
metadata
(对象)、
mission_id
(UUID)、
result_payload
(对象)、
result_summary
(字符串)、
run_id
(UUID)、
started_at
(日期时间)、
status
(枚举值:pending, running, paused, succeeded, failed, cancelled)、
updated_at
(日期时间)

Start a run

启动运行

Start a new run for a mission
POST /ai/missions/{mission_id}/runs
Optional:
input
(object),
metadata
(object)
python
run = client.ai.missions.runs.create(
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(run.data)
Returns:
error
(string),
finished_at
(date-time),
input
(object),
metadata
(object),
mission_id
(uuid),
result_payload
(object),
result_summary
(string),
run_id
(uuid),
started_at
(date-time),
status
(enum: pending, running, paused, succeeded, failed, cancelled),
updated_at
(date-time)
为Mission启动新的运行实例
POST /ai/missions/{mission_id}/runs
可选参数:
input
(对象)、
metadata
(对象)
python
run = client.ai.missions.runs.create(
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(run.data)
返回参数:
error
(字符串)、
finished_at
(日期时间)、
input
(对象)、
metadata
(对象)、
mission_id
(UUID)、
result_payload
(对象)、
result_summary
(字符串)、
run_id
(UUID)、
started_at
(日期时间)、
status
(枚举值:pending, running, paused, succeeded, failed, cancelled)、
updated_at
(日期时间)

Get run details

获取运行详情

Get details of a specific run
GET /ai/missions/{mission_id}/runs/{run_id}
python
run = client.ai.missions.runs.retrieve(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(run.data)
Returns:
error
(string),
finished_at
(date-time),
input
(object),
metadata
(object),
mission_id
(uuid),
result_payload
(object),
result_summary
(string),
run_id
(uuid),
started_at
(date-time),
status
(enum: pending, running, paused, succeeded, failed, cancelled),
updated_at
(date-time)
获取指定运行实例的详情
GET /ai/missions/{mission_id}/runs/{run_id}
python
run = client.ai.missions.runs.retrieve(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(run.data)
返回参数:
error
(字符串)、
finished_at
(日期时间)、
input
(对象)、
metadata
(对象)、
mission_id
(UUID)、
result_payload
(对象)、
result_summary
(字符串)、
run_id
(UUID)、
started_at
(日期时间)、
status
(枚举值:pending, running, paused, succeeded, failed, cancelled)、
updated_at
(日期时间)

Update run

更新运行记录

Update run status and/or result
PATCH /ai/missions/{mission_id}/runs/{run_id}
Optional:
error
(string),
metadata
(object),
result_payload
(object),
result_summary
(string),
status
(enum: pending, running, paused, succeeded, failed, cancelled)
python
run = client.ai.missions.runs.update(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(run.data)
Returns:
error
(string),
finished_at
(date-time),
input
(object),
metadata
(object),
mission_id
(uuid),
result_payload
(object),
result_summary
(string),
run_id
(uuid),
started_at
(date-time),
status
(enum: pending, running, paused, succeeded, failed, cancelled),
updated_at
(date-time)
更新运行状态和/或运行结果
PATCH /ai/missions/{mission_id}/runs/{run_id}
可选参数:
error
(字符串)、
metadata
(对象)、
result_payload
(对象)、
result_summary
(字符串)、
status
(枚举值:pending, running, paused, succeeded, failed, cancelled)
python
run = client.ai.missions.runs.update(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(run.data)
返回参数:
error
(字符串)、
finished_at
(日期时间)、
input
(对象)、
metadata
(对象)、
mission_id
(UUID)、
result_payload
(对象)、
result_summary
(字符串)、
run_id
(UUID)、
started_at
(日期时间)、
status
(枚举值:pending, running, paused, succeeded, failed, cancelled)、
updated_at
(日期时间)

Cancel run

取消运行

Cancel a running or paused run
POST /ai/missions/{mission_id}/runs/{run_id}/cancel
python
response = client.ai.missions.runs.cancel_run(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
Returns:
error
(string),
finished_at
(date-time),
input
(object),
metadata
(object),
mission_id
(uuid),
result_payload
(object),
result_summary
(string),
run_id
(uuid),
started_at
(date-time),
status
(enum: pending, running, paused, succeeded, failed, cancelled),
updated_at
(date-time)
取消正在运行或已暂停的运行实例
POST /ai/missions/{mission_id}/runs/{run_id}/cancel
python
response = client.ai.missions.runs.cancel_run(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
返回参数:
error
(字符串)、
finished_at
(日期时间)、
input
(对象)、
metadata
(对象)、
mission_id
(UUID)、
result_payload
(对象)、
result_summary
(字符串)、
run_id
(UUID)、
started_at
(日期时间)、
status
(枚举值:pending, running, paused, succeeded, failed, cancelled)、
updated_at
(日期时间)

List events

列出事件

List events for a run (paginated)
GET /ai/missions/{mission_id}/runs/{run_id}/events
python
page = client.ai.missions.runs.events.list(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.event_id)
Returns:
agent_id
(string),
event_id
(string),
idempotency_key
(string),
payload
(object),
run_id
(string),
step_id
(string),
summary
(string),
timestamp
(date-time),
type
(enum: status_change, step_started, step_completed, step_failed, tool_call, tool_result, message, error, custom)
列出指定运行实例的事件(支持分页)
GET /ai/missions/{mission_id}/runs/{run_id}/events
python
page = client.ai.missions.runs.events.list(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
page = page.data[0]
print(page.event_id)
返回参数:
agent_id
(字符串)、
event_id
(字符串)、
idempotency_key
(字符串)、
payload
(对象)、
run_id
(字符串)、
step_id
(字符串)、
summary
(字符串)、
timestamp
(日期时间)、
type
(枚举值:status_change, step_started, step_completed, step_failed, tool_call, tool_result, message, error, custom)

Log event

记录事件

Log an event for a run
POST /ai/missions/{mission_id}/runs/{run_id}/events
— Required:
type
,
summary
Optional:
agent_id
(string),
idempotency_key
(string),
payload
(object),
step_id
(string)
python
response = client.ai.missions.runs.events.log(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    summary="Brief task summary",
    type="status_change",
)
print(response.data)
Returns:
agent_id
(string),
event_id
(string),
idempotency_key
(string),
payload
(object),
run_id
(string),
step_id
(string),
summary
(string),
timestamp
(date-time),
type
(enum: status_change, step_started, step_completed, step_failed, tool_call, tool_result, message, error, custom)
为运行实例记录一个事件
POST /ai/missions/{mission_id}/runs/{run_id}/events
— 必填参数:
type
summary
可选参数:
agent_id
(字符串)、
idempotency_key
(字符串)、
payload
(对象)、
step_id
(字符串)
python
response = client.ai.missions.runs.events.log(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    summary="Brief task summary",
    type="status_change",
)
print(response.data)
返回参数:
agent_id
(字符串)、
event_id
(字符串)、
idempotency_key
(字符串)、
payload
(对象)、
run_id
(字符串)、
step_id
(字符串)、
summary
(字符串)、
timestamp
(日期时间)、
type
(枚举值:status_change, step_started, step_completed, step_failed, tool_call, tool_result, message, error, custom)

Get event details

获取事件详情

Get details of a specific event
GET /ai/missions/{mission_id}/runs/{run_id}/events/{event_id}
python
response = client.ai.missions.runs.events.get_event_details(
    event_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
Returns:
agent_id
(string),
event_id
(string),
idempotency_key
(string),
payload
(object),
run_id
(string),
step_id
(string),
summary
(string),
timestamp
(date-time),
type
(enum: status_change, step_started, step_completed, step_failed, tool_call, tool_result, message, error, custom)
获取指定事件的详情
GET /ai/missions/{mission_id}/runs/{run_id}/events/{event_id}
python
response = client.ai.missions.runs.events.get_event_details(
    event_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
返回参数:
agent_id
(字符串)、
event_id
(字符串)、
idempotency_key
(字符串)、
payload
(对象)、
run_id
(字符串)、
step_id
(字符串)、
summary
(字符串)、
timestamp
(日期时间)、
type
(枚举值:status_change, step_started, step_completed, step_failed, tool_call, tool_result, message, error, custom)

Pause run

暂停运行

Pause a running run
POST /ai/missions/{mission_id}/runs/{run_id}/pause
python
response = client.ai.missions.runs.pause_run(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
Returns:
error
(string),
finished_at
(date-time),
input
(object),
metadata
(object),
mission_id
(uuid),
result_payload
(object),
result_summary
(string),
run_id
(uuid),
started_at
(date-time),
status
(enum: pending, running, paused, succeeded, failed, cancelled),
updated_at
(date-time)
暂停正在运行的运行实例
POST /ai/missions/{mission_id}/runs/{run_id}/pause
python
response = client.ai.missions.runs.pause_run(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
返回参数:
error
(字符串)、
finished_at
(日期时间)、
input
(对象)、
metadata
(对象)、
mission_id
(UUID)、
result_payload
(对象)、
result_summary
(字符串)、
run_id
(UUID)、
started_at
(日期时间)、
status
(枚举值:pending, running, paused, succeeded, failed, cancelled)、
updated_at
(日期时间)

Get plan

获取运行计划

Get the plan (all steps) for a run
GET /ai/missions/{mission_id}/runs/{run_id}/plan
python
plan = client.ai.missions.runs.plan.retrieve(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(plan.data)
Returns:
completed_at
(date-time),
description
(string),
metadata
(object),
parent_step_id
(string),
run_id
(uuid),
sequence
(integer),
started_at
(date-time),
status
(enum: pending, in_progress, completed, skipped, failed),
step_id
(string)
获取运行实例的计划(包含所有步骤)
GET /ai/missions/{mission_id}/runs/{run_id}/plan
python
plan = client.ai.missions.runs.plan.retrieve(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(plan.data)
返回参数:
completed_at
(日期时间)、
description
(字符串)、
metadata
(对象)、
parent_step_id
(字符串)、
run_id
(UUID)、
sequence
(整数)、
started_at
(日期时间)、
status
(枚举值:pending, in_progress, completed, skipped, failed)、
step_id
(字符串)

Create initial plan

创建初始运行计划

Create the initial plan for a run
POST /ai/missions/{mission_id}/runs/{run_id}/plan
— Required:
steps
python
plan = client.ai.missions.runs.plan.create(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    steps=[{
        "description": "description",
        "sequence": 0,
        "step_id": "step_id",
    }],
)
print(plan.data)
Returns:
completed_at
(date-time),
description
(string),
metadata
(object),
parent_step_id
(string),
run_id
(uuid),
sequence
(integer),
started_at
(date-time),
status
(enum: pending, in_progress, completed, skipped, failed),
step_id
(string)
为运行实例创建初始计划
POST /ai/missions/{mission_id}/runs/{run_id}/plan
— 必填参数:
steps
python
plan = client.ai.missions.runs.plan.create(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    steps=[{
        "description": "description",
        "sequence": 0,
        "step_id": "step_id",
    }],
)
print(plan.data)
返回参数:
completed_at
(日期时间)、
description
(字符串)、
metadata
(对象)、
parent_step_id
(字符串)、
run_id
(UUID)、
sequence
(整数)、
started_at
(日期时间)、
status
(枚举值:pending, in_progress, completed, skipped, failed)、
step_id
(字符串)

Add step(s) to plan

为计划添加步骤

Add one or more steps to an existing plan
POST /ai/missions/{mission_id}/runs/{run_id}/plan/steps
— Required:
steps
python
response = client.ai.missions.runs.plan.add_steps_to_plan(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    steps=[{
        "description": "description",
        "sequence": 0,
        "step_id": "step_id",
    }],
)
print(response.data)
Returns:
completed_at
(date-time),
description
(string),
metadata
(object),
parent_step_id
(string),
run_id
(uuid),
sequence
(integer),
started_at
(date-time),
status
(enum: pending, in_progress, completed, skipped, failed),
step_id
(string)
为现有运行计划添加一个或多个步骤
POST /ai/missions/{mission_id}/runs/{run_id}/plan/steps
— 必填参数:
steps
python
response = client.ai.missions.runs.plan.add_steps_to_plan(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    steps=[{
        "description": "description",
        "sequence": 0,
        "step_id": "step_id",
    }],
)
print(response.data)
返回参数:
completed_at
(日期时间)、
description
(字符串)、
metadata
(对象)、
parent_step_id
(字符串)、
run_id
(UUID)、
sequence
(整数)、
started_at
(日期时间)、
status
(枚举值:pending, in_progress, completed, skipped, failed)、
step_id
(字符串)

Get step details

获取步骤详情

Get details of a specific plan step
GET /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}
python
response = client.ai.missions.runs.plan.get_step_details(
    step_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
Returns:
completed_at
(date-time),
description
(string),
metadata
(object),
parent_step_id
(string),
run_id
(uuid),
sequence
(integer),
started_at
(date-time),
status
(enum: pending, in_progress, completed, skipped, failed),
step_id
(string)
获取运行计划中指定步骤的详情
GET /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}
python
response = client.ai.missions.runs.plan.get_step_details(
    step_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
返回参数:
completed_at
(日期时间)、
description
(字符串)、
metadata
(对象)、
parent_step_id
(字符串)、
run_id
(UUID)、
sequence
(整数)、
started_at
(日期时间)、
status
(枚举值:pending, in_progress, completed, skipped, failed)、
step_id
(字符串)

Update step status

更新步骤状态

Update the status of a plan step
PATCH /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}
Optional:
metadata
(object),
status
(enum: pending, in_progress, completed, skipped, failed)
python
response = client.ai.missions.runs.plan.update_step(
    step_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
Returns:
completed_at
(date-time),
description
(string),
metadata
(object),
parent_step_id
(string),
run_id
(uuid),
sequence
(integer),
started_at
(date-time),
status
(enum: pending, in_progress, completed, skipped, failed),
step_id
(string)
更新运行计划步骤的状态
PATCH /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}
可选参数:
metadata
(对象)、
status
(枚举值:pending, in_progress, completed, skipped, failed)
python
response = client.ai.missions.runs.plan.update_step(
    step_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
返回参数:
completed_at
(日期时间)、
description
(字符串)、
metadata
(对象)、
parent_step_id
(字符串)、
run_id
(UUID)、
sequence
(整数)、
started_at
(日期时间)、
status
(枚举值:pending, in_progress, completed, skipped, failed)、
step_id
(字符串)

Resume run

恢复运行

Resume a paused run
POST /ai/missions/{mission_id}/runs/{run_id}/resume
python
response = client.ai.missions.runs.resume_run(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
Returns:
error
(string),
finished_at
(date-time),
input
(object),
metadata
(object),
mission_id
(uuid),
result_payload
(object),
result_summary
(string),
run_id
(uuid),
started_at
(date-time),
status
(enum: pending, running, paused, succeeded, failed, cancelled),
updated_at
(date-time)
恢复已暂停的运行实例
POST /ai/missions/{mission_id}/runs/{run_id}/resume
python
response = client.ai.missions.runs.resume_run(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)
返回参数:
error
(字符串)、
finished_at
(日期时间)、
input
(对象)、
metadata
(对象)、
mission_id
(UUID)、
result_payload
(对象)、
result_summary
(字符串)、
run_id
(UUID)、
started_at
(日期时间)、
status
(枚举值:pending, running, paused, succeeded, failed, cancelled)、
updated_at
(日期时间)

List linked Telnyx agents

列出关联的Telnyx Agent

List all Telnyx agents linked to a run
GET /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents
python
telnyx_agents = client.ai.missions.runs.telnyx_agents.list(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(telnyx_agents.data)
Returns:
created_at
(date-time),
run_id
(string),
telnyx_agent_id
(string)
列出与运行实例关联的所有Telnyx Agent
GET /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents
python
telnyx_agents = client.ai.missions.runs.telnyx_agents.list(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(telnyx_agents.data)
返回参数:
created_at
(日期时间)、
run_id
(字符串)、
telnyx_agent_id
(字符串)

Link Telnyx agent to run

关联Telnyx Agent到运行实例

Link a Telnyx AI agent (voice/messaging) to a run
POST /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents
— Required:
telnyx_agent_id
python
response = client.ai.missions.runs.telnyx_agents.link(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    telnyx_agent_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response.data)
Returns:
created_at
(date-time),
run_id
(string),
telnyx_agent_id
(string)
将Telnyx AI Agent(语音/消息)关联到运行实例
POST /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents
— 必填参数:
telnyx_agent_id
python
response = client.ai.missions.runs.telnyx_agents.link(
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    telnyx_agent_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response.data)
返回参数:
created_at
(日期时间)、
run_id
(字符串)、
telnyx_agent_id
(字符串)

Unlink Telnyx agent

解绑Telnyx Agent

Unlink a Telnyx agent from a run
DELETE /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents/{telnyx_agent_id}
python
client.ai.missions.runs.telnyx_agents.unlink(
    telnyx_agent_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
将Telnyx Agent从运行实例解绑
DELETE /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents/{telnyx_agent_id}
python
client.ai.missions.runs.telnyx_agents.unlink(
    telnyx_agent_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    run_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)

List tools

列出工具

List all tools for a mission
GET /ai/missions/{mission_id}/tools
python
response = client.ai.missions.tools.list_tools(
    "mission_id",
)
print(response)
列出指定Mission的所有工具
GET /ai/missions/{mission_id}/tools
python
response = client.ai.missions.tools.list_tools(
    "mission_id",
)
print(response)

Create tool

创建工具

Create a new tool for a mission
POST /ai/missions/{mission_id}/tools
python
response = client.ai.missions.tools.create_tool(
    "mission_id",
)
print(response)
为指定Mission创建新的工具
POST /ai/missions/{mission_id}/tools
python
response = client.ai.missions.tools.create_tool(
    "mission_id",
)
print(response)

Get tool

获取工具详情

Get a specific tool by ID
GET /ai/missions/{mission_id}/tools/{tool_id}
python
response = client.ai.missions.tools.get_tool(
    tool_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)
根据ID获取指定工具详情
GET /ai/missions/{mission_id}/tools/{tool_id}
python
response = client.ai.missions.tools.get_tool(
    tool_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)

Update tool

更新工具

Update a tool definition
PUT /ai/missions/{mission_id}/tools/{tool_id}
python
response = client.ai.missions.tools.update_tool(
    tool_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)
更新工具定义
PUT /ai/missions/{mission_id}/tools/{tool_id}
python
response = client.ai.missions.tools.update_tool(
    tool_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)

Delete tool

删除工具

Delete a tool from a mission
DELETE /ai/missions/{mission_id}/tools/{tool_id}
python
client.ai.missions.tools.delete_tool(
    tool_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)
从Mission中删除指定工具
DELETE /ai/missions/{mission_id}/tools/{tool_id}
python
client.ai.missions.tools.delete_tool(
    tool_id="550e8400-e29b-41d4-a716-446655440000",
    mission_id="550e8400-e29b-41d4-a716-446655440000",
)