[Zoom Reports API] Inconsistencies With Edits And Deletes Response

we started testing the Zoom Reports API, more specifically the edits and deletes feature. We found different scenarios that presented some inconsistencies with the data shown.

this is the specific API endpoint we use to get the messages, edits and deletes:

https://api.zoom.us/v2/report/chat/sessions/xyz?from=2023-04-01&to=2023-12-02&next_page_token=xyz&include_fields=edited_messages,deleted_messages

When we enable the edited_messages and deleted_messages (using the param include_fields) we expect to see a response with this structure according to the documentation:

{
“messages”: [

],
“edited_messages”: [

],
“deleted_messages”: [

]
}

Scenario 1 (Original message placed in incorrect array ??)

what we saw is that the “messages” array is showing always the last edited message instead of the original message, which we would expect in the messages array.
Then in the edited messages we can see all the editions done to a message including the original message (which we don’t expect because is the original message)

here we have an example:

{
“messages”: [
{
“id”: “”,
“message”: “ok, here we go again, Zoom Edits/Deletes are a mess in the Zoom API. (Edited Message at 04:01 CT time ) 3th time”,
“sender_member_id”: “”,
“sender”: “atariq@zoomdomain.com”,
“receiver”: “sgilani@zoomdomain.com”,
“timestamp”: 1698958651249,
“date_time”: “2023-11-02T20:57:31Z”
}
]
}

here we can see the last editions of a message, in this specific case is the 3rd edition of the message, so it’s a edited message.

here we have the edited messages:

{
“edited_messages”: [
{
“id”: “”,
“message”: “ok, here we go again, Zoom Edits/Deletes are a mess in the Zoom API. (Original Message at 03:57 CT time)”,
“sender_member_id”: “”,
“sender”: “atariq@zoomdomain.com”,
“receiver”: “sgilani@zoomdomain.com”,
“timestamp”: 1698958762919,
“date_time”: “2023-11-02T20:59:22Z”
},
{
“id”: “”,
“message”: “ok, here we go again, Zoom Edits/Deletes are a mess in the Zoom API. (Edited Message at 03:59 CT time ) 1th time”,
“sender_member_id”: “”,
“sender”: “atariq@zoomdomain.com”,
“receiver”: “sgilani@zoomdomain.com”,
“timestamp”: 1698958818843,
“date_time”: “2023-11-02T21:00:18Z”
},
{
“id”: “”,
“message”: “ok, here we go again, Zoom Edits/Deletes are a mess in the Zoom API. (Edited Message at 04:00 CT time ) 2th time”,
“sender_member_id”: “”,
“sender”: “atariq@zoomdomain.com”,
“receiver”: “sgilani@zoomdomain.com”,
“timestamp”: 1698958899757,
“date_time”: “2023-11-02T21:01:39Z”
}
]
}

as you can see the first message of the array is actually the original message. (why the original message is in the edited_messages array.

Scenario 2 ( timestamps not correspond to the messages or edited/deleted messages )

This one more critical than the scenario 1, since we are clearly seeing an inconsistency of data. Using the same example as before:

{
“messages”: [
{
“id”: “”,
“message”: “ok, here we go again, Zoom Edits/Deletes are a mess in the Zoom API. (Edited Message at 04:01 CT time ) 3th time”,
“sender_member_id”: “”,
“sender”: “atariq@zoomdomain.com”,
“receiver”: “sgilani@zoomdomain.com”,
“timestamp”: 1698958651249,
“date_time”: “2023-11-02T20:57:31Z”
}
]
}

we posted this message at 04:01 CT time (2023-11-02T21:01 UTC), but if you look at the timestamp or date_time 2023-11-02T20:57:31Z. As you can see the timestamp/datetime do not correspond to the time when we posted the message, the is a difference of 4 minutes.
(the inconsistency will make more sense when we check the edits)

{
“edited_messages”: [
{
“id”: “”,
“message”: “ok, here we go again, Zoom Edits/Deletes are a mess in the Zoom API. (Original Message at 03:57 CT time)”,
“sender_member_id”: “”,
“sender”: “atariq@zoomdomain.com”,
“receiver”: “sgilani@zoomdomain.com”,
“timestamp”: 1698958762919,
“date_time”: “2023-11-02T20:59:22Z”
},
{
“id”: “”,
“message”: “ok, here we go again, Zoom Edits/Deletes are a mess in the Zoom API. (Edited Message at 03:59 CT time ) 1th time”,
“sender_member_id”: “”,
“sender”: “atariq@zoomdomain.com”,
“receiver”: “sgilani@zoomdomain.com”,
“timestamp”: 1698958818843,
“date_time”: “2023-11-02T21:00:18Z”
},
{
“id”: “”,
“message”: “ok, here we go again, Zoom Edits/Deletes are a mess in the Zoom API. (Edited Message at 04:00 CT time ) 2th time”,
“sender_member_id”: “”,
“sender”: “atariq@zoomdomain.com”,
“receiver”: “sgilani@zoomdomain.com”,
“timestamp”: 1698958899757,
“date_time”: “2023-11-02T21:01:39Z”
}
]
}

the first message “edited” in the array. “ok, here we go again, Zoom Edits/Deletes are a mess in the Zoom API. (Original Message at 03:57 CT time” but the timestamp/date_time of this message according to the response is: “date_time”: “2023-11-02T20:59:22Z”. there is a difference of two minutes.

this message was posted at 03:57 CT time (20:57 UTC) → this is the date_time we are seeing in the messages array, so it’s clearly how we are assigning wrong dates to the data.

if you continue reading the edits timestamps and comparing the content, you’ll noticed that the dates do not correspond to the messages.