"Recording Complete" webhook missed download_token

Before Creating a New Topic:

If you’re experiencing unexpected API/Zoom API Events (webhooks) behavior please search the forum with relevant keywords (e.x. error message) and follow the guidance outlined in those posts. Please also leverage the following support links:


Format Your New Topic as Follows:

API Endpoint(s) and/or Zoom API Event(s)
Webhook for event recording.complete

Description
We used to rely on the recording.complete webhook to have the download_token to download the recording from zoom. Off late, we have seen a number of webhooks that do not have this. The earlier webhook body looked something like this.

{
  "payload": {
    "account_id": "BzWnGSxET3Car3RA3vuWeg",
    "object": {
      "uuid": "vyDGxIXzRQGf9+fn99nlqg==",
      "id": 86162177464,
      "account_id": "BzWnGSxET3Car3RA3vuWeg",
      "host_id": "qfo7fV3JRISNDbNYpbDhjA",
      "topic": "CS Sync up ",
      "type": 3,
      "start_time": "2023-01-25T06:25:43Z",
      "timezone": "Asia/Kolkata",
      "host_email": "vipulk@gtmbuddy.ai",
      "duration": 36,
      "total_size": 295623988,
      "recording_count": 3,
      "share_url": "https://us02web.zoom.us/rec/share/sp1A0l5mqJjWFoG_EQ1OJ8Ve6GUUPjtcNE-hA9a2Um_ZbT2RZ_jDbxlXbq073j--.wIOmWYwTCZHRfl_y",
      "recording_files": [
        {
          "id": "6705e12a-58ec-490c-b502-fb7bd7df3426",
          "meeting_id": "vyDGxIXzRQGf9+fn99nlqg==",
          "recording_start": "2023-01-25T06:25:46Z",
          "recording_end": "2023-01-25T07:02:03Z",
          "file_type": "M4A",
          "file_extension": "M4A",
          "file_size": 34641455,
          "play_url": "https://us02web.zoom.us/rec/play/Ri1ZKuOaEWOFWag86ti1RtgTfJ4-bICuyXjU71QCFQAJgexKAvwOU63qJs9M9SL73kuFHNojtw-XXU9w.cEsPSjjNAnGjoDtV",
          "download_url": "https://us02web.zoom.us/rec/webhook_download/Ri1ZKuOaEWOFWag86ti1RtgTfJ4-bICuyXjU71QCFQAJgexKAvwOU63qJs9M9SL73kuFHNojtw-XXU9w.cEsPSjjNAnGjoDtV/fpsbV5xwXjVAq4ZMiPCYjH_KBfHUyqvbisbkKhruxenitLx77t-SIE5WdRc4oDuv.-Wz1XlF3dP3HNhR_",
          "status": "completed",
          "recording_type": "audio_only"
        },
        {
          "id": "24586831-9730-4ee2-a40b-8b9f89515097",
          "meeting_id": "vyDGxIXzRQGf9+fn99nlqg==",
          "recording_start": "2023-01-25T06:25:46Z",
          "recording_end": "2023-01-25T07:02:03Z",
          "file_type": "MP4",
          "file_extension": "MP4",
          "file_size": 175944098,
          "play_url": "https://us02web.zoom.us/rec/play/As9cOtVUmHX6JvBaS-uWFmxRmsbs6eZcx_HllpQFrKtCCfsId4vsLouSGFLMWlbnj9DWvhCUsRI6d7Hr.JeOgs_YtHZgM9_Aj",
          "download_url": "https://us02web.zoom.us/rec/webhook_download/As9cOtVUmHX6JvBaS-uWFmxRmsbs6eZcx_HllpQFrKtCCfsId4vsLouSGFLMWlbnj9DWvhCUsRI6d7Hr.JeOgs_YtHZgM9_Aj/WLWNREf9ZbAuExuo_4MH_h5suLRf6twyxKP9V0tUl-99bnMfgDQeySvAA8kizHrm.6YNPxgQZYv_WrPC9",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view"
        },
        {
          "id": "4e0da2cd-54f9-4446-9348-e3bccfa49118",
          "meeting_id": "vyDGxIXzRQGf9+fn99nlqg==",
          "recording_start": "2023-01-25T06:25:46Z",
          "recording_end": "2023-01-25T07:02:03Z",
          "file_type": "MP4",
          "file_extension": "MP4",
          "file_size": 85038435,
          "play_url": "https://us02web.zoom.us/rec/play/tCDGRmYxKqRk-Nb2L8qtOSDrv-D1qrcO0J-n-fjdEkneKz0AbleWeYP0kB0-Ayah3fsVAG4UHWBEVqDp.WJkzqjRHUsyaltAQ",
          "download_url": "https://us02web.zoom.us/rec/webhook_download/tCDGRmYxKqRk-Nb2L8qtOSDrv-D1qrcO0J-n-fjdEkneKz0AbleWeYP0kB0-Ayah3fsVAG4UHWBEVqDp.WJkzqjRHUsyaltAQ/JmIUTDznWjRVkzGMiWSRN9BsIzavjXXicOZMgilycs9s5FvljERTWJH5oMY2qcQv.IWEg7nR6cwXPcd1G",
          "status": "completed",
          "recording_type": "active_speaker"
        }
      ],
      "password": ".1B^$Psn",
      "recording_play_passcode": "ePvHHDiiBoTrspFBCHKnGLY9apngbClP",
      "on_prem": false
    }
  },
  "event_ts": 1674630594836,
  "event": "recording.completed",
  "download_token": "eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJodHRwczovL2V2ZW50Lnpvb20udXMiLCJhY2NvdW50SWQiOiJCelduR1N4RVQzQ2FyM1JBM3Z1V2VnIiwiYXVkIjoiaHR0cHM6Ly9vYXV0aC56b29tLnVzIiwibWlkIjoidnlER3hJWHpSUUdmOStmbjk5bmxxZz09IiwiZXhwIjoxNjc0NzE3MDA5LCJ1c2VySWQiOiJxZm83ZlYzSlJJU05EYk5ZcGJEaGpBIn0.ybLm3xsHEAYnuFP_4pnvzPuO091-fk3Z6ibEIoBJ8OezqhW5KjnXFVxj1etPQu383ogaCqa4pSSG42pjSXlwkA"
}

We now get a number of webhooks that look like this

{
  "event": "recording.completed",
  "payload": {
    "account_id": "1KlE99dLRbiD63XBXQbEBg",
    "object": {
      "uuid": "fOtvK8P0SdOs7HPQlYI6dQ==",
      "id": 86786666979,
      "account_id": "1KlE99dLRbiD63XBXQbEBg",
      "host_id": "oA6XOtSNT8qdshe86s10rw",
      "topic": "One-on-One with individual TEAM MEMBER & Direct Leader",
      "type": 8,
      "start_time": "2023-01-25T05:56:13Z",
      "timezone": "Asia/Singapore",
      "duration": 30,
      "total_size": 0,
      "recording_count": 0,
      "share_url": "https://us02web.zoom.us/rec/share/3u_Y3C_a12U6wNLJv1aQjqNjUtuidiIVk7W-S6Y5D16bEgcV_h8BsFYI14x2E9Ki.w4LHfzNOflx4tGhq",
      "recording_files": [
        {
          "id": "ae85708b-cbcf-42a7-a5ff-d912a7b7ef6b",
          "meeting_id": "fOtvK8P0SdOs7HPQlYI6dQ==",
          "recording_start": "2023-01-25T06:02:46Z",
          "recording_end": "2023-01-25T06:26:56Z",
          "file_type": "MP4",
          "file_extension": "MP4",
          "file_size": 36439741,
          "play_url": "https://us02web.zoom.us/rec/play/mOyVJSVOyU3uWgi4O7a0HPtLgGWYmTqbeFbXLwj-HKSkbpefIHXAtGQph3Ai0wNgGR691dR-MishicTu.dtiKWRFrlJ39ZGrT",
          "download_url": "https://us02web.zoom.us/rec/download/mOyVJSVOyU3uWgi4O7a0HPtLgGWYmTqbeFbXLwj-HKSkbpefIHXAtGQph3Ai0wNgGR691dR-MishicTu.dtiKWRFrlJ39ZGrT",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view"
        },
        {
          "id": "cd12104e-a6fa-49d5-8dd3-22db6bbbeb6e",
          "meeting_id": "fOtvK8P0SdOs7HPQlYI6dQ==",
          "recording_start": "2023-01-25T06:02:46Z",
          "recording_end": "2023-01-25T06:26:56Z",
          "file_type": "M4A",
          "file_extension": "M4A",
          "file_size": 23066714,
          "play_url": "https://us02web.zoom.us/rec/play/ucYh2Ghr64PdfF8UjKdNwG0sm3bD8n0alrUhb5Sz5V-D3HGFJnucBJA7ur0y46EXqnyY3ILgjq5MIp9Y.gM6FAjvxpcqluJ4s",
          "download_url": "https://us02web.zoom.us/rec/download/ucYh2Ghr64PdfF8UjKdNwG0sm3bD8n0alrUhb5Sz5V-D3HGFJnucBJA7ur0y46EXqnyY3ILgjq5MIp9Y.gM6FAjvxpcqluJ4s",
          "status": "completed",
          "recording_type": "audio_only"
        }
      ]
    }
  },
  "_simulated": true
}

Error?
We are not able to download the recording as a result of this change and this is a breaking change for us.

@devendra_zoom I Hope you will be fine. Yes that is the default behaviour in the event payload you need to re-request with include_fields as a query parameter.

Here is the session Zoom Cloud Recordings - (REST API).