# 更新文档信息接口文档
## 一、接口概述
`/api/knowledge/doc/update_meta`接口用于更新文档的meta信息，且文档meta信息更新会自动触发索引中的数据更新。

## 二、前提条件
完成“签名鉴权方式”页面的注册账号、实名认证、AK/SK密钥获取和签名获取后，方可调用该API接口实现文档信息更新功能。

## 三、请求接口
|参数|详情|描述|
|---|---|---|
|URI|`/api/knowledge/doc/update_meta`|统一资源标识符|
|请求方法|POST|客户端对向量数据库服务器请求的操作类型|
|请求头|`Content-Type: application/json`<br>`Authorization: HMAC-SHA256 ***`|请求消息类型<br>鉴权|

## 四、请求参数
|参数|子参数|类型|是否必选|默认值|参数说明|
|---|---|---|---|---|---|
|collection_name|--|string|否|--|知识库名称，由英文字母、数字、下划线组成，以英文字母开头，不能为空，长度在1 - 64之间|
|project|--|string|否|default|知识库所属项目，在【访问控制】-【资源管理】-【项目】中创建|
|resource_id|--|string|否|--|知识库唯一id，可单独传该参数，或同时传name和project作为唯一标识|
|doc_id|--|string|是|--|知识库下待更新文档的id|
|meta|--|array/json字符串|否|--|meta信息，当`add_type`为`url`时该字段有效，其他情况无效|
|meta|field_name|string|否|--|字段名，不能为“doc_id”，由英文字母、数字、下划线组成，以英文字母开头，长度不超128，存在于collection的fields中的字段可用于检索筛选，否则仅用于展示，且类型需一致|
|meta|field_type|string|否|--|字段类型，支持"int64"、"float32"、"string"、"bool"、"list<string>"，限制参考VikingDB的field_type规则|
|meta|field_value|与field_type指定类型一致|否|--|字段值|

## 五、响应消息
|参数|参数说明|
|---|---|
|code|状态码|
|message|返回信息|
|request_id|标识每个请求的唯一标识符|

## 六、状态码说明
|状态码|http状态码|返回信息|状态码说明|
|---|---|---|---|
|0|200|success|成功|
|1000001|401|unauthorized|鉴权失败|
|1000002|403|no permission|权限不足|
|1000003|400|invalid request：%s|非法参数|
|1000005|400|collection not exist|collection不存在|
|1001001|400|doc not exist|doc不存在|

## 七、完整示例
### （一）请求消息
```bash
curl -i -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: HMAC-SHA256 ***' \
  https://api-knowledgebase.mlp.cn-beijing.volces.com/api/knowledge/doc/update_meta \
  -d '{
    "collection_name": "test_collection_name",
    "project": "",
    "doc_id": "test123",
    "meta":[
    {"field_name":"行业","field_type":"string", "field_value":"企业服务"},
    {"field_name":"是否公开","field_type":"bool", "field_value":true}
    ]
}'
```

### （二）响应消息
1. **执行成功返回**
```json
HTTP/1.1 200 OK
Content-Length: 43
Content-Type: application/json
{"code":0,"message":"success","request_id":"021695029537650fd001de666660000000000000000000230da93"}
```
2. **执行失败返回**
```json
HTTP/1.1 400 OK
Content-Length: 43
Content-Type: application/json
{"code":1000003, "message":"invalid request：%s", "request_id": "021695029757920fd001de6666600000000000000000002569b8f"}
``` 