Get Transcript Dialog API
Regarding the Get Transcript Dialog API since it is Deprecated what can I use instead to get the transcripts dialog im confused
4 Replies
Hey there! đ
The âGet Transcript Dialogâ endpoint that lives at
â ⢠It is considered a legacy-view endpoint, but it has not been removed or shut-off â Voiceflow has no current deprecation timeline for those routes (see the note in our âBetter Transcriptsâ launch blog).
⢠If youâre building something new you can keep using this same Transcripts API family, or start with the newer list endpoint:
1ď¸âŁ List the transcripts you care about
2ď¸âŁ Pull the full turn-by-turn dialog for one transcript
3ď¸âŁ (optional) Export as CSV
Docs: https://developer.voiceflow.com/reference/fetchtranscripts
Hope that clears it up!
The âGet Transcript Dialogâ endpoint that lives at
GET /transcripts/{projectID}/{transcriptID}
is part of the Transcripts API.â ⢠It is considered a legacy-view endpoint, but it has not been removed or shut-off â Voiceflow has no current deprecation timeline for those routes (see the note in our âBetter Transcriptsâ launch blog).
⢠If youâre building something new you can keep using this same Transcripts API family, or start with the newer list endpoint:
GET /transcripts/{projectID}
â returns the list of transcripts for a project.
â
Typical flow1ď¸âŁ List the transcripts you care about
GET /transcripts/{projectID}?tag=âŚ&range=âŚ
2ď¸âŁ Pull the full turn-by-turn dialog for one transcript
GET /transcripts/{projectID}/{transcriptID}?limit=100&offset=0
3ď¸âŁ (optional) Export as CSV
GET /transcripts/{projectID}/{transcriptID}/export?format=csv
â
If youâre saving conversations yourself (e.g. through a custom DM deployment) make sure youâre creating transcripts first with the PUT /transcripts
endpoint, then read them as above.
â
So in short: keep using the Transcripts API â the âGet Transcript Dialogâ route is still the correct one to fetch the messages inside a saved transcript.Docs: https://developer.voiceflow.com/reference/fetchtranscripts
Hope that clears it up!
Why is it in the docs Ive inserted the project id transcript id and api as a header and I was met with a error?
Here are the most common reasons a /transcripts request fails even though youâve supplied the projectID, transcriptID and an Authorization header:
1. Using the wrong API keyâ¨
⢠The Project API only accepts the project DM API key that youâll find in Project âş Integrations âş API Key (it starts with
⢠Personal access-tokens or keys from another project will return 401 | Unauthorized. 2. Extra / missing text in the header⨠⢠Send the key exactly as-is â
⢠Donât prefix it with Bearer or wrap it in quotes. 3. Wrong endpoint format⨠⢠Retrieve a single dialog with:
⢠Make sure the IDs in the path match the keyâs project. 4. Passing unrelated headers⨠â˘
⢠Keep it to only the Authorization header unless youâre adding optional query params (
VF.DM.
).⢠Personal access-tokens or keys from another project will return 401 | Unauthorized. 2. Extra / missing text in the header⨠⢠Send the key exactly as-is â
Authorization: VF.DM.xxxxxxxxxxxxxxxxxâŚ
⢠Donât prefix it with Bearer or wrap it in quotes. 3. Wrong endpoint format⨠⢠Retrieve a single dialog with:
GET https://api.voiceflow.com/v2/transcripts/{projectID}/{transcriptID}
⢠Make sure the IDs in the path match the keyâs project. 4. Passing unrelated headers⨠â˘
versionID
, Content-Type
, etc. arenât needed for this GET call and can sometimes confuse API gateways.⢠Keep it to only the Authorization header unless youâre adding optional query params (
limit
, offset
, dates âŚ).
Example working call
If you still see an error after checking the four items above, note the exact status code:
⢠401 â wrong / expired key
⢠404 â transcriptID doesnât exist for that project or typo in IDs
⢠403 â key belongs to a different project
Docs reference: https://docs.voiceflow.com/reference/project-api-transcriptsI inserted the correct credentials and was met with
{
"code": 500,
"status": "Internal Server Error",
"dateTime": "2025-08-09T15:11:12.759Z",
"timestamp": 1754752272759,
"data": "not found"
}