How can I change the expiration period of a Caption URL?

I’ve been using the caption api to have my application send captions to zoom meetings with positive results. The customers who want to run scheduled meetings and webinars do not want to scramble last minute to setup closed captioning for their meetings.

I have customers that want to send the caption url to me ahead of time, but the built in expiration of the caption url prohibits them from configuring with a third party caption service more than 24 hours in advance of the end of their webinar or meeting.

24 hours = 86400 seconds. I can see this value in the expire query parameter of the caption url.

Which Endpoint/s?
Example caption URL:

Which App Type (OAuth / Chatbot / JWT / Webhook)?
App Type is irrelevant, the caption api is a pre-signed url which is app type agnostic.

How To Reproduce (If applicable)
Steps to reproduce the behavior:

  1. Create a meeting which starts more than 24 hours from the current time.
  2. Start meeting early and use the closed caption toolbar button to get caption url
  3. copy caption url; end meeting
  4. wait for scheduled meeting start (> 24hours of wait time)
  5. Attempt to post caption to meeting
  6. request fails with an expiration message

Additional context
I could not find much documentation for this endpoint beyond this one page support article.

I cannot just modify the expire query parameter value because it is signed with the signature query parameter.

I’m looking for some additional information on the caption endpoint to understand why the expiration parameter is set this way.

One of my thoughts is that there is a bug where the expiration time is being set to the wrong frame of reference. I think it makes more sense to expire the url with respect to the meeting time, not the time when the caption url was generated.

For example, a meeting that starts at 2pm should have a caption url that expires 24 hours after the meeting start time. Why would you independently expire properties that are tied to meetings that have start and end times? I wouldn’t want my join zoom meeting links to expire 24 hours after creation for a meeting scheduled 1 week away.

The 24 hours duration makes sense as the longest zoom meeting can only be 24 hours long.

Thanks in advance for your response :slight_smile:

1 Like


I would really appreciate an answer to my question.


Hey @recordedspeed,

Currently you cannot change the expiration of the closed caption url.

It is generated once the meeting is started, then lasts for 24 hours. If you start and then stop the meeting, it will expire. You will need to get the token again once the meeting is started and the expiry time will be updated.