更新清单
更新你拥有的 Check List。只发送要更改的字段。未发送的字段保持原值。合并后的文档会重新校验,因此合并后 name 仍必须存在。
保存更改不会执行查询,也不会消耗积分。在 Smart-Agent 中,创建后国家会被锁定 — 此 API 仍接受你发送的新 countries 数组。
Endpoint
PUT https://api.verifik.co/v2/check-lists/{id}
返回更新后的列表。当用户添加或移除服务(featureCodes)、更改名称或设置 status 时使用此接口。无效的 id 和其他客户的列表返回 404。
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
令牌必须是客户 JWT。没有 clientId 的令牌返回 403。
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | 创建或列表接口返回的 Check List ObjectId。 |
Body
请求中所有字段都是可选的。合并后,name 仍为必填。
| Name | Type | Required | Description |
|---|---|---|---|
name | string | No | 显示名称。去首尾空格,1–150 个字符。 |
countries | string[] | No | 国家名称。发送时会替换已存储的列表。 |
domains | string[] | No | people、vehicles 和/或 businesses。发送时会替换已存储的列表。 |
featureCodes | string[] | No | AppFeature code 值。发送时会替换已存储的列表。 |
status | string | No | draft 或 active。仅整理标签。 |
未知的 featureCodes 会失败。国家与合并后的 countries 不符的服务会失败,除非该服务是全球范围或 countries 为空。
Request
- Node.js
- PHP
- Python
- Go
const fetch = require("node-fetch");
async function run() {
const id = "6aa224c87034a338385c28c0";
const res = await fetch(`https://api.verifik.co/v2/check-lists/${id}`, {
method: "PUT",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
body: JSON.stringify({
featureCodes: ["co-cedula", "cl-rut"],
domains: ["people"],
}),
});
console.log(await res.json());
}
run();
<?php
$id = "6aa224c87034a338385c28c0";
$ch = curl_init("https://api.verifik.co/v2/check-lists/" . $id);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer " . getenv("VERIFIK_TOKEN")
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"featureCodes" => ["co-cedula", "cl-rut"],
"domains" => ["people"]
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($ch);
import os, requests
check_list_id = "6aa224c87034a338385c28c0"
url = f"https://api.verifik.co/v2/check-lists/{check_list_id}"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"
}
payload = {
"featureCodes": ["co-cedula", "cl-rut"],
"domains": ["people"],
}
r = requests.put(url, json=payload, headers=headers)
print(r.json())
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
id := "6aa224c87034a338385c28c0"
body, _ := json.Marshal(map[string]interface{}{
"featureCodes": []string{"co-cedula", "cl-rut"},
"domains": []string{"people"},
})
req, _ := http.NewRequest("PUT", "https://api.verifik.co/v2/check-lists/"+id, bytes.NewReader(body))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+os.Getenv("VERIFIK_TOKEN"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var out map[string]interface{}
json.NewDecoder(resp.Body).Decode(&out)
fmt.Println(out)
}
Response
- 200
- 403
- 404
- 409
- 409 invalid feature
- 409 country mismatch
{
"data": {
"_id": "6aa224c87034a338385c28c0",
"client": "507f1f77bcf86cd799439013",
"name": "KYC Colombia",
"countries": ["Colombia", "Chile"],
"domains": ["people"],
"featureCodes": ["co-cedula", "cl-rut"],
"status": "draft",
"createdAt": "2026-09-10T03:32:00.000Z",
"updatedAt": "2026-09-10T03:33:00.000Z"
}
}
{
"message": "Client context required",
"code": "Forbidden"
}
{
"message": "check_list_not_found",
"code": "check_list_not_found"
}
{
"message": "\"name\" is required",
"code": "ValidationError"
}
{
"message": "check_list_invalid_feature",
"code": "check_list_invalid_feature"
}
{
"message": "check_list_feature_country_mismatch",
"code": "check_list_feature_country_mismatch"
}
Notes
- 未发送的字段保持原值。发送
featureCodes会替换整个数组 — 不会对代码做补丁合并。 - 合并后,Joi 仍要求
name。清空名称会以ValidationError失败。 - 未知的
featureCodes返回409(check_list_invalid_feature)。 - 功能所属国家不在合并后的
countries中时返回409(check_list_feature_country_mismatch),除非该功能是全球范围或countries为空。 - 更新不消耗积分。执行已保存的代码是目录调用。SmartBatch 是另一套产品。
- 产品说明:Check List。