Archiving source transcription files

Transcription files can come from two sources:

Source platform transcriptionGlobal Relay transcription
Who generates itThe source platform, e.g. ZoomGlobal Relay, automatically
How to include itUpload via /files and reference in extraFiles with isTranscript: trueNo action is required; supported voice files are transcribed automatically
How to find it in the ArchiveX-GR-Transcription headerX-GR-Transcription and X-GR-TranscriptionVersion headers

This page covers source platform transcripts. For enabling Global Relay transcription, contact your Global Relay Implementation Specialist.

If you enabled Global Relay transcription for the data type you are archiving via the Voice Archiving API, any supported voice files you include in your requests will be automatically transcribed as separate files in your archived messages. You can search for Global Relay transcription files using the general X-GR-Transcription header as well as the Global Relay transcription-specific X-GR-TranscriptionVersion header.

After uploading the relevant source transcription file via the /files endpoint, you can specify the voice file in the voiceRecords property and the transcription file in the extraFiles property.

First, upload both the voice file and the transcription file to the /files endpoint:

curl -X PUT "https://voice.api.globalrelay.com/v2/files/default/meeting-recording-20250115.opus"
-H "Authorization: Bearer "
-H "Content-Type: audio/opus"
-T ""
curl -X PUT "https://voice.api.globalrelay.com/v2/files/default/meeting-recording-20250115.txt"
-H "Authorization: Bearer "
-H "Content-Type: text/plain"
-T ""

Then reference both files in your POST /voice request: the voice file in voiceRecords.recordingFile and the transcription file in extraFiles.

You can then indicate the file was a transcript in the following fields of the extraFiles property:

  • isTranscript: Indicate whether the file is a transcript file, i.e. true. By default, the value is set to false.
  • description: Indicate the file was generated via the source platform, e.g. “Transcript file generated via source platform”
{
  "voiceRecords": [
    {
      "startTime": "1737050060753",
      "stopTime": "1737050150341",
      "recordingFile": {
        "filename": "meeting-recording-20250115.opus",
        "fileKey": "default/meeting-recording-20250115.opus",
        "description": "Recording of conversation"
      }
    }
  ],
  "extraFiles": [
    {
      "filename": "meeting-recording-20250115.txt",
      "fileKey": "default/meeting-recording-20250115.txt",
      "description": "Transcript file generated by source platform",
      "isTranscript": true
    }
  ]
}