telnyx-missions-javascript

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

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

Telnyx Missions - JavaScript

Telnyx Missions - JavaScript

Installation

安装

bash
npm install telnyx
bash
npm install telnyx

Setup

初始化设置

javascript
import Telnyx from 'telnyx';

const client = new Telnyx({
  apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
All examples below assume
client
is already initialized as shown above.
javascript
import Telnyx from 'telnyx';

const client = new Telnyx({
  apiKey: process.env['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:
javascript
try {
  const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
  if (err instanceof Telnyx.APIConnectionError) {
    console.error('Network error — check connectivity and retry');
  } else if (err instanceof Telnyx.RateLimitError) {
    // 429: rate limited — wait and retry with exponential backoff
    const retryAfter = err.headers?.['retry-after'] || 1;
    await new Promise(r => setTimeout(r, retryAfter * 1000));
  } else if (err instanceof Telnyx.APIError) {
    console.error(`API error ${err.status}: ${err.message}`);
    if (err.status === 422) {
      console.error('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)而失败。在生产代码中务必处理错误:
javascript
try {
  const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
  if (err instanceof Telnyx.APIConnectionError) {
    console.error('网络错误——请检查连接并重试');
  } else if (err instanceof Telnyx.RateLimitError) {
    // 429:触发速率限制——等待后使用指数退避策略重试
    const retryAfter = err.headers?.['retry-after'] || 1;
    await new Promise(r => setTimeout(r, retryAfter * 1000));
  } else if (err instanceof Telnyx.APIError) {
    console.error(`API错误 ${err.status}: ${err.message}`);
    if (err.status === 422) {
      console.error('验证错误——请检查必填字段和格式');
    }
  }
}
常见错误码:
401
无效API密钥,
403
权限不足,
404
资源不存在,
422
验证错误(检查字段格式),
429
速率限制(使用指数退避策略重试)。

Important Notes

重要说明

  • Pagination: List methods return an auto-paginating iterator. Use
    for await (const item of result) { ... }
    to iterate through all pages automatically.
  • 分页处理:列表类方法返回自动分页迭代器。使用
    for await (const item of result) { ... }
    可自动遍历所有分页内容。

List missions

列出所有任务

List all missions for the organization
GET /ai/missions
javascript
// Automatically fetches more pages as needed.
for await (const missionData of client.ai.missions.list()) {
  console.log(missionData.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)
列出组织下的所有任务
GET /ai/missions
javascript
// 自动按需获取更多分页内容。
for await (const missionData of client.ai.missions.list()) {
  console.log(missionData.mission_id);
}
返回字段:
created_at
(日期时间),
description
(字符串),
execution_mode
(枚举:external, managed),
instructions
(字符串),
metadata
(对象),
mission_id
(UUID),
model
(字符串),
name
(字符串),
updated_at
(日期时间)

Create 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)
javascript
const mission = await client.ai.missions.create({ name: 'my-resource' });

console.log(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)
创建新的任务定义
POST /ai/missions
— 必填字段:
name
可选字段:
description
(字符串),
execution_mode
(枚举:external, managed),
instructions
(字符串),
metadata
(对象),
model
(字符串)
javascript
const mission = await client.ai.missions.create({ name: 'my-resource' });

console.log(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
javascript
// Automatically fetches more pages as needed.
for await (const eventData of client.ai.missions.listEvents()) {
  console.log(eventData.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/events
javascript
// 自动按需获取更多分页内容。
for await (const eventData of client.ai.missions.listEvents()) {
  console.log(eventData.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
javascript
// Automatically fetches more pages as needed.
for await (const missionRunData of client.ai.missions.runs.listRuns()) {
  console.log(missionRunData.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)
列出所有任务的近期运行实例
GET /ai/missions/runs
javascript
// 自动按需获取更多分页内容。
for await (const missionRunData of client.ai.missions.runs.listRuns()) {
  console.log(missionRunData.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

获取任务详情

Get a mission by ID (includes tools, knowledge_bases, mcp_servers)
GET /ai/missions/{mission_id}
javascript
const mission = await client.ai.missions.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');

console.log(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获取任务详情(包含工具、知识库、MCP服务器)
GET /ai/missions/{mission_id}
javascript
const mission = await client.ai.missions.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');

console.log(mission.data);
返回字段:
created_at
(日期时间),
description
(字符串),
execution_mode
(枚举:external, managed),
instructions
(字符串),
metadata
(对象),
mission_id
(UUID),
model
(字符串),
name
(字符串),
updated_at
(日期时间)

Update 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)
javascript
const response = await client.ai.missions.updateMission('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');

console.log(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)
更新任务定义
PUT /ai/missions/{mission_id}
可选字段:
description
(字符串),
execution_mode
(枚举:external, managed),
instructions
(字符串),
metadata
(对象),
model
(字符串),
name
(字符串)
javascript
const response = await client.ai.missions.updateMission('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');

console.log(response.data);
返回字段:
created_at
(日期时间),
description
(字符串),
execution_mode
(枚举:external, managed),
instructions
(字符串),
metadata
(对象),
mission_id
(UUID),
model
(字符串),
name
(字符串),
updated_at
(日期时间)

Delete mission

删除任务

Delete a mission
DELETE /ai/missions/{mission_id}
javascript
await client.ai.missions.deleteMission('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');
删除任务
DELETE /ai/missions/{mission_id}
javascript
await client.ai.missions.deleteMission('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');

Clone mission

克隆任务

Clone an existing mission
POST /ai/missions/{mission_id}/clone
javascript
const response = await client.ai.missions.cloneMission('mission_id');

console.log(response);
克隆现有任务
POST /ai/missions/{mission_id}/clone
javascript
const response = await client.ai.missions.cloneMission('mission_id');

console.log(response);

List knowledge bases

列出知识库

List all knowledge bases for a mission
GET /ai/missions/{mission_id}/knowledge-bases
javascript
const response = await client.ai.missions.knowledgeBases.listKnowledgeBases('mission_id');

console.log(response);
列出任务下的所有知识库
GET /ai/missions/{mission_id}/knowledge-bases
javascript
const response = await client.ai.missions.knowledgeBases.listKnowledgeBases('mission_id');

console.log(response);

Create knowledge base

创建知识库

Create a new knowledge base for a mission
POST /ai/missions/{mission_id}/knowledge-bases
javascript
const response = await client.ai.missions.knowledgeBases.createKnowledgeBase('mission_id');

console.log(response);
为任务创建新的知识库
POST /ai/missions/{mission_id}/knowledge-bases
javascript
const response = await client.ai.missions.knowledgeBases.createKnowledgeBase('mission_id');

console.log(response);

Get knowledge base

获取知识库详情

Get a specific knowledge base by ID
GET /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
javascript
const response = await client.ai.missions.knowledgeBases.getKnowledgeBase('knowledge_base_id', {
  mission_id: '550e8400-e29b-41d4-a716-446655440000',
});

console.log(response);
通过ID获取特定知识库详情
GET /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
javascript
const response = await client.ai.missions.knowledgeBases.getKnowledgeBase('knowledge_base_id', {
  mission_id: '550e8400-e29b-41d4-a716-446655440000',
});

console.log(response);

Update knowledge base

更新知识库

Update a knowledge base definition
PUT /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
javascript
const response = await client.ai.missions.knowledgeBases.updateKnowledgeBase('knowledge_base_id', {
  mission_id: '550e8400-e29b-41d4-a716-446655440000',
});

console.log(response);
更新知识库定义
PUT /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
javascript
const response = await client.ai.missions.knowledgeBases.updateKnowledgeBase('knowledge_base_id', {
  mission_id: '550e8400-e29b-41d4-a716-446655440000',
});

console.log(response);

Delete knowledge base

删除知识库

Delete a knowledge base from a mission
DELETE /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
javascript
await client.ai.missions.knowledgeBases.deleteKnowledgeBase('knowledge_base_id', {
  mission_id: '550e8400-e29b-41d4-a716-446655440000',
});
从任务中删除知识库
DELETE /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
javascript
await client.ai.missions.knowledgeBases.deleteKnowledgeBase('knowledge_base_id', {
  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
javascript
const response = await client.ai.missions.mcpServers.listMcpServers('mission_id');

console.log(response);
列出任务下的所有MCP服务器
GET /ai/missions/{mission_id}/mcp-servers
javascript
const response = await client.ai.missions.mcpServers.listMcpServers('mission_id');

console.log(response);

Create MCP server

创建MCP服务器

Create a new MCP server for a mission
POST /ai/missions/{mission_id}/mcp-servers
javascript
const response = await client.ai.missions.mcpServers.createMcpServer('mission_id');

console.log(response);
为任务创建新的MCP服务器
POST /ai/missions/{mission_id}/mcp-servers
javascript
const response = await client.ai.missions.mcpServers.createMcpServer('mission_id');

console.log(response);

Get MCP server

获取MCP服务器详情

Get a specific MCP server by ID
GET /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
javascript
const response = await client.ai.missions.mcpServers.getMcpServer('mcp_server_id', {
  mission_id: '550e8400-e29b-41d4-a716-446655440000',
});

console.log(response);
通过ID获取特定MCP服务器详情
GET /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
javascript
const response = await client.ai.missions.mcpServers.getMcpServer('mcp_server_id', {
  mission_id: '550e8400-e29b-41d4-a716-446655440000',
});

console.log(response);

Update MCP server

更新MCP服务器

Update an MCP server definition
PUT /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
javascript
const response = await client.ai.missions.mcpServers.updateMcpServer('mcp_server_id', {
  mission_id: '550e8400-e29b-41d4-a716-446655440000',
});

console.log(response);
更新MCP服务器定义
PUT /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
javascript
const response = await client.ai.missions.mcpServers.updateMcpServer('mcp_server_id', {
  mission_id: '550e8400-e29b-41d4-a716-446655440000',
});

console.log(response);

Delete MCP server

删除MCP服务器

Delete an MCP server from a mission
DELETE /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
javascript
await client.ai.missions.mcpServers.deleteMcpServer('mcp_server_id', { mission_id: '550e8400-e29b-41d4-a716-446655440000' });
从任务中删除MCP服务器
DELETE /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
javascript
await client.ai.missions.mcpServers.deleteMcpServer('mcp_server_id', { mission_id: '550e8400-e29b-41d4-a716-446655440000' });

List runs for mission

列出任务的运行实例

List all runs for a specific mission
GET /ai/missions/{mission_id}/runs
javascript
// Automatically fetches more pages as needed.
for await (const missionRunData of client.ai.missions.runs.list(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
)) {
  console.log(missionRunData.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)
列出特定任务的所有运行实例
GET /ai/missions/{mission_id}/runs
javascript
// 自动按需获取更多分页内容。
for await (const missionRunData of client.ai.missions.runs.list(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
)) {
  console.log(missionRunData.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)
javascript
const run = await client.ai.missions.runs.create('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');

console.log(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)
为任务启动新的运行实例
POST /ai/missions/{mission_id}/runs
可选字段:
input
(对象),
metadata
(对象)
javascript
const run = await client.ai.missions.runs.create('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');

console.log(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}
javascript
const run = await client.ai.missions.runs.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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}
javascript
const run = await client.ai.missions.runs.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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)
javascript
const run = await client.ai.missions.runs.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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)
javascript
const run = await client.ai.missions.runs.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
const response = await client.ai.missions.runs.cancelRun('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
const response = await client.ai.missions.runs.cancelRun('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
// Automatically fetches more pages as needed.
for await (const eventData of client.ai.missions.runs.events.list(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  { mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
)) {
  console.log(eventData.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
javascript
// 自动按需获取更多分页内容。
for await (const eventData of client.ai.missions.runs.events.list(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  { mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
)) {
  console.log(eventData.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)
javascript
const response = await client.ai.missions.runs.events.log('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  summary: 'Brief task summary',
  type: 'status_change',
});

console.log(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
(字符串)
javascript
const response = await client.ai.missions.runs.events.log('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  summary: 'Brief task summary',
  type: 'status_change',
});

console.log(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}
javascript
const response = await client.ai.missions.runs.events.getEventDetails('event_id', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  run_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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}
javascript
const response = await client.ai.missions.runs.events.getEventDetails('event_id', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  run_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
const response = await client.ai.missions.runs.pauseRun('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
const response = await client.ai.missions.runs.pauseRun('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
const plan = await client.ai.missions.runs.plan.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
const plan = await client.ai.missions.runs.plan.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
const plan = await client.ai.missions.runs.plan.create('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  steps: [
    {
      description: 'description',
      sequence: 0,
      step_id: '550e8400-e29b-41d4-a716-446655440000',
    },
  ],
});

console.log(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
javascript
const plan = await client.ai.missions.runs.plan.create('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  steps: [
    {
      description: 'description',
      sequence: 0,
      step_id: '550e8400-e29b-41d4-a716-446655440000',
    },
  ],
});

console.log(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
javascript
const response = await client.ai.missions.runs.plan.addStepsToPlan(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  {
    mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
    steps: [
      {
        description: 'description',
        sequence: 0,
        step_id: '550e8400-e29b-41d4-a716-446655440000',
      },
    ],
  },
);

console.log(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
javascript
const response = await client.ai.missions.runs.plan.addStepsToPlan(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  {
    mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
    steps: [
      {
        description: 'description',
        sequence: 0,
        step_id: '550e8400-e29b-41d4-a716-446655440000',
      },
    ],
  },
);

console.log(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}
javascript
const response = await client.ai.missions.runs.plan.getStepDetails('step_id', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  run_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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}
javascript
const response = await client.ai.missions.runs.plan.getStepDetails('step_id', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  run_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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)
javascript
const response = await client.ai.missions.runs.plan.updateStep('step_id', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  run_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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)
javascript
const response = await client.ai.missions.runs.plan.updateStep('step_id', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  run_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
const response = await client.ai.missions.runs.resumeRun('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
const response = await client.ai.missions.runs.resumeRun('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {
  mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
});

console.log(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
javascript
const telnyxAgents = await client.ai.missions.runs.telnyxAgents.list(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  { mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
);

console.log(telnyxAgents.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
javascript
const telnyxAgents = await client.ai.missions.runs.telnyxAgents.list(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  { mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
);

console.log(telnyxAgents.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
javascript
const response = await client.ai.missions.runs.telnyxAgents.link(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  { mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', telnyx_agent_id: '550e8400-e29b-41d4-a716-446655440000' },
);

console.log(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
javascript
const response = await client.ai.missions.runs.telnyxAgents.link(
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  { mission_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', telnyx_agent_id: '550e8400-e29b-41d4-a716-446655440000' },
);

console.log(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}
javascript
await client.ai.missions.runs.telnyxAgents.unlink('telnyx_agent_id', {
  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}
javascript
await client.ai.missions.runs.telnyxAgents.unlink('telnyx_agent_id', {
  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
javascript
const response = await client.ai.missions.tools.listTools('mission_id');

console.log(response);
列出任务下的所有工具
GET /ai/missions/{mission_id}/tools
javascript
const response = await client.ai.missions.tools.listTools('mission_id');

console.log(response);

Create tool

创建工具

Create a new tool for a mission
POST /ai/missions/{mission_id}/tools
javascript
const response = await client.ai.missions.tools.createTool('mission_id');

console.log(response);
为任务创建新工具
POST /ai/missions/{mission_id}/tools
javascript
const response = await client.ai.missions.tools.createTool('mission_id');

console.log(response);

Get tool

获取工具详情

Get a specific tool by ID
GET /ai/missions/{mission_id}/tools/{tool_id}
javascript
const response = await client.ai.missions.tools.getTool('tool_id', { mission_id: '550e8400-e29b-41d4-a716-446655440000' });

console.log(response);
通过ID获取特定工具详情
GET /ai/missions/{mission_id}/tools/{tool_id}
javascript
const response = await client.ai.missions.tools.getTool('tool_id', { mission_id: '550e8400-e29b-41d4-a716-446655440000' });

console.log(response);

Update tool

更新工具

Update a tool definition
PUT /ai/missions/{mission_id}/tools/{tool_id}
javascript
const response = await client.ai.missions.tools.updateTool('tool_id', { mission_id: '550e8400-e29b-41d4-a716-446655440000' });

console.log(response);
更新工具定义
PUT /ai/missions/{mission_id}/tools/{tool_id}
javascript
const response = await client.ai.missions.tools.updateTool('tool_id', { mission_id: '550e8400-e29b-41d4-a716-446655440000' });

console.log(response);

Delete tool

删除工具

Delete a tool from a mission
DELETE /ai/missions/{mission_id}/tools/{tool_id}
javascript
await client.ai.missions.tools.deleteTool('tool_id', { mission_id: '550e8400-e29b-41d4-a716-446655440000' });
从任务中删除工具
DELETE /ai/missions/{mission_id}/tools/{tool_id}
javascript
await client.ai.missions.tools.deleteTool('tool_id', { mission_id: '550e8400-e29b-41d4-a716-446655440000' });