Skip to main content

Lead

Stored in the leads collection. createdAt and updatedAt are maintained automatically.

Returned by GET /lead, POST /lead, GET /lead/:id, PUT /lead/:id.

Example​

One real Lead as returned by GET /lead, taken from the data array. Recorded from a live response, so the defaults, denormalised snapshots and populated fields are the actual ones:

{
"_id": "6a957378859eafb47bf227a7",
"importId": [],
"contact": {
"_id": "6a957378859eafb47bf22752",
"name": "Sara Iqbal",
"email": "sara.iqbal@fabrikam.example"
},
"contactSnapshot": {
"contact": "6a957378859eafb47bf22752",
"name": "Sara Iqbal",
"email": "sara.iqbal@fabrikam.example"
},
"productServices": [],
"productServicesSnapshot": [],
"status": "Warm",
"stage": "New",
"priority": "Low",
"company": "6a9572df859eafb47bf225d7",
"contactCreatedBy": "6a9572df859eafb47bf225d9",
"createdBy": {
"_id": "6a9572df859eafb47bf225d9",
"name": "Docs Test User",
"email": "test@test.test"
},
"createdBySnapshot": {
"member": "6a9572df859eafb47bf225d9",
"name": "Docs Test User",
"email": "test@test.test"
},
"updatedBy": {
"_id": "6a9572df859eafb47bf225d9",
"name": "Docs Test User",
"email": "test@test.test"
},
"updatedBySnapshot": {
"member": "6a9572df859eafb47bf225d9",
"name": "Docs Test User",
"email": "test@test.test"
},
"isDeleted": false,
"isRestored": false,
"seperateDeleted": false,
"aiGenerated": false,
"enrichmentCount": 0,
"importSnapshot": [],
"enquiryAt": "2026-08-31T12:28:40.294Z",
"enrichmentHistory": [],
"createdAt": "2026-08-31T12:28:40.295Z",
"updatedAt": "2026-08-31T12:28:40.295Z",
"searchText": "warm new low sara iqbal sara.iqbal@fabrikam.example docs test user test@test.test",
"__v": 0,
"team": {},
"teamMember": {}
}

:::note Trimmed for reading A populated reference is shown by the fields that identify it rather than in full — it arrives as the entire referenced document. Long arrays are cut to the first two entries and marked, long strings are truncated, and any field that could carry a credential is dropped rather than masked. :::

Fields​

FieldTypeNotes
fieldsobject[]default []
fields._idObjectId -> CustomFieldrequired
fields.valueany
customFieldsMapmapdefault {}
formIdObjectId
pageIdObjectId
leadIdstring
sourcestringone of Bulk Import, Offline, Facebook, Website, AI Generated, Instagram, Whatsapp, SMS and 5 more
sourceIdObjectId
importIdObjectId[] -> Importdefault []
importSnapshotobject[]default []
importSnapshot.importObjectId
importSnapshot.fileNamestring
contactObjectId -> Contactrequired
contactSnapshotobject
contactSnapshot.contactObjectId
contactSnapshot.namestring
contactSnapshot.emailstring
contactSnapshot.contactNumber.countryCodestring
contactSnapshot.contactNumber.numberstring
contactSnapshot.fullContactNumberstring
productServicesObjectId[] -> ProductServicedefault []
productServicesSnapshotobject[]default []
productServicesSnapshot.productServiceObjectId
productServicesSnapshot.namestring
statusstringdefault Warm · one of Hot, Warm, Cold
stagestringdefault New · one of New, Contacted, Follow-up Required, Qualified, Interested, Proposal Sent, Negotiation, Won and 3 more
prioritystringdefault Low · one of High, Medium, Low
enquiryAtdatedefault now
companyObjectId -> Company
ad_idstring
ad_namestring
adset_idstring
adset_namestring
campaignNamestring
campaignIdstring
utmUrlstring
utmCampaignIdstring
utmCampaignNamestring
utmSourcestring
utmMediumstring
utmCampaignstring
utmTermstring
utmContentstring
notesstring
searchTextstring
teamObjectId -> Team
teamSnapshotobject
teamSnapshot.teamObjectId
teamSnapshot.namestring
teamSnapshot.colorstring
teamMemberObjectId -> Member
teamMemberSnapshotobject
teamMemberSnapshot.memberObjectId
teamMemberSnapshot.namestring
teamMemberSnapshot.emailstring
contactCreatedByObjectId -> Member
createdByObjectId -> Member
createdBySnapshotobject
createdBySnapshot.memberObjectId
createdBySnapshot.namestring
createdBySnapshot.emailstring
updatedByObjectId -> Member
updatedBySnapshotobject
updatedBySnapshot.memberObjectId
updatedBySnapshot.namestring
updatedBySnapshot.emailstring
isDeletedbooleandefault false
isRestoredbooleandefault false
restoredAtdate
seperateDeletedbooleandefault false
aiGeneratedbooleandefault false
leadGeneratorConfigIdObjectId -> LeadGeneratorConfig
genieSchedulerIdObjectId -> GenieScheduler
enrichmentStatusstringone of queued, processing, completed, failed
enrichmentRequestedAtdate
enrichmentDoneAtdate
enrichmentCountnumberdefault 0
enrichmentHistoryobject[]default []
enrichmentHistory.statusstringdefault queued · one of queued, processing, completed, failed
enrichmentHistory.requestedAtdatedefault now
enrichmentHistory.startedAtdatedefault null
enrichmentHistory.doneAtdatedefault null
enrichmentHistory.contactObjectId -> Contactdefault null
enrichmentHistory.sourcestringdefault manual
enrichmentHistory.changedFieldsstring[]default []
enrichmentHistory.errorstringdefault ""
enrichmentHistory._idObjectId
enrichmentHistory.createdAtdateset once
enrichmentHistory.updatedAtdate
_idObjectId
createdAtdateset once
updatedAtdate