Getting 403 error from captions API


We’re encountering an issue similar to what is described here.
Since this topic has been closed, I’m opening a new one.

Usually the captions API works well for us, but in some Zoom meetings, we get 403 error when trying to send captions via the API.

We copy/paste the API URL into our service after being assigned the Closed Captioner role by the host. Again, in most cases it works, but sometimes we get 403 errors and can’t send captions to the meeting.

We noticed that in the cases where it doesn’t work, if we ask the host to assign the CC role to another participant in the meeting and copy the API URL using the other participant, or use the API URL copied by the host itself, it does work.

This is causing us a lot of delivery issues with our service.

I’d be happy to provide examples of recent occurrences and any additional information needed.


1 Like

Hi @elia , can you please private message me the following?

  • exact steps to reproduce
  • client id being used to access API
  • developer email/contact email directly associated with the app (this is who will receive correspondence with support)
  • error logs/screenshots
  • success logs/screenshots

Hi @gianni.zoom,

Thanks for getting back to me.


Hi @elia ,

I redacted your post and responded to the private message I started with you last week. Please check your notifications.

Awaiting results from service engineering (ZSEE-116158).

1 Like

Followed up today. Waiting to hear back from internal team.

1 Like

Hi @elia ,

I’ve confirmed that is a known error within the expected range.

The two suggestions are:

  • Check the ccs url, the best option is to copy it again, and ensure that the request parameters have seq and are incremental.

  • Ensure each sequence is unique. If you send content with the same sequence number, it will also result in a forbidden response.

In our messages you shared:

Usually, though, we don’t get the API token directly from the host, but instead, we have this flow:

  • The host grants us the “CC” role by:
    • clicking the “Assign a participant to type” button in the “setup manual captioner” menu.
    • selecting “Assign to type Closed Captions” for our participant in the meeting, from the participants list
  • We copy the API token from the captions window, by clicking “Use a 3rd-party CC service”.

I’m not sure if there’s a difference between getting the API token this way and getting it directly from the host, but our team noticed that we do not encounter the 403 issue when getting the token directly from the host.

Reviewing the support documentation again I see the following:

This leads me to believe that flow you’ve been using through the UI controls is not fully supported since you don’t encounter the error when getting directly from host.