# 2300 Error on digital signage playlist update API

**URL:** <https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748>\
**Category:** API and Webhooks\
**Created:** [July 28, 2025, 7:53pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748 "2025-07-28T19:53:21Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ian5](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ian5/32/70446_2.png) [@Ian5](https://devforum.zoom.us/u/Ian5)\
**Post date:** [July 28, 2025, 7:53pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/1 "2025-07-28T19:53:21Z")

</div>

**API Endpoint(s) and/or Zoom API Event(s)**  
Update Digital Signage library playlist content items

**Description**  
I have a Google Apps Script (Javascript) application that’s uploading an image to Zoom and then replacing the playlist on a Zoom Room with the image.

I confirmed that both the playlist ID and content ID are correct. The URI matches what’s in the docs as well. My Server-to-server Zoom app is authorized, activated, and has the `zoom_rooms:write:digital_signage_library_playlists:admin` scope enabled.

```auto

/**
 * Replaces all content in a playlist with a new list of content items.
 * @param {string} playlistId The ID of the playlist to update.
 * @param {Array<Object>} newContents An array of content objects to set as the new playlist.
 */
function updatePlaylistContents(playlistId, newContents) {
  console.log(newContents);
  const accessToken = getZoomAccessToken();
  const url = `https://api.zoom.us/v2/rooms/content/digital_signage/playlists/${playlistId}/contents`;

  const payload = JSON.stringify({ contents: newContents });
  
  const options = {
    method: 'put',
    contentType: 'application/json',
    headers: { 'Authorization': `Bearer ${accessToken}` },
    payload: payload,
    muteHttpExceptions: true
  };

  const response = UrlFetchApp.fetch(url, options);

  if (response.getResponseCode() >= 400) {
    throw new Error(`Failed to update playlist: ${response.getContentText()}`);
  }

}

```

**Error?**  
The script can call other parts of the Zoom API but only on this specific endpoint will I get  
`Error: Failed to update playlist: {"code":2300,"message":"This API endpoint is not recognized."}`

**How To Reproduce**

1. Open an Apps Script project and add the OAuth2 library
2. Create a server to server app with the scope and activate it
3. Try to upload a new playlist object using existing zoom library content

_1. Request URL / Headers **(without credentials or sensitive info like emails, uuid, etc.)** / Body_

```auto
{ method: 'put',
  contentType: 'application/json',
  headers: { Authorization: 'Bearer xxxxxxxx' },
  payload: '{"contents":[{"content_id":"fs-xxxxxxxxxxx","content_duration":30}]}',
  muteHttpExceptions: true }

```

_2. Authentication method or app type_  
Server-to-server app  
_3. Any errors_  
`{"code":2300,"message":"This API endpoint is not recognized."}`

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [July 31, 2025, 7:59pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/2 "2025-07-31T19:59:27Z")

</div>

Hi @Ian5  
Thanks for reaching out to us and welcome to the Zoom Developer Forum.  
Would you be able to grab the tracking ID found in the response headers of your request?  
I can see that the request URL is propertly set and also your request body, so I would like to escalate this for review

---

<div class="post-metadata">

**Author:** ![Ian5](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ian5/32/70446_2.png) [@Ian5](https://devforum.zoom.us/u/Ian5)\
**Post date:** [July 31, 2025, 9:04pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/3 "2025-07-31T21:04:08Z")

</div>

Thanks! I just triggered the script again (getting the same error) and the tracking ID is

```auto
"x-zm-trackingid": "v=2.0;clid=aw1;rid=WEB_aeb1f09a1cad339226d22228658ad6d7"

```

the cloudflare id is

```auto
cf-ray: 967ffed8bdc3139b-ATL

```

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [August 1, 2025, 2:07pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/4 "2025-08-01T14:07:45Z")

</div>

Thanks @Ian5  
Looking into this (ZSEE-174934 internal ticket number for reference)

---

<div class="post-metadata">

**Author:** ![Ian5](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ian5/32/70446_2.png) [@Ian5](https://devforum.zoom.us/u/Ian5)\
**Post date:** [August 11, 2025, 3:12pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/5 "2025-08-11T15:12:43Z")

</div>

Hey @elisa.zoom , any updates on this? Our Zoom rep told us was this our only method of support as we don’t have a developer subscription.

---

<div class="post-metadata">

**Author:** ![Ian5](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ian5/32/70446_2.png) [@Ian5](https://devforum.zoom.us/u/Ian5)\
**Post date:** [August 11, 2025, 5:31pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/6 "2025-08-11T17:31:45Z")

</div>

One more bit of data - using patch instead of PUT works on this endpoint, but it adds content to the playlist when ideally we are replacing it. I also don’t see patch listed for this specific endpoint it on the API page?

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [August 11, 2025, 7:03pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/7 "2025-08-11T19:03:53Z")

</div>

@Ian5  
Thanks for sharing those details with me, I will check in with Engineering team about this

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [August 14, 2025, 6:53pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/8 "2025-08-14T18:53:29Z")

</div>

> [@elisa.zoom](#):
>
> ZSEE-174934

Hi @Ian5  
Thanks for your patience here. I was informed that we will be releasing a fix to this endpoint this weekend.  
Can you please try again on Monday and confirm if this is working on your end?

---

<div class="post-metadata">

**Author:** ![Ian5](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ian5/32/70446_2.png) [@Ian5](https://devforum.zoom.us/u/Ian5)\
**Post date:** [August 14, 2025, 7:30pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/9 "2025-08-14T19:30:52Z")

</div>

Yup, will try again monday

---

<div class="post-metadata">

**Author:** ![Ian5](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ian5/32/70446_2.png) [@Ian5](https://devforum.zoom.us/u/Ian5)\
**Post date:** [August 18, 2025, 3:47pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/10 "2025-08-18T15:47:54Z")

</div>

Hey @elisa.zoom it looks like PUT works not but it’s not clearing the content of the playlist, it’s appending the image - it’s supposed to clear out the previous content right?

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [August 18, 2025, 4:01pm UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/11 "2025-08-18T16:01:15Z")

</div>

Hi @Ian5  
Yes, this should be an update.  
Could you please follow up in the DM that I just sent

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [August 22, 2026, 7:37am UTC](https://devforum.zoom.us/t/2300-error-on-digital-signage-playlist-update-api/135748/12 "2026-08-22T07:37:52Z")

</div>

Closed on August 22, 2026, 7:37am UTC

This topic was automatically closed 368 days after the last reply. New replies are no longer allowed.
