Unable to access AI companion transcripts from API using /meetings/{encoded-UUID}/transcript

API Endpoint(s):
GET /meetings/{meetingId}/transcript


Description:
We’re trying to retrieve AI Companion–generated transcripts from meetings that were not cloud recorded (no cloud recording), but which are visible in the Zoom web UI under Recordings & Transcripts > Transcripts. These are downloadable in .txt format from the web UI after a meeting ends.

However, when we try to retrieve the same transcript via the /meetings/{UUID}/transcript endpoint, we consistently get error 3322 — “This meeting transcript does not exist.”

I’ve seen another thread (Transcript available on Web Portal but not from meetings/[id]/recordings endpoint) where a someone said these AI-generated transcripts aren’t available via the API… but given how the /transcript endpoint is described and the fact that the documentation links to Zoom’s AI Companion transcript help article, it’s not clear if that’s intentional or just something not fully implemented yet.


What we’re trying to understand:

  • Is the current behavior expected, or is this a bug?

  • If it’s not a bug, what exactly is the /transcript endpoint meant to return?

  • And if AI Companion transcripts are not yet supported via the API, is there a timeline or changelog we can follow for when this will be added?

We have a working integration that would benefit immediately from this data, so we’d really appreciate clarity — even if the answer is “not supported yet.”


Error:

{ "code": 3322, "message": "This meeting transcript does not exist." }


How to reproduce:

  1. Host a Zoom meeting with AI Companion enabled, but no cloud recording

  2. End the meeting and wait ~1 minute

  3. The transcript appears in the web UI under Transcripts and is downloadable

  4. Use GET /meetings/{encoded UUID}/transcript with valid OAuth scopes

  5. Receive error 3322


Let me know if you want a shorter version or Slack-ready summary for internal sharing.

Hi @CRDR, based on the response to the previous thread you found regarding AI Companion-generated transcripts, it sounds like this behavior is actually expected, and would not be considered a bug. It might be useful if someone from the Zoom team could chime in if there’s a timeline for adding support for retrieving these transcripts via the API!

@elisa.zoom would you be able to help resolve our question here? We need to access the AI companion transcripts from the API, but the endpoint we are expecting should work for this GET /meetings/{meetingId}/transcript does not.

I believe the ability to download these AI companion transcripts was released about a month ago now Enable Allow meeting hosts to retain and access meeting transcripts

If you could help, we need to know if it’s possible at all today to access these AI companion transcripts via the API, and if not – is this planned and coming soon? We’d really rather not have to look for another third party solution to accomplish this.

1 Like

Hi @CRDR
Thanks for reaching out to us and thanks @amanda-recallai for chiming in here

I was able to do some testing on my end and I am able go get the my meeting transcripts via API using the GET/meetings/{meetingId}/transcript endpoint. The only caveat I found is that you need to pass a meeting UUID instead of the meeting ID.

I was able to do this, after I enabled the “Allow meeting hosts to retain and access meeting transcripts” feature you mentioned

Thanks @elisa.zoom you gave us the clue needed to solve the issue.

We had already been testing with the scheduled UUID but that was not working as mentioned.

After some testing though, we’ve confirmed that the issue stems from Zoom returning two different UUIDs for scheduled and past meetings:

  1. Scheduled meeting UUID

    • Returned by GET /v2/meetings/{meetingId}.

    • Stable for the scheduled/series definition of the meeting.

    • Does not resolve transcripts.

  2. Instance (past meeting) UUID

    • Generated once a specific occurrence actually runs and ends.

    • Appears in the Zoom web UI links (?meetingId=) and in past_meetings API responses.

    • This is the UUID that successfully fetches transcripts.

Conclusions:

  • /transcripts requires the instance UUID, not the scheduled UUID.

  • Passing the scheduled UUID will return an error even though a transcript exists.

  • Instance UUIDs can be obtained via GET /past_meetings/{meetingId}/instances or webhooks like meeting.ended.

  • If the UUID contains / or starts with /, it must be double URL-encoded.

So, we can now retrieve the AI companion transcripts using the past-meeting instance UUID. Hopefully this is helpful to others as well!

1 Like

@elisa.zoom if you have any way to pass on a suggestion to whomever manages the API docs, it would be really helpful to add something to the Get meeting transcript clarifying that Transcripts are only available by passing the instance (past meeting) UUID.

Also, at least in our testing the current statement in the docs “To get a meeting’s transcript, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID, the response will be for the latest meeting instance.” is incorrect since a meeting ID never appears to work currently (perhaps a bug? unclear)

1 Like

Thanks for sharing your findings with the community and I will pass down this feedback to the Docs team @CRDR

I will first report this issue to learn if its expected behavior (endpoint only accepting UUIDS) and to improve our docs or if this is a bug.

Thanks again

Thanks @elisa.zoom if there are any notable updates or changes to this endpoint that come from sharing this internally, please update us here. We appreciate your help!

1 Like

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