Conversation Summary - Interval Aggregation Bug?

Three coffees. The GET /api/v2/analytics/conversations/summary endpoint is…off. Again. We’re on Zoom Contact Center, pulling data for daily call summaries. Seems simple enough, right?

The problem is with the interval parameter. When querying a full day (e.g., 2024-01-26), and specifying an interval of daily, the total_calls metric is consistently lower than the actual count in the Zoom Contact Center reporting. It’s not a huge difference - roughly 2-3 percent - but it’s enough to break downstream dashboards.

Here’s the Python snippet I’m using:

import requests
import datetime

def get_daily_summary(date_str, api_token):
 url = f"https://api.zoom.us/api/v2/analytics/conversations/summary?interval=daily&date={date_str}"
 headers = {"Authorization": f"Bearer {api_token}"}
 response = requests.get(url, headers=headers)
 return response.json()

date = "2024-01-26"
token = "YOUR_API_TOKEN" # obviously
result = get_daily_summary(date, token)
print(result)

The expected total_calls value, based on the Zoom Contact Center reports, is 1478. The API returns 1442. Every. Single. Day.

I’ve tried different date formats - YYYY-MM-DD, MM/DD/YYYY - nothing changes. I checked the documentation again. It mentions that the interval parameter accepts daily, weekly, monthly. No caveats about potential discrepancies when querying a full day with a daily interval.

Is it a rounding error somewhere? Or is the API aggregating the interval data incorrectly? Seems like it should just sum up the hourly/minute-level data and return the total. Is anyone else noticing this? Or am I just chasing ghosts?