Skip to content
Start here

Fetch a meeting for an App

client.RealtimeKit.Meetings.GetMeetingByID(ctx, appID, meetingID, params) (*MeetingGetMeetingByIDResponse, error)
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}

Returns a meeting details in an App for the given meeting ID.

Security

API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
Accepted Permissions (at least one required)
Realtime AdminRealtime
ParametersExpand Collapse
appID string

The app identifier tag.

maxLength32
meetingID string
formatuuid
params MeetingGetMeetingByIDParams
AccountID param.Field[string]

Path param: The account identifier tag.

maxLength32
Name param.Field[string]optional

Query param

ReturnsExpand Collapse
type MeetingGetMeetingByIDResponse struct{…}
Success bool

Success status of the operation

Data MeetingGetMeetingByIDResponseDataoptional

Data returned by the operation

ID string

ID of the meeting.

formatuuid
CreatedAt Time

Timestamp the object was created at. The time is returned in ISO format.

formatdate-time
UpdatedAt Time

Timestamp the object was updated at. The time is returned in ISO format.

formatdate-time
AIConfig MeetingGetMeetingByIDResponseDataAIConfigoptional

The AI Config allows you to customize the behavior of meeting transcriptions and summaries

Summarization MeetingGetMeetingByIDResponseDataAIConfigSummarizationoptional

Summary Config

SummaryType MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeoptional

Defines the style of the summary, such as general, team meeting, or sales call.

One of the following:
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeGeneral MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "general"
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeTeamMeeting MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "team_meeting"
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeSalesCall MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "sales_call"
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeClientCheckIn MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "client_check_in"
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeInterview MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "interview"
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeDailyStandup MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "daily_standup"
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeOneOnOneMeeting MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "one_on_one_meeting"
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeLecture MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "lecture"
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryTypeCodeReview MeetingGetMeetingByIDResponseDataAIConfigSummarizationSummaryType = "code_review"
TextFormat MeetingGetMeetingByIDResponseDataAIConfigSummarizationTextFormatoptional

Determines the text format of the summary, such as plain text or markdown.

One of the following:
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationTextFormatPlainText MeetingGetMeetingByIDResponseDataAIConfigSummarizationTextFormat = "plain_text"
const MeetingGetMeetingByIDResponseDataAIConfigSummarizationTextFormatMarkdown MeetingGetMeetingByIDResponseDataAIConfigSummarizationTextFormat = "markdown"
WordLimit int64optional

Sets the maximum number of words in the meeting summary.

maximum1000
minimum150
Transcription MeetingGetMeetingByIDResponseDataAIConfigTranscriptionoptional

Transcription Configurations

Keywords []stringoptional

Adds specific terms to improve accurate detection during transcription.

Language MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageoptional

Specifies the language code for transcription to ensure accurate results.

One of the following:
const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageEnUs MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "en-US"
const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageEnIn MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "en-IN"
const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageDe MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "de"
const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageHi MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "hi"
const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageSv MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "sv"
const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageRu MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "ru"
const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguagePl MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "pl"
const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageEl MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "el"
const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageFr MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "fr"
const MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguageNl MeetingGetMeetingByIDResponseDataAIConfigTranscriptionLanguage = "nl"
ProfanityFilter booloptional

Control the inclusion of offensive language in transcriptions.

LiveStreamOnStart booloptional

Specifies if the meeting should start getting livestreamed on start.

PersistChat booloptional

Specifies if Chat within a meeting should persist for a week.

RecordOnStart booloptional

Specifies if the meeting should start getting recorded as soon as someone joins the meeting.

RecordingConfig MeetingGetMeetingByIDResponseDataRecordingConfigoptional

Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal.

AudioConfig MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigoptional

Object containing configuration regarding the audio that is being recorded.

Channel MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigChanneloptional

Audio signal pathway within an audio file that carries a specific sound source.

One of the following:
const MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigChannelMono MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigChannel = "mono"
const MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigChannelStereo MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigChannel = "stereo"
Codec MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigCodecoptional

Codec using which the recording will be encoded. If VP8/VP9 is selected for videoConfig, changing audioConfig is not allowed. In this case, the codec in the audioConfig is automatically set to vorbis.

One of the following:
const MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigCodecMP3 MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigCodec = "MP3"
const MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigCodecAac MeetingGetMeetingByIDResponseDataRecordingConfigAudioConfigCodec = "AAC"
ExportFile booloptional

Controls whether to export audio file seperately

FileNamePrefix stringoptional

Adds a prefix to the beginning of the file name of the recording.

LiveStreamingConfig MeetingGetMeetingByIDResponseDataRecordingConfigLiveStreamingConfigoptional
RtmpURL stringoptional

RTMP URL to stream to

formaturi
MaxSeconds float64optional

Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.

maximum86400
minimum60
RealtimekitBucketConfig MeetingGetMeetingByIDResponseDataRecordingConfigRealtimekitBucketConfigoptional
Enabled bool

Controls whether recordings are uploaded to RealtimeKit's bucket. If set to false, download_url, audio_download_url, download_url_expiry won't be generated for a recording.

StorageConfig MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigoptional
Type MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType

Type of storage media.

One of the following:
const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigTypeAws MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType = "aws"
const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigTypeAzure MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType = "azure"
const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigTypeDigitalocean MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType = "digitalocean"
const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigTypeGcs MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType = "gcs"
const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigTypeSftp MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigType = "sftp"
AccessKey stringoptional

Access key of the storage medium. Access key is not required for the gcs storage media type.

Note that this field is not readable by clients, only writeable.

AuthMethod MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethodoptional

Authentication method used for "sftp" type storage medium

One of the following:
const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethodKey MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethod = "KEY"
const MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethodPassword MeetingGetMeetingByIDResponseDataRecordingConfigStorageConfigAuthMethod = "PASSWORD"
Bucket stringoptional

Name of the storage medium's bucket.

Host stringoptional

SSH destination server host for SFTP type storage medium

Password stringoptional

SSH destination server password for SFTP type storage medium when auth_method is "PASSWORD". If auth_method is "KEY", this specifies the password for the ssh private key.

Path stringoptional

Path relative to the bucket root at which the recording will be placed.

Port float64optional

SSH destination server port for SFTP type storage medium

PrivateKey stringoptional

Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY"

Region stringoptional

Region of the storage medium.

Secret stringoptional

Secret key of the storage medium. Similar to access_key, it is only writeable by clients, not readable.

Username stringoptional

SSH destination server username for SFTP type storage medium

VideoConfig MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigoptional
Codec MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigCodecoptional

Codec using which the recording will be encoded.

One of the following:
const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigCodecH264 MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigCodec = "H264"
const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigCodecVp8 MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigCodec = "VP8"
ExportFile booloptional

Controls whether to export video file seperately

Height int64optional

Height of the recording video in pixels

maximum1920
minimum1
Watermark MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkoptional

Watermark to be added to the recording

Position MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionoptional

Position of the watermark

One of the following:
const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionLeftTop MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "left top"
const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionRightTop MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "right top"
const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionLeftBottom MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "left bottom"
const MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPositionRightBottom MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkPosition = "right bottom"
Size MeetingGetMeetingByIDResponseDataRecordingConfigVideoConfigWatermarkSizeoptional

Size of the watermark

Height int64optional

Height of the watermark in px

minimum1
Width int64optional

Width of the watermark in px

minimum1
URL stringoptional

URL of the watermark image

formaturi
Width int64optional

Width of the recording video in pixels

maximum1920
minimum1
SessionKeepAliveTimeInSecs float64optional

Time in seconds, for which a session remains active, after the last participant has left the meeting.

maximum600
minimum60
Status MeetingGetMeetingByIDResponseDataStatusoptional

Whether the meeting is ACTIVE or INACTIVE. Users will not be able to join an INACTIVE meeting.

One of the following:
const MeetingGetMeetingByIDResponseDataStatusActive MeetingGetMeetingByIDResponseDataStatus = "ACTIVE"
const MeetingGetMeetingByIDResponseDataStatusInactive MeetingGetMeetingByIDResponseDataStatus = "INACTIVE"
SummarizeOnEnd booloptional

Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API.

Title stringoptional

Title of the meeting.

Fetch a meeting for an App

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.Meetings.GetMeetingByID(
    context.TODO(),
    "app_id",
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    realtime_kit.MeetingGetMeetingByIDParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Success)
}
{
  "success": true,
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "created_at": "2019-12-27T18:11:19.117Z",
    "updated_at": "2019-12-27T18:11:19.117Z",
    "ai_config": {
      "summarization": {
        "summary_type": "general",
        "text_format": "plain_text",
        "word_limit": 150
      },
      "transcription": {
        "keywords": [
          "string"
        ],
        "language": "en-US",
        "profanity_filter": true
      }
    },
    "live_stream_on_start": true,
    "persist_chat": true,
    "record_on_start": true,
    "recording_config": {
      "audio_config": {
        "channel": "mono",
        "codec": "MP3",
        "export_file": true
      },
      "file_name_prefix": "file_name_prefix",
      "live_streaming_config": {
        "rtmp_url": "rtmp://a.rtmp.youtube.com/live2"
      },
      "max_seconds": 60,
      "realtimekit_bucket_config": {
        "enabled": true
      },
      "storage_config": {
        "type": "aws",
        "auth_method": "KEY",
        "bucket": "bucket",
        "host": "host",
        "password": "password",
        "path": "path",
        "port": 0,
        "private_key": "private_key",
        "region": "us-east-1",
        "secret": "secret",
        "username": "username"
      },
      "video_config": {
        "codec": "H264",
        "export_file": true,
        "height": 720,
        "watermark": {
          "position": "left top",
          "size": {
            "height": 1,
            "width": 1
          },
          "url": "https://example.com"
        },
        "width": 1280
      }
    },
    "session_keep_alive_time_in_secs": 60,
    "status": "ACTIVE",
    "summarize_on_end": true,
    "title": "title"
  }
}
Returns Examples
{
  "success": true,
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "created_at": "2019-12-27T18:11:19.117Z",
    "updated_at": "2019-12-27T18:11:19.117Z",
    "ai_config": {
      "summarization": {
        "summary_type": "general",
        "text_format": "plain_text",
        "word_limit": 150
      },
      "transcription": {
        "keywords": [
          "string"
        ],
        "language": "en-US",
        "profanity_filter": true
      }
    },
    "live_stream_on_start": true,
    "persist_chat": true,
    "record_on_start": true,
    "recording_config": {
      "audio_config": {
        "channel": "mono",
        "codec": "MP3",
        "export_file": true
      },
      "file_name_prefix": "file_name_prefix",
      "live_streaming_config": {
        "rtmp_url": "rtmp://a.rtmp.youtube.com/live2"
      },
      "max_seconds": 60,
      "realtimekit_bucket_config": {
        "enabled": true
      },
      "storage_config": {
        "type": "aws",
        "auth_method": "KEY",
        "bucket": "bucket",
        "host": "host",
        "password": "password",
        "path": "path",
        "port": 0,
        "private_key": "private_key",
        "region": "us-east-1",
        "secret": "secret",
        "username": "username"
      },
      "video_config": {
        "codec": "H264",
        "export_file": true,
        "height": 720,
        "watermark": {
          "position": "left top",
          "size": {
            "height": 1,
            "width": 1
          },
          "url": "https://example.com"
        },
        "width": 1280
      }
    },
    "session_keep_alive_time_in_secs": 60,
    "status": "ACTIVE",
    "summarize_on_end": true,
    "title": "title"
  }
}