const leadId = "4ef30123-90c2-4dc0-bd28-b43eee8664ea";
const options = {
method: "POST",
headers: {
"x-api-key": "<your-api-key>",
"Content-Type": "application/json",
},
body: JSON.stringify({
items: [
{
label: "Utility bill",
fieldType: "FILE",
clientInstructions: "Please upload a recent utility bill",
},
{
label: "Annual revenue",
fieldType: "NUMBER",
config: { min: 0 },
},
],
}),
};
fetch(
`https://api-v2.getomni.ai/api/v1/leads/${leadId}/checklist-items/batch`,
options,
)
.then((response) => response.json())
.then((response) => console.log(response))
.catch((err) => console.error(err));
import requests
lead_id = "4ef30123-90c2-4dc0-bd28-b43eee8664ea"
url = f"https://api-v2.getomni.ai/api/v1/leads/{lead_id}/checklist-items/batch"
headers = {
"x-api-key": "<your-api-key>",
"Content-Type": "application/json",
}
payload = {
"items": [
{
"label": "Utility bill",
"fieldType": "FILE",
"clientInstructions": "Please upload a recent utility bill",
},
{
"label": "Annual revenue",
"fieldType": "NUMBER",
"config": {"min": 0},
},
]
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.json())
curl --request POST \
--url https://api-v2.getomni.ai/api/v1/leads/4ef30123-90c2-4dc0-bd28-b43eee8664ea/checklist-items/batch \
--header 'x-api-key: <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"items": [
{
"label": "Utility bill",
"fieldType": "FILE",
"clientInstructions": "Please upload a recent utility bill"
},
{
"label": "Annual revenue",
"fieldType": "NUMBER",
"config": { "min": 0 }
}
]
}'
{
"results": [
{
"success": true,
"checklistItem": {
"id": "9f1c4d80-4a2b-4f0e-8c2c-93a0a9c9b2a1",
"leadId": "4ef30123-90c2-4dc0-bd28-b43eee8664ea",
"code": "UTILITY_BILL",
"label": "Utility bill",
"fieldType": "FILE",
"isRequired": true,
"status": "TODO",
"agentInstructions": null,
"clientInstructions": "Please upload a recent utility bill",
"createdAt": "2026-05-04T18:21:30.123Z"
}
},
{
"success": false,
"error": "Checklist item with code \"ANNUAL_REVENUE\" already exists for this lead"
}
]
}
Leads
Batch Create Lead Checklist Items
Add multiple one-off checklist requirements to a single lead
POST
/
api
/
v1
/
leads
/
{leadId}
/
checklist-items
/
batch
const leadId = "4ef30123-90c2-4dc0-bd28-b43eee8664ea";
const options = {
method: "POST",
headers: {
"x-api-key": "<your-api-key>",
"Content-Type": "application/json",
},
body: JSON.stringify({
items: [
{
label: "Utility bill",
fieldType: "FILE",
clientInstructions: "Please upload a recent utility bill",
},
{
label: "Annual revenue",
fieldType: "NUMBER",
config: { min: 0 },
},
],
}),
};
fetch(
`https://api-v2.getomni.ai/api/v1/leads/${leadId}/checklist-items/batch`,
options,
)
.then((response) => response.json())
.then((response) => console.log(response))
.catch((err) => console.error(err));
import requests
lead_id = "4ef30123-90c2-4dc0-bd28-b43eee8664ea"
url = f"https://api-v2.getomni.ai/api/v1/leads/{lead_id}/checklist-items/batch"
headers = {
"x-api-key": "<your-api-key>",
"Content-Type": "application/json",
}
payload = {
"items": [
{
"label": "Utility bill",
"fieldType": "FILE",
"clientInstructions": "Please upload a recent utility bill",
},
{
"label": "Annual revenue",
"fieldType": "NUMBER",
"config": {"min": 0},
},
]
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.json())
curl --request POST \
--url https://api-v2.getomni.ai/api/v1/leads/4ef30123-90c2-4dc0-bd28-b43eee8664ea/checklist-items/batch \
--header 'x-api-key: <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"items": [
{
"label": "Utility bill",
"fieldType": "FILE",
"clientInstructions": "Please upload a recent utility bill"
},
{
"label": "Annual revenue",
"fieldType": "NUMBER",
"config": { "min": 0 }
}
]
}'
{
"results": [
{
"success": true,
"checklistItem": {
"id": "9f1c4d80-4a2b-4f0e-8c2c-93a0a9c9b2a1",
"leadId": "4ef30123-90c2-4dc0-bd28-b43eee8664ea",
"code": "UTILITY_BILL",
"label": "Utility bill",
"fieldType": "FILE",
"isRequired": true,
"status": "TODO",
"agentInstructions": null,
"clientInstructions": "Please upload a recent utility bill",
"createdAt": "2026-05-04T18:21:30.123Z"
}
},
{
"success": false,
"error": "Checklist item with code \"ANNUAL_REVENUE\" already exists for this lead"
}
]
}
This endpoint adds several custom checklist requirements to a specific lead. It
behaves like Create Lead Checklist Item,
but accepts an array of items.
Each item is processed independently and the response reports a per-item result,
so a problem with one item does not stop the others from being created. Items
created this way are scoped to the lead — they do not affect your template
checklists or any other lead.
Authentication
Requires thex-api-key header with a valid workspace API key.
Path Parameters
string
required
Unique identifier of the lead to add the checklist items to.
Request Body
object[]
required
Array of checklist items to create. Must contain between 1 and 25 items.
Each item has the same shape as the body of
Create Lead Checklist Item:
Show item
Show item
string
required
Label shown in the dashboard and portal. Example:
"Utility bill".enum
required
Type of data being collected. Determines the expected
config shape.- Files:
"BANK_STATEMENT","FILE","ID","TAX_RETURN" - Fields:
"ADDRESS","DATE","EIN","EMAIL","MULTI_SELECT","NUMBER","PHONE","SELECT","SSN","TEXT"
object
Type-specific configuration.
BANK_STATEMENT:{ months: number, gracePeriodDays?: number, isPersonal?: boolean }ID:{ type: "DRIVERS_LICENSE" | "PASSPORT" }MULTI_SELECT:{ options: string[] }NUMBER:{ min?: number, max?: number }SELECT:{ options: string[] }TAX_RETURN:{ years: number, isPersonal?: boolean }TEXT:{ pattern?: string }
boolean
Whether the lead must complete this item. Defaults to
true.string
Instructions for the AI agent. Use this to guide how the agent should
interpret, request, or evaluate this field.
string
Instructions shown to the lead in the portal.
string[]
Applies only to file-type fields. Natural-language rules the AI
validator checks against uploaded documents.
string
Stable identifier for the checklist item. If omitted, one is generated
from the label. Provide your own if you need to reference this item from
an external system. Must be unique per lead.
Response
The endpoint returns201 with a results array in the same order as the
submitted items. Each entry reports whether that item was created — inspect
each entry’s success field to see which ones succeeded.
object[]
Per-item outcomes, in the same order as the request
items.Show result
Show result
boolean
Whether this item was created.
object
The created lead checklist item. Present only when
success is true.
Same shape as the response of
Create Lead Checklist Item.string
Reason the item could not be created. Present only when
success is
false (for example, a duplicate code).const leadId = "4ef30123-90c2-4dc0-bd28-b43eee8664ea";
const options = {
method: "POST",
headers: {
"x-api-key": "<your-api-key>",
"Content-Type": "application/json",
},
body: JSON.stringify({
items: [
{
label: "Utility bill",
fieldType: "FILE",
clientInstructions: "Please upload a recent utility bill",
},
{
label: "Annual revenue",
fieldType: "NUMBER",
config: { min: 0 },
},
],
}),
};
fetch(
`https://api-v2.getomni.ai/api/v1/leads/${leadId}/checklist-items/batch`,
options,
)
.then((response) => response.json())
.then((response) => console.log(response))
.catch((err) => console.error(err));
import requests
lead_id = "4ef30123-90c2-4dc0-bd28-b43eee8664ea"
url = f"https://api-v2.getomni.ai/api/v1/leads/{lead_id}/checklist-items/batch"
headers = {
"x-api-key": "<your-api-key>",
"Content-Type": "application/json",
}
payload = {
"items": [
{
"label": "Utility bill",
"fieldType": "FILE",
"clientInstructions": "Please upload a recent utility bill",
},
{
"label": "Annual revenue",
"fieldType": "NUMBER",
"config": {"min": 0},
},
]
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.json())
curl --request POST \
--url https://api-v2.getomni.ai/api/v1/leads/4ef30123-90c2-4dc0-bd28-b43eee8664ea/checklist-items/batch \
--header 'x-api-key: <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"items": [
{
"label": "Utility bill",
"fieldType": "FILE",
"clientInstructions": "Please upload a recent utility bill"
},
{
"label": "Annual revenue",
"fieldType": "NUMBER",
"config": { "min": 0 }
}
]
}'
{
"results": [
{
"success": true,
"checklistItem": {
"id": "9f1c4d80-4a2b-4f0e-8c2c-93a0a9c9b2a1",
"leadId": "4ef30123-90c2-4dc0-bd28-b43eee8664ea",
"code": "UTILITY_BILL",
"label": "Utility bill",
"fieldType": "FILE",
"isRequired": true,
"status": "TODO",
"agentInstructions": null,
"clientInstructions": "Please upload a recent utility bill",
"createdAt": "2026-05-04T18:21:30.123Z"
}
},
{
"success": false,
"error": "Checklist item with code \"ANNUAL_REVENUE\" already exists for this lead"
}
]
}
⌘I