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.
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.