REST API V2¶
此 API 描述了通过 HTTP 协议使用表述性状态转移 (ReST) 概念与 Mistral 服务交互的方式。
基础¶
媒体类型¶
目前,此 API 依赖于 JSON 来表示 REST 资源的状态。
错误状态¶
常用的 HTTP 响应状态码 (https://github.com/for-GET/know-your-http-well/blob/2025.2/status-codes.md) 被使用。
应用程序根目录 [/]¶
应用程序根目录提供指向 Mistral 所有可能的 API 方法的链接。下面描述的其他资源的 URL 相对于应用程序根目录。
API v2 根目录 [/v2/]¶
所有 API v2 URL 相对于 API v2 根目录。
工作簿¶
- type Workbook¶
Workbook 资源。
数据示例
- Json
{ "created_at": "1970-01-01T00:00:00.000000", "definition": "HERE GOESWORKBOOK DEFINITION IN MISTRAL DSL v2", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "book", "namespace": "", "project_id": "a7eb669e9819420ea4bd1453e672c0a7", "scope": "private", "tags": [ "large", "expensive" ], "updated_at": "1970-01-01T00:00:00.000000" }
- definition¶
- 类型:
str
Mistral v2 DSL 中的 workbook 定义
- scope¶
- 类型:
Enum(private, public)
‘private’ 或 ‘public’
name 是不可变的。tags 是与 workbook 关联的值列表,用户可以使用它按某些标准对 workbook 进行分组(部署 workbook、大数据处理 workbook 等)。请注意,当 Mistral 服务收到 POST 请求时,name 和 tags 会从 workbook 定义中推断出来。因此,不能以其他方式更改它们。
- type Workbooks¶
Workbook 的集合。
数据示例
- Json
{ "workbooks": [ { "created_at": "1970-01-01T00:00:00.000000", "definition": "HERE GOESWORKBOOK DEFINITION IN MISTRAL DSL v2", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "book", "namespace": "", "project_id": "a7eb669e9819420ea4bd1453e672c0a7", "scope": "private", "tags": [ "large", "expensive" ], "updated_at": "1970-01-01T00:00:00.000000" } ] }
- next¶
- 类型:
str
一个链接,用于检索资源列表的下一个子集
- GET /v2/workbooks¶
返回 workbook 列表。
- 参数:
marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于对结果进行排序的列。默认值:created_at。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:asc。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
str) – 可选。仅保留具有特定名称的资源。definition (
str) – 可选。仅保留具有特定定义的资源。tags (
str) – 可选。仅保留包含特定标签的资源。scope (
Enum(private, public)) – 可选。仅保留具有特定作用域的资源。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。namespace (
str) – 可选。仅保留具有特定命名空间的资源。
- 返回类型:
- GET /v2/workbooks¶
返回指定的 workbook。
- 参数:
name (
str) – 要检索的 workbook 的名称。namespace (
str) – 可选。要检索的 workbook 的命名空间。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中。
- 返回类型:
- POST /v2/workbooks¶
创建一个新的 workbook。
- 参数:
namespace – 可选。要在其中创建 workbook 的命名空间。如果它们位于两个不同的命名空间中,则具有相同名称的 workbook 可以添加到给定的项目。
- PUT /v2/workbooks¶
更新一个 workbook。
- 参数:
namespace – 可选。要更新的 workbook 的命名空间。
- DELETE /v2/workbooks¶
删除指定的 workbook。
- 参数:
name (
str) – 要删除的 workbook 的名称。namespace (
str) – 可选。要删除的 workbook 的命名空间。
工作流¶
- type Workflow¶
Workflow 资源。
数据示例
- Json
{ "created_at": "1970-01-01T00:00:00.000000", "definition": "HERE GOESWORKFLOW DEFINITION IN MISTRAL DSL v2", "id": "123e4567-e89b-12d3-a456-426655440000", "input": "param1, param2", "interface": "{\"input\": [\"param1\", {\"param2\": 2}], \"output\": []}", "name": "flow", "namespace": "", "project_id": "a7eb669e9819420ea4bd1453e672c0a7", "scope": "private", "tags": [ "large", "expensive" ], "updated_at": "1970-01-01T00:00:00.000000" }
- checksum¶
- 类型:
str
用 Mistral v2 语言编写的 workflow 文本
- interface¶
- 类型:
json
workflow 的输入和输出
- scope¶
- 类型:
Enum(private, public)
‘private’ 或 ‘public’
name 是不可变的。tags 是与 workflow 关联的值列表,用户可以使用它按某些标准对 workflow 进行分组。请注意,当 Mistral 服务收到 POST 请求时,name 和 tags 会从 workflow 定义中推断出来。因此,不能以其他方式更改它们。
- type Workflows¶
Workflow 的集合。
数据示例
- Json
{ "next": "https://:8989/v2/workflows?sort_keys=id,name&sort_dirs=asc,desc&limit=10&marker=123e4567-e89b-12d3-a456-426655440000", "workflows": [ { "created_at": "1970-01-01T00:00:00.000000", "definition": "HERE GOESWORKFLOW DEFINITION IN MISTRAL DSL v2", "id": "123e4567-e89b-12d3-a456-426655440000", "input": "param1, param2", "interface": "{\"input\": [\"param1\", {\"param2\": 2}], \"output\": []}", "name": "flow", "namespace": "", "project_id": "a7eb669e9819420ea4bd1453e672c0a7", "scope": "private", "tags": [ "large", "expensive" ], "updated_at": "1970-01-01T00:00:00.000000" } ] }
- next¶
- 类型:
str
一个链接,用于检索资源列表的下一个子集
- GET /v2/workflows¶
返回 workflow 列表。
- 参数:
marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于对结果进行排序的列。默认值:created_at。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:asc。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
str) – 可选。仅保留具有特定名称的资源。namespace (
str) – 可选。仅保留具有特定命名空间的资源input (
str) – 可选。仅保留具有特定输入的资源。definition (
str) – 可选。仅保留具有特定定义的资源。tags (
str) – 可选。仅保留包含特定标签的资源。scope (
Enum(private, public)) – 可选。仅保留具有特定作用域的资源。project_id (
uuid) – 可选。与请求者的 project_id 相同,或者如果作用域是公共作用域则不同。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。all_projects (
bool) – 可选。获取所有项目的资源。
- 返回类型:
- GET /v2/workflows¶
返回指定的 workflow。
- 参数:
identifier (
str) – 要检索的 workflow 的名称或 UUID。namespace (
str) – 可选。要检索的 workflow 的命名空间。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中。
- 返回类型:
- POST /v2/workflows¶
创建一个新的 workflow。
- 参数:
namespace – 可选。要在其中创建 workflow 的命名空间。如果它们位于两个不同的命名空间中,则具有相同名称的 workflow 可以添加到给定的项目。
文本允许包含多个 workflow 的定义。在这种情况下,它们都将被创建。
- PUT /v2/workflows¶
更新一个或多个 workflow。
- 参数:
identifier – 可选。如果提供,它是 workflow 的 UUID。只能使用 identifier 参数更新一个 workflow。
namespace – 可选。如果提供,它是 workflow/workflows 的命名空间。当前,无法更改命名空间。
文本允许包含多个 workflow 的定义。在这种情况下,它们都将被更新。
- DELETE /v2/workflows¶
删除一个 workflow。
- 参数:
identifier (
str) – 要删除的 workflow 的名称或 ID。namespace (
str) – 可选。要删除的 workflow 的命名空间。
行动¶
- type Action¶
Action 资源。
注意:name 是不可变的。请注意,name 和 description 会从 action 定义中推断出来,当 Mistral 服务收到 POST 请求时。因此,不能以其他方式更改它们。
数据示例
- Json
{ "created_at": "1970-01-01T00:00:00.000000", "definition": "HERE GOES ACTION DEFINITION IN MISTRAL DSL v2", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "flow", "namespace": "", "project_id": "a7eb669e9819420ea4bd1453e672c0a7", "scope": "private", "tags": [ "large", "expensive" ], "updated_at": "1970-01-01T00:00:00.000000" }
- type Actions¶
Action 的集合。
数据示例
- Json
{ "actions": [ { "created_at": "1970-01-01T00:00:00.000000", "definition": "HERE GOES ACTION DEFINITION IN MISTRAL DSL v2", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "flow", "namespace": "", "project_id": "a7eb669e9819420ea4bd1453e672c0a7", "scope": "private", "tags": [ "large", "expensive" ], "updated_at": "1970-01-01T00:00:00.000000" } ], "next": "https://:8989/v2/actions?sort_keys=id,name&sort_dirs=asc,desc&limit=10&marker=123e4567-e89b-12d3-a456-426655440000" }
- next¶
- 类型:
str
一个链接,用于检索资源列表的下一个子集
- GET /v2/actions¶
返回所有 actions。
- 参数:
marker (
str) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于对结果进行排序的列。默认值:name。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:asc。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
str) – 可选。仅保留具有特定名称的资源。scope (
Enum(private, public)) – 可选。仅保留具有特定作用域的资源。definition (
str) – 可选。仅保留具有特定定义的资源。is_system (
str) – 可选。仅保留系统 actions 或非系统 actions(如果为 False)。input (
str) – 可选。仅保留具有特定输入的资源。description (
str) – 可选。仅保留具有特定 description 的资源。tags (
str) – 可选。仅保留包含特定标签的资源。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。namespace (
str) – 可选。action 的命名空间。
- 返回类型:
- GET /v2/actions¶
返回指定的 action。
- 参数:
identifier (
str) – 要获取的 Action 的 ID 或名称。namespace (
str) – action 的命名空间。fields – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中。
- 返回类型:
- POST /v2/actions¶
创建一个新的 action。
- 参数:
namespace – 可选。要在其中创建 ad-hoc action 的命名空间。如果它们位于两个不同的命名空间中,则具有相同名称的 actions 可以添加到给定的项目。(默认命名空间是 ‘’)
- 注意:此文本允许包含定义
的多个 actions。在这种情况下,它们都将被创建。
- PUT /v2/actions¶
更新一个或多个 actions。
- 参数:
identifier – 可选。如果提供,它是 action 的 UUID 或名称。只能使用 identifier 参数更新一个 action。
namespace – 可选。如果提供,它是 action 所处的命名空间。
- 注意:此文本允许包含定义
的多个 actions。在这种情况下,它们都将被更新。
- DELETE /v2/actions¶
删除指定的 action。
- 参数:
identifier (
str) – 要删除的 action 的名称或 UUID。namespace (
str) – action 所处的命名空间。
Executions¶
- type Execution¶
Execution 资源。
数据示例
- Json
{ "created_at": "1970-01-01T00:00:00.000000", "description": "this is the first execution.", "id": "123e4567-e89b-12d3-a456-426655440000", "input": "{}", "output": "{}", "params": "{\"env\": {\"k1\": \"abc\", \"k2\": 123}, \"notify\": [{\"type\": \"webhook\", \"url\": \"http://endpoint/of/webhook\", \"headers\": {\"Content-Type\": \"application/json\", \"X-Auth-Token\": \"123456789\"}}, {\"type\": \"queue\", \"topic\": \"failover_queue\", \"backend\": \"rabbitmq\", \"host\": \"127.0.0.1\", \"port\": 5432}]}", "project_id": "40a908dbddfe48ad80a87fb30fa70a03", "published_global": "{\"key\": \"value\"}", "state": "SUCCESS", "tags": [ "simple", "amazing" ], "updated_at": "1970-01-01T00:00:00.000000", "workflow_id": "123e4567-e89b-12d3-a456-426655441111", "workflow_name": "flow", "workflow_namespace": "some_namespace" }
- description¶
- 类型:
str
workflow 执行的描述
- id¶
- 类型:
str
execution ID。它是不可变的,并且由 API 自动分配或确定
- input¶
- 类型:
json
input 是一个 JSON 结构,包含 workflow 输入值
- output¶
- 类型:
json
output 是 workflow 输出
- params¶
- 类型:
json
‘params’ 定义工作流类型特定的参数。具体参数如下:‘task_name’ - 目标任务的名称。仅用于反向工作流。‘env’ - 包含存储环境对象名称的字符串,或包含工作流文本中表达式(YAQL 或 Jinja)中使用的环境变量的字典,这些变量可以作为 ‘env()’ 访问。‘evaluate_env’ - 如果存在,则控制 Mistral 是否应递归查找并评估指定环境(通过 ‘env’ 参数)中的所有表达式(YAQL 或 Jinja)。‘True’ - 递归评估环境结构中的所有表达式。‘False’ - 不评估表达式。默认值为 ‘True’。
- root_execution_id¶
- 类型:
str
对根执行的引用
- source_execution_id¶
- 类型:
str
对工作流执行 ID 的引用,该 ID 将指示 API 查找当前 workflow_execution 并基于该 workflow 的输入和参数创建副本
- state¶
- 类型:
str
状态可以是以下之一:IDLE、RUNNING、SUCCESS、ERROR、PAUSED
- state_info¶
- 类型:
str
一个可选的状态信息字符串
- tags¶
- 类型:
list(str)
工作流执行的标签
- task_execution_id¶
- 类型:
str
对父任务执行的引用
- workflow_id¶
- 类型:
str
工作流 ID
- workflow_name¶
- 类型:
str
工作流名称
- workflow_namespace¶
- 类型:
str
工作流命名空间。工作流命名空间也会保存在 params 中,并传递给所有子工作流执行。在查找下一个要运行的子工作流时,将通过名称和命名空间找到正确的工作流,其中命名空间可以是工作流命名空间或默认命名空间。与顶级工作流在同一命名空间中的工作流将获得更高的优先级。
- type Executions¶
Execution 资源集合。
数据示例
- Json
{ "executions": [ { "created_at": "1970-01-01T00:00:00.000000", "description": "this is the first execution.", "id": "123e4567-e89b-12d3-a456-426655440000", "input": "{}", "output": "{}", "params": "{\"env\": {\"k1\": \"abc\", \"k2\": 123}, \"notify\": [{\"type\": \"webhook\", \"url\": \"http://endpoint/of/webhook\", \"headers\": {\"Content-Type\": \"application/json\", \"X-Auth-Token\": \"123456789\"}}, {\"type\": \"queue\", \"topic\": \"failover_queue\", \"backend\": \"rabbitmq\", \"host\": \"127.0.0.1\", \"port\": 5432}]}", "project_id": "40a908dbddfe48ad80a87fb30fa70a03", "published_global": "{\"key\": \"value\"}", "state": "SUCCESS", "tags": [ "simple", "amazing" ], "updated_at": "1970-01-01T00:00:00.000000", "workflow_id": "123e4567-e89b-12d3-a456-426655441111", "workflow_name": "flow", "workflow_namespace": "some_namespace" } ], "next": "https://:8989/v2/executions?sort_keys=id,workflow_name&sort_dirs=asc,desc&limit=10&marker=123e4567-e89b-12d3-a456-426655440000" }
- next¶
- 类型:
str
一个链接,用于检索资源列表的下一个子集
- GET /v2/executions¶
返回所有 Execution。
- 参数:
marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于排序结果的列。默认值:created_at,与旧版本兼容。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:desc。sort_dirs 的长度可以等于或小于 sort_keys 的长度。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。workflow_name (
str) – 可选。仅保留具有特定工作流名称的资源。workflow_id (
uuid) – 可选。仅保留具有特定工作流 ID 的资源。description (
str) – 可选。仅保留具有特定 description 的资源。tags (
uniquelist) – 可选。仅保留包含特定标签的资源。params (
json) – 可选。仅保留具有特定参数的资源。task_execution_id (
uuid) – 可选。仅保留具有特定任务执行 ID 的资源。root_execution_id (
uuid) – 可选。仅保留具有特定根执行 ID 的资源。state (
Enum(IDLE, RUNNING, SUCCESS, ERROR, PAUSED, CANCELLED)) – 可选。仅保留具有特定状态的资源。state_info (
str) – 可选。仅保留具有特定状态信息的资源。input (
json) – 可选。仅保留具有特定输入的资源。output (
json) – 可选。仅保留具有特定输出的资源。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。include_output (
bool) – 可选。在列表中包含所有执行的输出。project_id (
uuid) – 可选。仅获取属于该项目的执行。需要管理员权限。all_projects (
bool) – 可选。获取所有项目的资源。需要管理员权限。nulls (
list) – 可选。查询中具有空值的列的名称。
- 返回类型:
- GET /v2/executions¶
返回指定的 Execution。
- 参数:
id (
str) – 要检索的执行的 UUID。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中。
- 返回类型:
- POST /v2/executions¶
创建一个新的 Execution。
- PUT /v2/executions¶
更新指定的工作流执行。
- DELETE /v2/executions¶
删除指定的 Execution。
- 参数:
id (
str) – 要删除的执行的 UUID。force (
bool) – 可选。强制删除未完成的执行。默认值:false。虽然 API 与旧版本兼容,但行为并不相同。新的默认选项是更安全的选择
任务¶
当工作流启动时,Mistral 会创建一个执行。反过来,它由一组任务组成。因此,Task 是 Workflow 中描述的任务的一个实例,属于特定的执行。
- type Task¶
Task 资源。
数据示例
- Json
{ "created_at": "1970-01-01T00:00:00.000000", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "task", "processed": true, "project_id": "40a908dbddfe48ad80a87fb30fa70a03", "published": "{\"key\": \"value\"}", "published_global": "{\"key\": \"value\"}", "reset": true, "result": "task result", "runtime_context": "{\"triggered_by\": [{\"task_id\": \"123-123-123\", \"event\": \"on-success\"}]}", "state": "SUCCESS", "tags": [ "long", "security" ], "updated_at": "1970-01-01T00:00:00.000000", "workflow_execution_id": "123e4567-e89b-12d3-a456-426655440000", "workflow_id": "123e4567-e89b-12d3-a456-426655441111", "workflow_name": "flow" }
- state¶
- 类型:
str
状态可以是以下值之一:IDLE、RUNNING、SUCCESS、ERROR、DELAYED
- state_info¶
- 类型:
str
一个可选的状态信息字符串
- type Tasks¶
任务集合。
数据示例
- Json
{ "tasks": [ { "created_at": "1970-01-01T00:00:00.000000", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "task", "processed": true, "project_id": "40a908dbddfe48ad80a87fb30fa70a03", "published": "{\"key\": \"value\"}", "published_global": "{\"key\": \"value\"}", "reset": true, "result": "task result", "runtime_context": "{\"triggered_by\": [{\"task_id\": \"123-123-123\", \"event\": \"on-success\"}]}", "state": "SUCCESS", "tags": [ "long", "security" ], "updated_at": "1970-01-01T00:00:00.000000", "workflow_execution_id": "123e4567-e89b-12d3-a456-426655440000", "workflow_id": "123e4567-e89b-12d3-a456-426655441111", "workflow_name": "flow" } ] }
- next¶
- 类型:
str
一个链接,用于检索资源列表的下一个子集
- GET /v2/tasks¶
返回所有任务。
其中 project_id 与请求者相同,或者 project_id 不同但范围是公开的。
- 参数:
marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于排序结果的列。默认值:created_at,与旧版本兼容。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:desc。sort_dirs 的长度可以等于或小于 sort_keys 的长度。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
str) – 可选。仅保留具有特定名称的资源。workflow_name (
str) – 可选。仅保留具有特定工作流名称的资源。workflow_id (
uuid) – 可选。仅保留具有特定工作流 ID 的资源。workflow_execution_id (
uuid) – 可选。仅保留具有特定工作流执行 ID 的资源。state (
Enum(IDLE, RUNNING, SUCCESS, ERROR, DELAYED)) – 可选。仅保留具有特定状态的资源。state_info (
str) – 可选。仅保留具有特定状态信息的资源。result (
str) – 可选。仅保留具有特定结果的资源。published (
json) – 可选。仅保留具有特定已发布内容的资源。processed (
bool) – 可选。仅保留已处理或未处理的资源。reset (
bool) – 可选。仅保留已重置或未重置的资源。env (
json) – 可选。仅保留具有特定环境的资源。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。
- 返回类型:
- GET /v2/tasks¶
返回指定的任务。
- 参数:
id (
str) – 要检索的任务的 UUIDfields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中。
- 返回类型:
- GET /v2/executions¶
返回执行中的所有任务。
其中 project_id 与请求者相同,或者 project_id 不同但范围是公开的。
- 参数:
marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于排序结果的列。默认值:created_at,与旧版本兼容。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:desc。sort_dirs 的长度可以等于或小于 sort_keys 的长度。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
str) – 可选。仅保留具有特定名称的资源。workflow_name (
str) – 可选。仅保留具有特定工作流名称的资源。workflow_id (
uuid) – 可选。仅保留具有特定工作流 ID 的资源。workflow_execution_id (
uuid) – 可选。仅保留具有特定工作流执行 ID 的资源。tags (
uniquelist) – 可选。仅保留包含特定标签的资源。state (
Enum(IDLE, RUNNING, SUCCESS, ERROR, DELAYED)) – 可选。仅保留具有特定状态的资源。state_info (
str) – 可选。仅保留具有特定状态信息的资源。result (
str) – 可选。仅保留具有特定结果的资源。published (
json) – 可选。仅保留具有特定已发布内容的资源。processed (
bool) – 可选。仅保留已处理或未处理的资源。reset (
bool) – 可选。仅保留已重置或未重置的资源。env (
json) – 可选。仅保留具有特定环境的资源。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。
- 返回类型:
Action Executions¶
当 Task 启动时,Mistral 会创建一组 Action Executions。因此,Action Execution 是 Workflow Task 中描述的 action 调用的一个实例,属于特定的执行。
- type ActionExecution¶
ActionExecution 资源。
数据示例
- Json
{ "accepted": true, "created_at": "1970-01-01T00:00:00.000000", "description": "My running action", "id": "123e4567-e89b-12d3-a456-426655440000", "input": "{\"first_name\": \"John\", \"last_name\": \"Doe\"}", "name": "std.echo", "output": "{\"some_output\": \"Hello, John Doe!\"}", "params": "{\"save_result\": true, \"run_sync\": false}", "project_id": "40a908dbddfe48ad80a87fb30fa70a03", "state": "SUCCESS", "state_info": "SUCCESS", "tags": [ "foo", "fee" ], "task_execution_id": "343e45623-e89b-12d3-a456-426655440090", "task_name": "task1", "updated_at": "1970-01-01T00:00:00.000000", "workflow_name": "flow" }
- type ActionExecutions¶
action_executions 集合。
数据示例
- Json
{ "action_executions": [ { "accepted": true, "created_at": "1970-01-01T00:00:00.000000", "description": "My running action", "id": "123e4567-e89b-12d3-a456-426655440000", "input": "{\"first_name\": \"John\", \"last_name\": \"Doe\"}", "name": "std.echo", "output": "{\"some_output\": \"Hello, John Doe!\"}", "params": "{\"save_result\": true, \"run_sync\": false}", "project_id": "40a908dbddfe48ad80a87fb30fa70a03", "state": "SUCCESS", "state_info": "SUCCESS", "tags": [ "foo", "fee" ], "task_execution_id": "343e45623-e89b-12d3-a456-426655440090", "task_name": "task1", "updated_at": "1970-01-01T00:00:00.000000", "workflow_name": "flow" } ] }
- next¶
- 类型:
str
一个链接,用于检索资源列表的下一个子集
- GET /v2/action_executions¶
返回执行中的所有任务。
其中 project_id 与请求者相同,或者 project_id 不同但范围是公开的。
- 参数:
marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于排序结果的列。默认值:created_at,与旧版本兼容。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:desc。sort_dirs 的长度可以等于或小于 sort_keys 的长度。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
str) – 可选。仅保留具有特定名称的资源。workflow_name (
str) – 可选。仅保留具有特定工作流名称的资源。task_name (
str) – 可选。仅保留具有特定任务名称的资源。task_execution_id (
uuid) – 可选。仅保留特定任务执行中的资源。state (
str) – 可选。仅保留具有特定状态的资源。state_info (
str) – 可选。仅保留具有特定状态信息的资源。accepted (
bool) – 可选。仅保留已接受或未接受的资源。input (
json) – 可选。仅保留具有特定输入的资源。output (
json) – 可选。仅保留具有特定输出的资源。params (
json) – 可选。仅保留具有特定参数的资源。description (
str) – 可选。仅保留具有特定 description 的资源。tags (
str) – 可选。仅保留包含特定标签的资源。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。include_output (
bool) – 可选。在列表中包含所有执行的输出
- 返回类型:
- GET /v2/action_executions¶
返回指定的 action_execution。
- 参数:
id (
str) – 要检索的 action execution 的 UUIDfields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中。
- 返回类型:
- POST /v2/action_executions¶
创建新的 action_execution。
- 参数:
action_ex (
ActionExecution) – 要执行的 Action
- 返回类型:
- PUT /v2/action_executions¶
更新指定的 action_execution。
- 参数:
id (
str) – 要更新的 action execution 的 UUIDaction_ex (
ActionExecution) – 用于更新的 action execution
- 返回类型:
- DELETE /v2/action_executions¶
删除指定的 action_execution。
- 参数:
id (
str) – 要删除的 action execution 的 UUID
- GET /v2/tasks¶
返回执行中的所有任务。
其中 project_id 与请求者相同,或者 project_id 不同但范围是公开的。
- 参数:
task_execution_id (
uuid) – 仅保留特定任务执行中的资源。marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于排序结果的列。默认值:created_at,与旧版本兼容。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:desc。sort_dirs 的长度可以等于或小于 sort_keys 的长度。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
uniquelist) – 可选。仅保留具有特定名称的资源。workflow_name (
str) – 可选。仅保留具有特定工作流名称的资源。task_name (
str) – 可选。仅保留具有特定任务名称的资源。state (
str) – 可选。仅保留具有特定状态的资源。state_info (
str) – 可选。仅保留具有特定状态信息的资源。accepted (
bool) – 可选。仅保留已接受或未接受的资源。input (
json) – 可选。仅保留具有特定输入的资源。output (
json) – 可选。仅保留具有特定输出的资源。params (
json) – 可选。仅保留具有特定参数的资源。description (
str) – 可选。仅保留具有特定 description 的资源。tags (
str) – 可选。仅保留包含特定标签的资源。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。include_output (
bool) – 可选。在列表中包含所有执行的输出
- 返回类型:
- GET /v2/tasks¶
返回指定的 action_execution。
- 参数:
task_execution_id (
str) – 任务执行 UUIDaction_ex_id (
str) – Action execution UUIDfields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中。
- 返回类型:
Cron Triggers¶
Cron 触发器是一个对象,允许根据时间模式(Unix crontab 模式格式)运行 Mistral 工作流。创建触发器后,它将根据其属性运行指定的 workflow:pattern、first_execution_time 和 remaining_executions。
- type CronTrigger¶
CronTrigger 资源。
数据示例
- Json
{ "created_at": "1970-01-01T00:00:00.000000", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "my_trigger", "pattern": "* * * * *", "project_id": "40a908dbddfe48ad80a87fb30fa70a03", "remaining_executions": 42, "scope": "private", "updated_at": "1970-01-01T00:00:00.000000", "workflow_id": "123e4567-e89b-12d3-a456-426655441111", "workflow_input": "{}", "workflow_name": "my_wf", "workflow_params": "{}" }
- type CronTriggers¶
cron 触发器集合。
数据示例
- Json
{ "cron_triggers": [ { "created_at": "1970-01-01T00:00:00.000000", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "my_trigger", "pattern": "* * * * *", "project_id": "40a908dbddfe48ad80a87fb30fa70a03", "remaining_executions": 42, "scope": "private", "updated_at": "1970-01-01T00:00:00.000000", "workflow_id": "123e4567-e89b-12d3-a456-426655441111", "workflow_input": "{}", "workflow_name": "my_wf", "workflow_params": "{}" } ] }
- next¶
- 类型:
str
一个链接,用于检索资源列表的下一个子集
- GET /v2/cron_triggers¶
返回所有 cron 触发器。
- 参数:
marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于排序结果的列。默认值:created_at,与旧版本兼容。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:desc。sort_dirs 的长度可以等于或小于 sort_keys 的长度。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
str) – 可选。仅保留具有特定名称的资源。workflow_name (
str) – 可选。仅保留具有特定工作流名称的资源。workflow_id (
uuid) – 可选。仅保留具有特定工作流 ID 的资源。workflow_input (
json) – 可选。仅保留具有特定 workflow 输入的资源。workflow_params (
json) – 可选。仅保留具有特定 workflow 参数的资源。scope (
Enum(private, public)) – 可选。仅保留具有特定作用域的资源。pattern (
str) – 可选。仅保留具有特定模式的资源。remaining_executions (
integer) – 可选。仅保留具有特定剩余执行次数的资源。project_id (
uuid) – 可选。仅保留具有特定项目 ID 的资源。first_execution_time (
str) – 可选。仅保留具有特定首次执行时间和日期的资源。next_execution_time (
str) – 可选。仅保留具有特定下次执行时间和日期的资源。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。all_projects (
bool) – 可选。获取所有项目的资源。
- 返回类型:
- GET /v2/cron_triggers¶
返回指定的 cron_trigger。
- 参数:
identifier (
str) – cron 触发器的 ID 或名称,用于检索fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中。
- 返回类型:
- POST /v2/cron_triggers¶
创建一个新的 cron 触发器。
- 参数:
cron_trigger (
CronTrigger) – 必需。Cron 触发器结构。
- 返回类型:
- DELETE /v2/cron_triggers¶
删除 cron 触发器。
- 参数:
identifier (
str) – 要删除的 cron 触发器的 ID 或名称
Environments¶
Environment 包含一组可以在特定 workflow 中使用的变量。使用 Environment 可以创建和映射 action 的默认值 - 只需要在 ‘variables’ 中提供 ‘__actions’ 键。所有这些变量都可以使用 Workflow Language 通过 <% $.__env %> 表达式访问。
用例示例
workflow:
tasks:
task1:
action: std.echo output=<% $.__env.my_echo_output %>
创建 action 默认值的示例
...ENV...
"variables": {
"__actions": {
"std.echo": {
"output": "my_output"
}
}
},
...ENV...
注意:使用 CLI 时,Environment 可以通过 JSON 或 YAML 文件创建。
- type Environment¶
Environment 资源。
数据示例
- Json
{ "created_at": "1970-01-01T00:00:00.000000", "description": "example environment entry", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "sample", "project_id": "40a908dbddfe48ad80a87fb30fa70a03", "scope": "private", "updated_at": "1970-01-01T00:00:00.000000", "variables": "{\"server\": \"localhost\", \"database\": \"temp\", \"timeout\": 600, \"verbose\": true}" }
- type Environments¶
Environment 资源的集合。
数据示例
- Json
{ "environments": [ { "created_at": "1970-01-01T00:00:00.000000", "description": "example environment entry", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "sample", "project_id": "40a908dbddfe48ad80a87fb30fa70a03", "scope": "private", "updated_at": "1970-01-01T00:00:00.000000", "variables": "{\"server\": \"localhost\", \"database\": \"temp\", \"timeout\": 600, \"verbose\": true}" } ] }
- next¶
- 类型:
str
一个链接,用于检索资源列表的下一个子集
- GET /v2/environments¶
返回所有 environments。
其中 project_id 与请求者相同,或者 project_id 不同但范围是公开的。
- 参数:
marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于排序结果的列。默认值:created_at,与旧版本兼容。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:desc。sort_dirs 的长度可以等于或小于 sort_keys 的长度。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
str) – 可选。仅保留具有特定名称的资源。description (
str) – 可选。仅保留具有特定 description 的资源。variables (
json) – 可选。仅保留具有特定变量的资源。scope (
Enum(private, public)) – 可选。仅保留具有特定作用域的资源。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。
- 返回类型:
- GET /v2/environments¶
返回指定的 environment。
- 参数:
name (
str) – 要检索的 environment 的名称fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果未提供,‘id’ 将自动包含在字段中。
- 返回类型:
- POST /v2/environments¶
创建一个新的 environment。
- 参数:
env (
Environment) – 必需。要创建的 Environment 结构
- 返回类型:
- PUT /v2/environments¶
更新一个 environment。
- 参数:
env (
Environment) – 必需。要更新的 Environment 结构
- 返回类型:
- DELETE /v2/environments¶
删除指定的 environment。
- 参数:
name (
str) – 要删除的 environment 的名称
验证¶
验证端点允许您在将其上传到 Mistral 之前检查 workbook、workflow 和 ad-hoc action Workflow Language 的正确性。
- POST /v2/workbooks/validation
验证 workbook 内容 (Workflow Language 语法和语义)。
- POST /v2/workflows/validation
验证 workflow 内容 (Workflow Language 语法和语义)。
- POST /v2/actions/validation
验证 ad-hoc action 内容 (Workflow Language 语法和语义)。
这些端点期望在请求主体中提供 workbook、workflow 或 ad-hoc action 文本 (Workflow Language)。
Code Sources¶
Code source 是一种实体类型,用于保存有关可执行模块的信息。目前,它主要设计为表示 Python 模块,并且这是它目前的主要用途。但是,将来也可以用于其他语言。
Code sources 现在用作动态 action 机制的一部分。正常的流程是首先上传一个 code source(即,一个常规的 Python 文件),然后使用 POST /v2/dynamic-actions 创建一个或多个动态 action,并指定 action 的名称、在源代码中声明的类名以及对源代码本身的引用。
- type CodeSource¶
CodeSource 资源。
数据示例
- Json
{ "actions": [ "action1", "action2", "action3" ], "content": "content of file", "created_at": "1970-01-01T00:00:00.000000", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "module", "namespace": "", "project_id": "a7eb669e9819420ea4bd1453e672c0a7", "scope": "private", "updated_at": "1970-01-01T00:00:00.000000", "version": 1 }
- type CodeSources¶
CodeSources 的集合。
数据示例
- Json
{ "code_sources": [ { "actions": [ "action1", "action2", "action3" ], "content": "content of file", "created_at": "1970-01-01T00:00:00.000000", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "module", "namespace": "", "project_id": "a7eb669e9819420ea4bd1453e672c0a7", "scope": "private", "updated_at": "1970-01-01T00:00:00.000000", "version": 1 } ], "next": "https://:8989/v2/code_sources?sort_keys=id,name&sort_dirs=asc,desc&limit=10&marker=123e4567-e89b-12d3-a456-426655440000" }
- next¶
- 类型:
str
一个链接,用于检索资源列表的下一个子集
- GET /v2/code-sources¶
返回 Code Sources 列表。
- 参数:
marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于对结果进行排序的列。默认值:created_at。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:asc。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果提供了,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
str) – 可选。仅保留具有特定名称的资源。namespace (
str) – 可选。仅保留具有特定命名空间的资源tags (
str) – 可选。仅保留包含特定标签的资源。scope (
Enum(private, public)) – 可选。仅保留具有特定作用域的资源。project_id (
uuid) – 可选。与请求者的 project_id 相同,或者如果作用域是公共作用域则不同。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。all_projects (
bool) – 可选。获取所有项目的资源。
- 返回类型:
- GET /v2/code-sources¶
返回一个 code source。
- 参数:
identifier (
str) – 要检索的 code source 的名称或 UUID。namespace (
str) – 可选。要检索的 code source 的命名空间。
- 返回类型:
- POST /v2/code-sources¶
创建新的 code sources。
- 参数:
name – Code source 名称(即模块的名称)。
scope – 可选。作用域(私有或公共)。
namespace – 可选。创建 code sources 的命名空间。
- PUT /v2/code-sources¶
更新 code source。
- 参数:
identifier – 标识符(名称或 ID) of the code source。
scope – code source 的作用域(私有或公共)。
namespace – 可选。code source 的命名空间。
- DELETE /v2/code-sources¶
删除一个 code source。
- 参数:
identifier (
str) – 要删除的 Code Source 的名称或 ID。namespace (
str) – 可选。要删除的 Code Source 的命名空间。
Dynamic Actions¶
Dynamic action 是一种可以通过 API 创建的 action 类型,而无需像其他情况那样重新启动 Mistral。
在添加 dynamic action 之前,客户端首先需要上传一个 code source(即,一个 Python 模块),其中包含实现该 action 的相应 Python 类,然后使用方法 POST /v2/dynamic-actions 创建该 action,其中必须指定 action 的名称、在 code source 代码中声明的类名以及对 code source 本身的引用。
- type DynamicAction¶
DynamicAction 资源。
数据示例
- Json
{ "class_name": "className", "code_source_id": "233e4567-354b-12d3-4444-426655444444", "code_source_name": "my_sample_module", "created_at": "1970-01-01T00:00:00.000000", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "actionName", "namespace": "", "project_id": "a7eb669e9819420ea4bd1453e672c0a7", "scope": "private", "updated_at": "1970-01-01T00:00:00.000000" }
- type DynamicActions¶
DynamicActions 的集合。
数据示例
- Json
{ "dynamic_actions": [ { "class_name": "className", "code_source_id": "233e4567-354b-12d3-4444-426655444444", "code_source_name": "my_sample_module", "created_at": "1970-01-01T00:00:00.000000", "id": "123e4567-e89b-12d3-a456-426655440000", "name": "actionName", "namespace": "", "project_id": "a7eb669e9819420ea4bd1453e672c0a7", "scope": "private", "updated_at": "1970-01-01T00:00:00.000000" } ], "next": "https://:8989/v2/dynamic_actions?sort_keys=id,name&sort_dirs=asc,desc&limit=10&marker=123e4567-e89b-12d3-a456-426655440000" }
- next¶
- 类型:
str
一个链接,用于检索资源列表的下一个子集
- GET /v2/dynamic-actions¶
返回 Actions 列表。
- 参数:
marker (
uuid) – 可选。用于大型数据集的分页标记。limit (
int) – 可选。每次结果中返回的最大资源数量。默认值为 None,以保持向后兼容性。sort_keys (
uniquelist) – 可选。用于对结果进行排序的列。默认值:created_at。sort_dirs (
list) – 可选。对应于 sort_keys 的排序方向,可以选择“asc”或“desc”。默认值:asc。fields (
uniquelist) – 可选。要返回的资源的指定字段列表。如果提供了,‘id’ 将自动包含在字段中,因为它将在构造 ‘next’ 链接时使用。name (
str) – 可选。仅保留具有特定名称的资源。namespace (
str) – 可选。仅保留具有特定命名空间的资源input – 可选。仅保留具有特定输入的资源。
definition – 可选。仅保留具有特定定义的资源。
tags (
str) – 可选。仅保留包含特定标签的资源。scope (
Enum(private, public)) – 可选。仅保留具有特定作用域的资源。project_id (
uuid) – 可选。与请求者的 project_id 相同,或者如果作用域是公共作用域则不同。created_at (
str) – 可选。仅保留在特定时间和日期创建的资源。updated_at (
str) – 可选。仅保留具有特定最新更新时间和日期的资源。all_projects (
bool) – 可选。获取所有项目的资源。
- 返回类型:
- GET /v2/dynamic-actions¶
返回指定的 action。
- 参数:
identifier (
str) – 要检索的 action 的名称或 UUID。namespace (
str) – 可选。要检索的 action 的命名空间。
- 返回类型:
- POST /v2/dynamic-actions¶
创建新的 dynamic action。
- 参数:
dyn_action (
DynamicAction) – 要创建的 Dynamic action。
- 返回类型:
- PUT /v2/dynamic-actions¶
更新 dynamic action。
- 参数:
dyn_action (
DynamicAction) – 要创建的 Dynamic action。
- 返回类型:
- DELETE /v2/dynamic-actions¶
删除一个 dynamic action。
- 参数:
identifier (
str) – 要删除的 action 的名称或 ID。namespace (
str) – 可选。要删除的 action 的命名空间。