List contact summaries (v2)
Query a time window and get a page of contacts in the v2 data model, with account, contact, agent, WebRTC session, headset, and billing objects.
Endpoint
Parameters
Query
All parameters are optional. With none, you get the 100 most recent contacts.How filters apply
- Time window.
fromTimeandtoTimematch the contact summary’stimestamp, the time Operata recorded the contact. - Ranges. Each range filter takes both ends, as whole numbers. Both ends are inclusive, the upper end must be at least 1, and the lower end can’t exceed it. For example,
mosFrom=3&mosTo=4matches an average MOS from 3.0 to 4.0. - Text filters.
agent,networkType,agentCity,contactId,contactIds, andtagsuse an OpenSearch phrase match on the stored value. - Contact IDs. Only summaries with a contact ID come back.
- Sort. Without
sortColumn, results are newest first bytimestamp.
400 when a parameter is unknown, sent more than once (other than contactIds and tags), not a whole number where one is needed, out of range, or missing its pair. The response body names the parameter. Empty values, such as contactId=, count as not sent.
Response
200 OK with a JSON array of contacts. The array is empty when nothing matches.
The RecordCount response header holds the total number of matching contacts, not just this page. OpenSearch counts up to 10,000, so larger totals report 10000.
accountProperties, contact, serviceAgent, webRTCSession, and billing are always present. Inside them, most fields without a stored value come back as an empty string, 0, or false. These are omitted instead: every accountProperties field; contact.callerId, systemEndpoint, queueName, durationSec, type, direction, initiation, recordingUrl, events, endedBy, and disconnectReason; serviceAgent.friendlyName, serviceId, and machine; and webRTCSession.signallingEndpoint, eventTimer, eventFailure, and usedDevices. serviceAgent.browser comes back as null when not recorded.
The list never includes insights. Get a contact summary (v2) returns it for one contact.
Example
Fetch the contacts from a 48-hour window, 50 at a time.Errors
Error bodies are plain text.Related
- Get a contact summary (v2): the v2 summary for one contact, including insights.
- Get detailed contact stats (v2): per-second metrics for one contact.
- List contact summaries: the same query in the v1 format.
- Versioning: how v1 and v2 differ.
Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Query Parameters
Start of the time window, inclusive. RFC 3339 timestamp such as 2026-10-11T18:30:00Z, or OpenSearch date math such as now-1d. Send with toTime.
End of the time window, inclusive. Same formats as fromTime. When both are timestamps, toTime must be after fromTime.
Time zone OpenSearch applies to the window, for example Australia/Sydney or +10:00. Used only with fromTime and toTime.
Number of contacts to return. At least 1. Default 100.
x >= 1Number of contacts to skip, for paging. Default 0.
x >= 0Return only the contact with this contact ID.
Return contacts matching any of these contact IDs. Repeat the parameter for each ID.
Agent username to match.
Network type to match, for example wlan or ethernet.
Agent city to match.
Return contacts with any of these tags. Repeat the parameter for each tag.
Lower bound on average MOS, inclusive. Whole numbers only. Send with mosTo.
x >= 0Upper bound on average MOS, inclusive. At least 1. Send with mosFrom.
x >= 1Lower bound on average jitter in milliseconds, inclusive. Send with jitterTo.
x >= 0Upper bound on average jitter in milliseconds, inclusive. At least 1. Send with jitterFrom.
x >= 1Lower bound on average round-trip time in milliseconds, inclusive. Send with rttTo.
x >= 0Upper bound on average round-trip time in milliseconds, inclusive. At least 1. Send with rttFrom.
x >= 1Lower bound on the contact's total packets-lost fraction, inclusive. Alias of packetsLostFractionFrom. Send with packetsLostTo.
x >= 0Upper bound on the contact's total packets-lost fraction, inclusive. At least 1. Alias of packetsLostFractionTo. Send with packetsLostFrom.
x >= 1Lower bound on contact duration in seconds, inclusive. Send with durationSecondsTo.
x >= 0Upper bound on contact duration in seconds, inclusive. At least 1. Send with durationSecondsFrom.
x >= 1Field to sort by. Send with sortDirection. Default sort is timestamp, newest first.
timestamp, agent, networkType, agentIPAddress, mos, contactId, agentExternalIPAddress, agentISP, agentCity, jitter, rtt, packetsLostFraction, duration asc or desc. Send with sortColumn.
asc, desc Alternative to the parameters above: a URL-encoded JSON object with the same fields. When present, every other query parameter is ignored and not validated.