Incorrect Participant API Attendance Data After meeting_ended Webhook External Inbox

We’ve run into an issue with the Zoom Participants API.

Our current workflow is:

  1. We receive the meeting_ended webhook.
  2. Immediately after receiving that webhook, we call the Participants API to collect attendance information for the meeting.
  3. We save the participant records, including join time, leave time, and duration.

We’ve noticed that, for at least some participants, the data returned immediately after the meeting_ended webhook appears to be incomplete or not yet finalized.

For example, on 2026-06-01, immediately after the meeting ended, the Participants API returned the following for one attendee:

{
    "user_id": "12345678",
    "name": "REDACTED",
    "join_time": "2026-06-01T14:30:54Z",
    "leave_time": "2026-06-01T14:30:54Z",
    "duration": 0,
    "status": "in_meeting"
}

However, querying the exact same participant record later returned:

{
    "user_id": "12345678",
    "name": "REDACTED",
    "join_time": "2026-06-01T14:30:54Z",
    "leave_time": "2026-06-01T15:40:51Z",
    "duration": 4197,
    "status": "in_meeting"
}

The participant’s attendance data appears to have been corrected later without any action on our side.

Could you help us determine whether this is expected behavior or an issue?

Specifically, we’d like to understand:

  • Is it expected that the Participants API may return incomplete attendance information immediately after the meeting_ended webhook?
  • Is there an asynchronous processing step on Zoom’s side that finalizes participant leave times and durations after the meeting has ended?
  • Is there a recommended delay before querying the Participants API for final attendance data?
  • Is there another webhook or API that indicates participant attendance data has been fully finalized?
  • Was there any Zoom-side issue around this meeting or timeframe that could explain the incorrect initial participant data?

Our application relies on participant duration for patient attendance tracking, so we want to make sure we’re following Zoom’s recommended integration pattern and collecting the most accurate attendance information possible.