运行应用 - RunApplication
功能介绍
该API用于调试或运行应用(可通过设置debug来控制是调试还是运行),对于运行应用,该应用必须先发布并部署上线(生产部署)。
支持流式响应(当设置response_mode为streaming时),会将应用运行中的过程事件包括消息以SSE的形式返回(响应的Content-type为text/event-stream)。
SSE内容参考如下:
data: {"message_id": "1cc7e8eb-4e63-46f4-af4a-b97459eec420", "run_id": "1cc7e8eb-4e63-46f4-af4a-b97459eec420", "is_finished": false, "role": "user", "event": "message", "session_id": "9f98582f-4f37-491f-b04b-db88bb988f39", "type": "text", "is_answer": false, "content": "hello", "inputs": "{\"query\": \"翻译“我们居住在地球村”\"}"}
data: {"message_id": "1cc7e8eb-4e63-46f4-af4a-b97459eec420", "run_id": "1cc7e8eb-4e63-46f4-af4a-b97459eec420", "is_finished": false, "role": "assistant", "version": "0.0", "event": "workflow_started", "session_id": "9f98582f-4f37-491f-b04b-db88bb988f39", "data": {"inputs": {"query": "翻译“我们居住在地球村”", "sys.query": "hello"}, "create_date": "2026-10-08T10:46:25Z"}}
data: {"message_id": "1cc7e8eb-4e63-46f4-af4a-b97459eec420", "run_id": "1cc7e8eb-4e63-46f4-af4a-b97459eec420", "is_finished": false, "role": "assistant", "node_run_id": "d49eb563-0ad1-4c25-ad5d-409111dfc9f0", "event": "node_started", "session_id": "9f98582f-4f37-491f-b04b-db88bb988f39", "data": {"node_id": "dec79e19-7a05-47b5-be9c-49fad972e05f", "node_type": "START", "node_name": "开始", "seq_id": 1, "inputs": {"sys.query": "hello", "sys.files": null}, "create_date": "2026-10-08T10:46:25Z"}} 调用方法
请参见如何调用API。
授权信息
账号根用户具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备如下身份策略权限,更多的权限说明请参见权限和授权项。
| 授权项 | 访问级别 | 资源类型(*为必须) | 条件键 | 别名 | 依赖的授权项 |
|---|---|---|---|---|---|
| DataArtsPlatform:application:run | Write | - | - | - | - |
URI
POST /v1/{project_id}/applications/{application_id}/run
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 项目ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 小写字母和数字组成的32位十六进制字符,例如:ff8080817d30ff7b017d3213ba600001。 默认取值: 不涉及。 |
| application_id | 是 | String | 参数解释: 应用ID,应用的唯一标识,可以通过应用开发控制台或应用查询接口获取。 约束限制: 不涉及。 取值范围: 标准的 UUID 格式,即由连字符(-)分隔的 32 位十六进制字符,格式为 8-4-4-4-12,例如:552b5251-8558-4271-9aec-46e5879ab9e5。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Workspace-Id | 是 | String | 参数解释: 工作空间ID。 获取方法请参见获取项目ID,例如:6280b8733aea43a2a0799c55aeeb0e68。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| inputs | 否 | Object | 参数解释: 调用应用运行接口时,inputs对象中的字段(Key)取决于应用开发时“开始节点”中定义的参数名,而非 API 预留的固定字段。例如,在开始节点定义了一个string类型参数,名称为name,值为名字,则请求体传参形式为 {inputs:{"name":"zhangsan"}}。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| query | 否 | String | 参数解释: 当应用为对话模式时(即开始节点的对话模式按钮被打开或为智能体应用),该参数值为用户向应用提出的问题。例如:你好,请查询下今天的天气。 约束限制: 当应用为对话模式时,该字段为必填字段。 取值范围: 不涉及。 默认取值: 不涉及。 |
| response_mode | 否 | String | 参数解释: 应用运行时响应模式,指定应用运行时的响应方式。 约束限制: 不涉及。 取值范围: 默认取值: blocking。 |
| run_id | 否 | String | 参数解释: 运行ID,单次运行的唯一标识。 约束限制: 当应用运行涉及交互问答时,需携带运行ID。 取值范围: 标准的 UUID 格式,即由连字符(-)分隔的 32 位十六进制字符,格式为 8-4-4-4-12,例如:2c1f93a2-cfc3-4799-abae-bda8edf36d7f。 默认取值: 不涉及。 |
| session_id | 否 | String | 参数解释: 会话ID,会话的唯一标识。当应用在指定的会话里运行时,需携带会话ID。会话ID由系统生成,首次调用后需复用该ID以维持同一会话。 约束限制: 若需维持同一会话,需要使用该属性,确保每次运行会话ID一致。 当应用运行涉及交互问答时,需携带会话ID。 取值范围: 标准的 UUID 格式,即由连字符(-)分隔的 32 位十六进制字符,格式为 8-4-4-4-12,例如:2350bb6e-7f05-40d6-b65f-2cf0d3fde0a2。 默认取值: 不涉及。 |
| version | 否 | String | 参数解释: 当需要运行调试具体某个版本时,需指定该版本。Debug模式默认为基线版本,运行时默认为当前生产部署的版本。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 调试模式下默认值为基线版本(0.0),运行模式下默认值为当前生产部署对应的版本。 |
| debug | 否 | Boolean | 参数解释: 指定为调试模式或运行模式。 约束限制: 不涉及。 取值范围: 默认取值: false。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| session_id | String | 参数解释: 会话ID,会话的唯一标识。 取值范围: 标准的 UUID 格式,即由连字符(-)分隔的 32 位十六进制字符,格式为 8-4-4-4-12,例如:2350bb6e-7f05-40d6-b65f-2cf0d3fde0a2。 |
| parent_run_id | String | 参数解释: 父运行ID,用于唯一标识当前运行的父运行ID,常在子应用里出现。 取值范围: 标准的 UUID 格式,即由连字符(-)分隔的 32 位十六进制字符,格式为 8-4-4-4-12,例如:331f93a2-cfc3-4799-abae-bda8edf36d45。 |
| run_id | String | 参数解释: 运行ID,用于唯一标识一次运行。 取值范围: 标准的 UUID 格式,即由连字符(-)分隔的 32 位十六进制字符,格式为 8-4-4-4-12,例如:2c1f93a2-cfc3-4799-abae-bda8edf36d7f。 |
| message_id | String | 参数解释: 运行消息ID,由系统生成。应用的一次运行会生成一个消息ID。因应用可能涉及交互问答,同一次运行可能涉及多次交互,因此会产生不同的消息ID。 取值范围: 标准的 UUID 格式,即由连字符(-)分隔的 32 位十六进制字符,格式为 8-4-4-4-12,例如:2c1f93a2-cfc3-4799-abae-bda8edf36d7f。 |
| version | String | 参数解释: 当前应用运行的应用版本。 取值范围: 不涉及。 |
| data | ApplicationRunData object | 参数解释: 应用运行结束的结果数据,包含状态、输入、输出、开始时间、结束时间等。 取值范围: 不涉及。 |
| debug | Boolean | 参数解释: 是调试模式还是运行模式。 取值范围: |
| is_finished | Boolean | 参数解释: 标记是否运行结束。 取值范围: |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| status | String | 参数解释: 应用运行状态。 取值范围: |
| create_date | String | 参数解释: 应用运行的开始时间,系统自动生成。 取值范围: UTC时区的时间戳格式(yyyy-MM-ddTHH:mm:ssZ)。 |
| error | String | 参数解释: 错误消息,当应用运行失败时,该属性有效,且值为失败原因。 取值范围: 不涉及。 |
| finish_date | String | 参数解释: 应用运行的结束时间,系统自动生成。 取值范围: UTC时区的时间戳格式(yyyy-MM-ddTHH:mm:ssZ)。 |
| inputs | Object | 参数解释: 在调用应用运行接口时,inputs对象中的字段(Key)并非API预留的固定字段,而是取决于您在应用开发时“开始节点”中定义的参数名。例如在开始节点定义了一个string类型参数,名称为name,值为名字,就需在请求体构建{inputs:{"name":"zhangsan"}}的形式传参。 取值范围: 不涉及。 |
| outputs | Object | 参数解释: outputs对象中的字段(Key)并非API预留的固定字段,而是取决于您在应用开发时“结束节点”中定义的参数名。例如在结束节点定义了一个string类型参数,名称为name,则outputs的内容就是{"name":"张三"}。 说明:对于智能体应用,outputs只包含output字段,为智能体的输出参数。 取值范围: 不涉及。 |
| elapsed_time | Float | 参数解释: 应用运行的耗时,单位秒。 取值范围: 大于等于0的浮点数。 |
| total_steps | Integer | 参数解释: 应用运行的总步数。 取值范围: 正整数。 |
| metadata | Object | 参数解释: 应用运行的元数据。 取值范围: 不涉及。 |
请求示例
运行应用
POST https://{Endpoint}/v1/{project_id}/applications/{application_id}/run
{
"inputs" : {
"name" : "zhangsan",
"age" : 100
},
"query" : "hello"
} 响应示例
状态码:200
运行应用
{
"run_id" : "8ac0dfc9-5535-4a87-9c20-43e41cc871d3",
"message_id" : "8ac0dfc9-5535-4a87-9c20-43e41cc871d3",
"session_id" : "7917dbae-3cd6-455d-a6cd-b19c9b8099ad",
"is_finished" : true,
"version" : "1.0",
"data" : {
"status" : "succeeded",
"outputs" : {
"output_var" : "hello zhangsan, how are you?"
},
"elapsed_time" : 1.283,
"total_steps" : 3,
"create_date" : "2026-10-08T10:46:25Z",
"finish_date" : "2026-10-08T10:46:26Z"
}
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 运行应用成功响应。 |
错误码
请参见错误码。