Delete a checklist
Delete a Check List you own. The API returns the deleted document in { data }. An invalid ObjectId, a missing list, or a list owned by another client returns 404.
Delete does not run lookups and does not spend credits. Catalog history and SmartBatch jobs that used the same feature codes are not removed.
Endpoint
DELETE https://api.verifik.co/v2/check-lists/{id}
Removes the list from the client's collection and returns the document that was deleted. After this call, GET / PUT / DELETE on the same id return 404.
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
The token must be a client JWT. A token without clientId returns 403.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Check List ObjectId from create or list. |
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: "DELETE",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
});
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, "DELETE");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer " . getenv("VERIFIK_TOKEN")
]);
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')}"
}
r = requests.delete(url, headers=headers)
print(r.json())
package main
import (
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
id := "6aa224c87034a338385c28c0"
req, _ := http.NewRequest("DELETE", "https://api.verifik.co/v2/check-lists/"+id, nil)
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
{
"data": {
"_id": "6aa224c87034a338385c28c0",
"client": "507f1f77bcf86cd799439013",
"name": "KYC Colombia",
"countries": ["Colombia", "Chile"],
"domains": ["people"],
"featureCodes": ["co-cedula"],
"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"
}
Notes
- The
200body is the deleted document, not an empty object. - Invalid ObjectIds and lists from other clients both return
404(check_list_not_found). - Delete does not spend credits and does not cancel catalog or SmartBatch work.
- There is no execute-checklist endpoint. See Check List and SmartBatch.