Criar uma checklist
Crie uma Check List no cliente autenticado. name é obrigatório. Países, domínios e códigos de feature são opcionais na criação — você pode adicionar serviços depois com Atualizar uma checklist.
Guardar a lista não executa consultas e não gasta créditos. No Smart-Agent, criar leva você de volta ao painel; esta API devolve o documento novo de imediato.
Endpoint
POST https://api.verifik.co/v2/check-lists
Cria uma lista do cliente do JWT. O objeto data da resposta inclui _id — guarde-o para as chamadas GET, PUT e DELETE posteriores. O status padrão é draft.
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
O token deve ser um JWT de cliente. Um token sem clientId devolve 403.
Body
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Nome visível. Recortado, 1–150 caracteres. |
countries | string[] | No | Nomes dos países onde você opera (por exemplo Colombia). Duplicados são removidos. Padrão []. |
domains | string[] | No | Abas opcionais: people, vehicles, businesses. Padrão []. |
featureCodes | string[] | No | Valores code de AppFeature a guardar na lista. Padrão []. |
status | string | No | draft (padrão) ou active. Só rótulo de organização — as duas funcionam igual. |
featureCodes desconhecidos falham. Um serviço cujo país não coincide com countries falha, salvo se o serviço for mundial ou countries estiver vazio.
Request
- Node.js
- PHP
- Python
- Go
const fetch = require("node-fetch");
async function run() {
const res = await fetch("https://api.verifik.co/v2/check-lists", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
body: JSON.stringify({
name: "KYC Colombia",
countries: ["Colombia"],
domains: [],
featureCodes: [],
status: "draft",
}),
});
console.log(await res.json());
}
run();
<?php
$ch = curl_init("https://api.verifik.co/v2/check-lists");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer " . getenv("VERIFIK_TOKEN")
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"name" => "KYC Colombia",
"countries" => ["Colombia"],
"domains" => [],
"featureCodes" => [],
"status" => "draft"
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($ch);
import os, requests
url = "https://api.verifik.co/v2/check-lists"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"
}
payload = {
"name": "KYC Colombia",
"countries": ["Colombia"],
"domains": [],
"featureCodes": [],
"status": "draft",
}
r = requests.post(url, json=payload, headers=headers)
print(r.json())
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
body, _ := json.Marshal(map[string]interface{}{
"name": "KYC Colombia",
"countries": []string{"Colombia"},
"domains": []string{},
"featureCodes": []string{},
"status": "draft",
})
req, _ := http.NewRequest("POST", "https://api.verifik.co/v2/check-lists", 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
- 409
- 409 invalid feature
- 409 country mismatch
{
"data": {
"_id": "6aa224c87034a338385c28c0",
"client": "507f1f77bcf86cd799439013",
"name": "KYC Colombia",
"countries": ["Colombia"],
"domains": [],
"featureCodes": [],
"status": "draft",
"createdAt": "2026-09-10T03:32:00.000Z",
"updatedAt": "2026-09-10T03:32:00.000Z"
}
}
{
"message": "Client context required",
"code": "Forbidden"
}
{
"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
nameé o único campo obrigatório. Você pode criar uma lista vazia e adicionarfeatureCodesdepois.- Os países são guardados como você os envia (por exemplo
Colombia). Não são códigos ISO. statusnão altera o comportamento do servidor. Listas em rascunho e ativas funcionam igual.- Valores de
domainsdesconhecidos falham na validação. Valores permitidos:people,vehicles,businesses. - Criar uma lista não gasta créditos. Executar um serviço guardado é uma chamada normal ao catálogo.
- Não existe um endpoint para executar a checklist. Veja Check List e SmartBatch.