Data Export API – Filters and Query Examples #
This page provides an overview of the filters available in the Data Export API, including supported operators and example queries.
Available Filters #
| Filter Name | Description | Options | Example Query Snippet |
|---|---|---|---|
| dateFilter | Filters records by a specific date range or relative time span. | isSpecific, fromDate, toDate, relativeTimeSpan, relativePeriodType (DAYS, WEEKS, MONTHS) |
dateTimeFilter: {
dateFilter: {
isSpecific: true,
fromDate: "03-05-2025",
toDate: "03-13-2025"
},
timeFilter: {
isInterval: false,
startTime: "00:00",
endTime: "23:59"
}
}
|
| timeFilter | Filters by time of day for calls. | isInterval (true/false), startTime, endTime |
dateTimeFilter: {
dateFilter: {
isSpecific: true,
fromDate: "03-13-2025",
toDate: "03-13-2025"
},
timeFilter: {
isInterval: true,
startTime: "08:00",
endTime: "17:00"
}
}
|
| callTypeFilter | Filters by call type (e.g., inbound, local, long distance). | callTypes (ALL, LOCAL, LONG_DISTANCE, INBOUND, INTERNATIONAL, INFO_ASSIST, INTERNAL, USER_DEFINED_1, USER_DEFINED_2, USER_DEFINED_3, USER_DEFINED_4) |
callTypeFilter: {
callTypes: [INBOUND, LOCAL]
}
|
| extensionsFilter | Filters by extension number. | querySpecificValue (true/false), operator (EQUALS, LESS_THAN_EQUAL_TO, MORE_THAN_EQUAL_TO, INCLUDES, DOESNOT_INCLUDE) |
extensionsFilter: {
querySpecificValue: true,
operator: LESS_THAN_EQUAL_TO,
value: "200"
}
|
| phoneNumberFilter | Filters by specific phone numbers. | querySpecificValue (true/false), operator (LIKE, INCLUDES, DOESNOT_INCLUDE) |
phoneNumberFilter: {
querySpecificValue: true,
operator: LIKE,
value: "312%"
}
|
| ownerNameFilter | Filters by the owner of the call (e.g., employee, department). | operator (LIKE, INCLUDES, DOESNOT_INCLUDE), value |
ownerNameFilter: {
operator: LIKE,
value: "John%"
}
|
| dataSourceNameFilter | Filters by the source of the call data. | operator (LIKE, INCLUDES, DOESNOT_INCLUDE), value |
dataSourceNameFilter: {
operator: LIKE,
value: "Cisco%"
}
|
| dataSourceNumberFilter | Filters by data source number. | operator (INCLUDES, DOESNOT_INCLUDE), value |
dataSourceNumberFilter: {
operator: DOESNOT_INCLUDE,
value: "1; 2; 3"
}
|
| uniqueIdFilter | Filters by unique call identifiers. | operator (INCLUDES, EQUALS), value |
uniqueIdFilter: {
operator: INCLUDES,
value: "1000-1999"
}
|
| destinationFilter | Filters calls based on the destination number. | operator (LIKE, INCLUDES, DOESNOT_INCLUDE), value |
destinationFilter: {
operator: LIKE,
value: "555%"
}
|
Example Full Query Using Multiple Filters #
This example retrieves inbound and local calls from March 5-13, 2025, between 8 AM and 5 PM, where the caller ID starts with “312”.
query {
getProcessedRecords(
pageLimit: 10,
nextPageToken: "",
filters: {
dateTimeFilter: {
dateFilter: {
isSpecific: true,
fromDate: "03-05-2025",
toDate: "03-13-2025"
}
},
timeFilter: {
isInterval: true,
startTime: "08:00",
endTime: "17:00"
},
callTypeFilter: {
callTypes: [INBOUND, LOCAL]
},
phoneNumberFilter: {
querySpecificValue: true,
operator: LIKE,
value: "312%"
}
}
) {
count
nextPageToken
processedRecords {
uniqueId
callerID
callType
duration
date
time
}
}
}
Notes on Using Filters
- Multiple filters can be combined in a single request.
- Ensure correct formatting for
dates (MM-DD-YYYY)andtimes (HH:MM). - The operator must match the filter type (e.g.,
LIKEis valid forphoneNumberFilter, but not fordateTimeFilter). - Filters using
querySpecificValue: falsewill return all available values unless an explicit filter is set.