# 更新运行策略

```{raw} html
<div class="mo-api-page-show-toc" aria-hidden="true"></div>
```

部分更新运行策略配置。每次成功更新都会递增策略版本，仅影响后续准入的运行。

```text
PATCH https://api.moi.matrixorigin.cn/v5/workspaces/{workspace_id}/runtime-policy-profiles/{policy_id}
```

## 调用前准备

先[查询运行策略详情](get-runtime-policy-profile.md)，确认要更新的策略。准备有目标工作区访问权限的个人访问令牌、目标工作区 ID 和策略 ID。

## 请求示例

示例中的凭据和资源标识需替换为当前调用者的实际值。

```bash
curl -X PATCH "https://api.moi.matrixorigin.cn/v5/workspaces/$WORKSPACE_ID/runtime-policy-profiles/$POLICY_ID" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
  "budgets": {
    "max_steps": 30
  },
  "retry": {
    "max_attempts": 2
  }
}'
```

## 路径参数

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `workspace_id` | string | 是 | 当前工作区 ID。 |
| `policy_id` | string | 是 | 运行策略 ID。 |

## 请求体

| 字段 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `name` | string 或 null | 否 | 策略名称和说明。 |
| `description` | string 或 null | 否 | 策略名称和说明。 |
| `status` | string 或 null | 否 | 策略状态和作用域。 |
| `scope_type` | string 或 null | 否 | 策略状态和作用域。 |
| `scope_ref` | string 或 null | 非 workspace 时 | 非 workspace 作用域时必填，提供非空引用。 |
| `admission` | object 或 null | 否 | 准入、预算和重试配置。 |
| `budgets` | object 或 null | 否 | 准入、预算和重试配置。 |
| `retry` | object 或 null | 否 | 准入、预算和重试配置。 |
| `data_policy` | object 或 null | 否 | 数据、产物和提供商约束。 |
| `artifact_policy` | object 或 null | 否 | 数据、产物和提供商约束。 |
| `provider_constraints` | object 或 null | 否 | 数据、产物和提供商约束。 |
| `labels` | object 或 null | 否 | 附加标签、注解和元数据。 |
| `annotations` | object 或 null | 否 | 附加标签、注解和元数据。 |
| `metadata` | object 或 null | 否 | 附加标签、注解和元数据。 |

labels 和 annotations 是字符串映射，值仅接受字符串或 null；其他配置对象保留合法 JSON 扩展。创建时不接受配置对象的根 null；更新时省略或根 null 保留原值，{} 将该对象整体替换为空对象。空更新也会增加版本，本接口没有旧版本比较参数。

## 成功响应

请求成功时返回 HTTP 200，响应如下。

```json
{
  "code": 0,
  "data": {
    "id": "policy_01",
    "workspace_id": "",
    "name": "默认运行限制",
    "status": "active",
    "scope_type": "workspace",
    "budgets": {
      "max_steps": 30
    },
    "retry": {
      "max_attempts": 2
    },
    "version": 2,
    "created_at": "2026-08-21T07:00:00Z",
    "updated_at": "2026-08-21T07:00:00Z"
  }
}
```

响应字段如下。

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `data.id` | string | 运行策略 ID。 |
| `data.workspace_id` | string | 所属工作区ID。 |
| `data.name` | string | 更新后的策略名称、状态和作用域类型。 |
| `data.description` | string | 说明。 无值时可省略。 |
| `data.status` | string | 更新后的策略名称、状态和作用域类型；取值：`draft`、`active`、`disabled`、`archived`。 |
| `data.scope_type` | string | 更新后的策略名称、状态和作用域类型；取值：`workspace`、`role`、`agent`、`provider_profile`。 |
| `data.scope_ref` | string | 作用域对象引用。 无值时可省略。 |
| `data.admission` | object | 准入配置。 无值时可省略。 |
| `data.budgets` | object | 更新后的预算和重试配置；仅在有值时返回。 无值时可省略。 |
| `data.retry` | object | 更新后的预算和重试配置；仅在有值时返回。 无值时可省略。 |
| `data.data_policy` | object | 数据策略。 无值时可省略。 |
| `data.artifact_policy` | object | 产物策略。 无值时可省略。 |
| `data.provider_constraints` | object | 提供方约束。 无值时可省略。 |
| `data.version` | integer | 更新后的策略版本。 |
| `data.labels` | object | 标签映射。 无值时可省略。 |
| `data.annotations` | object | 注释映射。 无值时可省略。 |
| `data.metadata` | object | 扩展元数据。 无值时可省略。 |
| `data.created_by` | string | 创建者。 无值时可省略。 |
| `data.updated_by` | string | 最近更新者。 无值时可省略。 |
| `data.created_at` | string | 创建时间；RFC 3339 时间。 |
| `data.updated_at` | string | 更新时间；RFC 3339 时间。 |

## 错误响应

:::::::{div} mo-api-tabs mo-api-response-tabs
::::::{tab-set}
:::::{tab-item} 响应示例

```json
{
  "code": 2,
  "message": "运行策略参数无效"
}
```

:::::
:::::{tab-item} 字段说明

::::{tab-set}
:::{tab-item} 通用字段

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `code` | integer | 错误代码。 |
| `message` | string | 面向调用者的错误信息。 |

:::
::::

:::::
::::::
:::::::

## 后续操作

使用[查询运行策略详情](get-runtime-policy-profile.md)确认当前字段与版本。
