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.