# 更新自定义字段选项

根据一个自定义字段的GUID和其选项的GUID，更新该选项的数据。要更新的字段必须是单选或者多选类型，且要更新的字段必须归属于该字段。

更新时，将`update_fields`字段中填写所有要修改的任务字段名，同时在`option`字段中填写要修改的字段的新值即可。`update_fields`支持的字段包括：

* `name`:  选项名称
* `color_index`: 选项的颜色索引值
* `is_hidden`: 是否从界面上隐藏
* `insert_before`: 将当前option放到同字段某个option之前的那个option_guid。
* `insert_after`: 将当前option放到同字段某个option之后的那个option_guid。
**注意事项**：更新选项需要自定义字段的编辑权限

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/task/v2/custom_fields/:custom_field_guid/options/:option_guid
HTTP Method | PATCH
接口频率限制 | [100 次/分钟](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用** | 查看、创建、更新、删除协作清单(task:tasklist:write)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>或<br>`user_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer u-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)
Content-Type | string | 是 | **固定值**："application/json; charset=utf-8"

### 路径参数

名称 | 类型 | 描述
---|---|---
custom_field_guid | string | 要更新的选项的自定义字段GUID<br>**示例值**："ec5ed63d-a4a9-44de-a935-7ba243471c0a"
option_guid | string | 要更新的选项的GUID<br>**示例值**："b13adf3c-cad6-4e02-8929-550c112b5633"

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
option | input_option | 否 | 要更新的option数据
name | string | 否 | 选项名称，最大50个字符<br>**示例值**："高优"
color_index | int | 否 | 颜色索引值，支持0～54中的一个数字。<br>**示例值**：10<br>**数据校验规则**：<br>- 取值范围：`0` ～ `54`
insert_before | string | 否 | 要放到某个option之前的option_guid<br>**示例值**："2bd905f8-ef38-408b-aa1f-2b2ad33b2913"
insert_after | string | 否 | 要放到某个option之后的option_guid<br>**示例值**："b13adf3c-cad6-4e02-8929-550c112b5633"
is_hidden | boolean | 否 | 是否隐藏<br>**示例值**：false<br>**默认值**：`false`
update_fields | string\[\] | 否 | 要更新的字段名，支持<br>* `name`:  选项名称<br>* `color_index`: 选项的颜色索引值<br>* `is_hidden`: 是否从界面上隐藏<br>* `insert_before`: 将当前option放到同字段某个option之前。<br>* `insert_after`: 将当前option放到同字段某个option之后。<br>**示例值**：["name"]<br>**数据校验规则**：<br>- 长度范围：`1` ～ `20`

### 请求体示例
```json
{
    "option": {
        "name": "高优",
        "color_index": 10,
        "insert_before": "2bd905f8-ef38-408b-aa1f-2b2ad33b2913",
        "insert_after": "b13adf3c-cad6-4e02-8929-550c112b5633",
        "is_hidden": false
    },
    "update_fields": [
        "name"
    ]
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
option | option | 更新后的option数据
guid | string | 选项的GUID
name | string | 选项名称，不能为空，最大50个字符
color_index | int | 选项的颜色索引值，可以是0～54中的一个数字。
is_hidden | boolean | 选项是否隐藏。隐藏后的选项在界面不可见，也不可以再通过openapi将字段值设为该选项。

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "option": {
            "guid": "4216f79b-3fda-4dc6-a0c4-a16022e47152",
            "name": "高优",
            "color_index": 1,
            "is_hidden": false
        }
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 1470400 | 请求参数错误，如提供的`update_fields`中填写不支持更新的名称。 | 根据返回的msg确定错误的实际原因。
403 | 1470403 | 调用身份缺少更新自定义分组的权限。 | 确认调用身份拥有可以编辑自定义分组的权限。
404 | 1470404 | 要更新的自定义字段或者选项不存在。 | 确认要更新的自定义字段或者选项是否存在。
500 | 1470500 | 服务器错误。 | 尝试重试调用。如持续失败，请联系支持人员进行反馈。

