## Fetch the complete transcript for a session `client.RealtimeKit.Sessions.GetSessionTranscripts(ctx, appID, sessionID, query) (*SessionGetSessionTranscriptsResponse, error)` **get** `/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/transcript` Returns a URL to download the transcript for the session ID in CSV format. ### Parameters - `appID string` The app identifier tag. - `sessionID string` - `query SessionGetSessionTranscriptsParams` - `AccountID param.Field[string]` The account identifier tag. ### Returns - `type SessionGetSessionTranscriptsResponse struct{…}` - `Data SessionGetSessionTranscriptsResponseData` - `SessionID string` - `TranscriptDownloadURL string` URL where the transcript can be downloaded - `TranscriptDownloadURLExpiry string` Time when the download URL will expire - `Success bool` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/realtime_kit" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.RealtimeKit.Sessions.GetSessionTranscripts( context.TODO(), "app_id", "session_id", realtime_kit.SessionGetSessionTranscriptsParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Data) } ``` #### Response ```json { "data": { "sessionId": "sessionId", "transcript_download_url": "transcript_download_url", "transcript_download_url_expiry": "transcript_download_url_expiry" }, "success": true } ```