Skip to main content

Update a checklist

Update a Check List you own. Send only the fields you want to change. Omitted fields keep their current values. The merged document is then re-validated, so name must still be present after the merge.

Saving changes does not run lookups and does not spend credits. In Smart-Agent, countries are locked after create — this API still accepts a new countries array if you send one.

Endpoint

PUT https://api.verifik.co/v2/check-lists/{id}

Returns the updated list. Use this when the user adds or removes services (featureCodes), changes the name, or sets status. Invalid ids and other clients' lists return 404.

Headers

NameValue
Content-Typeapplication/json
AuthorizationBearer <token>

The token must be a client JWT. A token without clientId returns 403.

Parameters

NameTypeRequiredDescription
idstringYesCheck List ObjectId from create or list.

Body

All fields are optional on the request. After merge, name is still required.

NameTypeRequiredDescription
namestringNoDisplay name. Trimmed, 1–150 characters.
countriesstring[]NoCountry names. Replaces the stored list when sent.
domainsstring[]Nopeople, vehicles, and/or businesses. Replaces the stored list when sent.
featureCodesstring[]NoAppFeature code values. Replaces the stored list when sent.
statusstringNodraft or active. Organizer label only.

Unknown featureCodes fail. A service whose country does not match the merged countries fails unless that service is worldwide or countries is empty.

Request

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();

Response

{
"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"
}
}

Notes

  • Omitted fields keep current values. Sending featureCodes replaces the whole array — it is not a patch-merge of codes.
  • After merge, Joi still requires name. Clearing the name fails with ValidationError.
  • Unknown featureCodes return 409 (check_list_invalid_feature).
  • A feature whose country is outside the merged countries returns 409 (check_list_feature_country_mismatch) unless the feature is worldwide or countries is empty.
  • Updates do not spend credits. Running a saved code is a catalog call. SmartBatch is a separate product.
  • Product walkthrough: Check List.