Skip to main content

LeadEventFilterDTO

POST /v1/open-api/lead-event/filter request body. Same page/size/orders shape as every other POST .../filter endpoint.

All filters are combined with AND. A filter that is omitted, null, or an empty array adds no condition.

pageint32

Page number, 1-based (min 1).

Possible values: >= 1

Default value: 1
Example: 1
sizeint32

Records per page (min 1, max 100).

Possible values: >= 1 and <= 100

Default value: 20
Example: 20
orders object

Sort order. Each key is a sort field (see LeadEventOrderField) and each value a direction. Keys are applied in the order they appear in the JSON object. A record isn't uniquely identified by TIMESTAMP alone (more than one record can land in the same epoch second) nor by EVENT_ID alone (a note and a task can share an underlying ID), so DATA_TYPE DESC, EVENT_ID DESC is appended as a tie-breaker after the given keys, skipping any of the two the client already supplied. Omit (or send {}) to keep the default — newest first (TIMESTAMP DESC).

property name*string

Possible values: [ASC, DESC]

dataTypesLeadEventDataType[]nullable

Restrict to these data types only. null or empty means all types.

Possible values: [LEAD_EVENT, CONTACT_EVENT, LEAD_TASK, LEAD_NOTE, LEAD_TASK_OVERDUE]

leadIdsint64[]nullable

Restrict to records belonging to these leads — matched against the record's own leadId (event.leadId, task.leadId, note.leadId), contact events included. Omit (or send an empty array) for company-wide history.

The filter is applied on top of the company-scoped timeline, so an unknown ID or one belonging to another company is not an error — it simply matches nothing.

Example: [26801,26802]
employeeIdsint32[]nullable

Restrict to records put on the timeline by these employees. Which employee that is depends on the record type:

  • LEAD_EVENT / CONTACT_EVENT — who created the event (event.createdEmployee.id)
  • LEAD_NOTE — who wrote the note (note.createdById)
  • LEAD_TASK — who closed the task (task.closedById); if it is not closed, who created it — the same rule the record's timestamp follows
Example: [1204,1317]
actionTypesActionType[]nullable

Restrict to these change types.

⚠️ A change type exists only on event-backed records, so sending this filter drops notes and LEAD_TASK_OVERDUE records from the response — the result is limited to LEAD_EVENT / CONTACT_EVENT / LEAD_TASK. Send two separate requests if you need the rest. Task actions are CREATE_TASK, TASK_COMPLETED, TASK_RESULT_ADDED, TASK_TEXT_CHANGED, DELETE_TASK.

Possible values: [CREATE_LED, CREATE_CONTACT, CREATE_TAG, REMOVE_TAG, CHANGE_STATUS, CREATE_STATUS, CHANGE_VALUE, SET_VALUE, DELETE_VALUE, CHANGE_LEAD_NAME, CHANGE_LEAD_BALANCE, CHANGE_LEAD_EMPLOYEE, SET_LEAD_EMPLOYEE, CHANGE_CONTACT_NAME, CREATE_CONTACT_EMAIL, CHANGE_CONTACT_EMAIL, SET_CONTACT_RESPONSIBLE, CHANGE_CONTACT_RESPONSIBLE, REMOVE_CONTACT_PHONE, CREATE_CONTACT_PHONE, CREATE_REASONS_FOR_REFUSAL, CHANGE_REASONS_FOR_REFUSAL, REMOVE_CONTACT, RESTORE_CONTACT, DELETE_LEAD, RECOVERY_LEAD, LEAD_MERGE, ATTACH_LEAD_TO_CLIENT, REMOVE_CLIENT_FROM_LEAD, CREATE_TASK, TASK_COMPLETED, TASK_RESULT_ADDED, TASK_TEXT_CHANGED, DELETE_TASK, CALL_BROJECT, ATTACH_FLAT, CALL_EVALUATED, CALL_EVALUATE_DELETED, META_CONVERSION, ATTACH_LEAD_TO_CONTRACT, REMOVE_LEAD_FROM_CONTRACT, REMOVE_CONTACT_RESPONSIBLE, UNLINK_CONTACT_FROM_LEAD, LINK_CONTACT_TO_LEAD, COPY_LEAD, COPY_LEAD_FROM]

eventTimestampFromint64nullable

Lower bound of the record's position on the time axis (timestamp), epoch seconds, inclusive.

Example: 1735689600
eventTimestampToint64nullable

Upper bound of the record's position on the time axis (timestamp), epoch seconds, inclusive.

Example: 1738367999
LeadEventFilterDTO
{
"page": 1,
"size": 20,
"orders": {
"TIMESTAMP": "DESC"
},
"dataTypes": [
"LEAD_EVENT"
],
"leadIds": [
26801,
26802
],
"employeeIds": [
1204,
1317
],
"actionTypes": [
"CHANGE_STATUS"
],
"eventTimestampFrom": 1735689600,
"eventTimestampTo": 1738367999
}