Skip to content
Start here

Fetch all meetings for an App

client.RealtimeKit.Meetings.Get(ctx, appID, params) (*MeetingGetResponse, error)
GET/accounts/{account_id}/realtime/kit/{app_id}/meetings

Returns all meetings for the given App 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
params MeetingGetParams
AccountID param.Field[string]

Path param: The account identifier tag.

maxLength32
EndTime param.Field[Time]Optional

Query param: The end time range for which you want to retrieve the meetings. The time must be specified in ISO format.

formatdate-time
PageNo param.Field[float64]Optional

Query param: The page number from which you want your page search results to be displayed.

minimum0
PerPage param.Field[float64]Optional

Query param: Number of results per page

minimum0
StartTime param.Field[Time]Optional

Query param: The start time range for which you want to retrieve the meetings. The time must be specified in ISO format.

formatdate-time
Status param.Field[MeetingGetParamsStatus]Optional

Query param: Filter meetings by status.

const MeetingGetParamsStatusActive MeetingGetParamsStatus = "ACTIVE"
const MeetingGetParamsStatusInactive MeetingGetParamsStatus = "INACTIVE"
ReturnsExpand Collapse
type MeetingGetResponse struct{…}
Data []MeetingGetResponseData
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
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 MeetingGetResponseDataRecordingConfigOptional

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 MeetingGetResponseDataRecordingConfigAudioConfigOptional

Object containing configuration regarding the audio that is being recorded.

Channel MeetingGetResponseDataRecordingConfigAudioConfigChannelOptional

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

One of the following:
const MeetingGetResponseDataRecordingConfigAudioConfigChannelMono MeetingGetResponseDataRecordingConfigAudioConfigChannel = "mono"
const MeetingGetResponseDataRecordingConfigAudioConfigChannelStereo MeetingGetResponseDataRecordingConfigAudioConfigChannel = "stereo"
Codec MeetingGetResponseDataRecordingConfigAudioConfigCodecOptional

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 MeetingGetResponseDataRecordingConfigAudioConfigCodecMP3 MeetingGetResponseDataRecordingConfigAudioConfigCodec = "MP3"
const MeetingGetResponseDataRecordingConfigAudioConfigCodecAac MeetingGetResponseDataRecordingConfigAudioConfigCodec = "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 MeetingGetResponseDataRecordingConfigLiveStreamingConfigOptional
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 MeetingGetResponseDataRecordingConfigRealtimekitBucketConfigOptional
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 MeetingGetResponseDataRecordingConfigStorageConfigOptional
Type MeetingGetResponseDataRecordingConfigStorageConfigType

Type of storage media.

One of the following:
const MeetingGetResponseDataRecordingConfigStorageConfigTypeAws MeetingGetResponseDataRecordingConfigStorageConfigType = "aws"
const MeetingGetResponseDataRecordingConfigStorageConfigTypeAzure MeetingGetResponseDataRecordingConfigStorageConfigType = "azure"
const MeetingGetResponseDataRecordingConfigStorageConfigTypeDigitalocean MeetingGetResponseDataRecordingConfigStorageConfigType = "digitalocean"
const MeetingGetResponseDataRecordingConfigStorageConfigTypeGcs MeetingGetResponseDataRecordingConfigStorageConfigType = "gcs"
const MeetingGetResponseDataRecordingConfigStorageConfigTypeSftp MeetingGetResponseDataRecordingConfigStorageConfigType = "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 MeetingGetResponseDataRecordingConfigStorageConfigAuthMethodOptional

Authentication method used for “sftp” type storage medium

One of the following:
const MeetingGetResponseDataRecordingConfigStorageConfigAuthMethodKey MeetingGetResponseDataRecordingConfigStorageConfigAuthMethod = "KEY"
const MeetingGetResponseDataRecordingConfigStorageConfigAuthMethodPassword MeetingGetResponseDataRecordingConfigStorageConfigAuthMethod = "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 MeetingGetResponseDataRecordingConfigVideoConfigOptional
Codec MeetingGetResponseDataRecordingConfigVideoConfigCodecOptional

Codec using which the recording will be encoded.

One of the following:
const MeetingGetResponseDataRecordingConfigVideoConfigCodecH264 MeetingGetResponseDataRecordingConfigVideoConfigCodec = "H264"
const MeetingGetResponseDataRecordingConfigVideoConfigCodecVp8 MeetingGetResponseDataRecordingConfigVideoConfigCodec = "VP8"
ExportFile boolOptional

Controls whether to export video file seperately

Height int64Optional

Height of the recording video in pixels

maximum1920
minimum1
Watermark MeetingGetResponseDataRecordingConfigVideoConfigWatermarkOptional

Watermark to be added to the recording

Position MeetingGetResponseDataRecordingConfigVideoConfigWatermarkPositionOptional

Position of the watermark

One of the following:
const MeetingGetResponseDataRecordingConfigVideoConfigWatermarkPositionLeftTop MeetingGetResponseDataRecordingConfigVideoConfigWatermarkPosition = "left top"
const MeetingGetResponseDataRecordingConfigVideoConfigWatermarkPositionRightTop MeetingGetResponseDataRecordingConfigVideoConfigWatermarkPosition = "right top"
const MeetingGetResponseDataRecordingConfigVideoConfigWatermarkPositionLeftBottom MeetingGetResponseDataRecordingConfigVideoConfigWatermarkPosition = "left bottom"
const MeetingGetResponseDataRecordingConfigVideoConfigWatermarkPositionRightBottom MeetingGetResponseDataRecordingConfigVideoConfigWatermarkPosition = "right bottom"
Size MeetingGetResponseDataRecordingConfigVideoConfigWatermarkSizeOptional

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 MeetingGetResponseDataStatusOptional

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

One of the following:
const MeetingGetResponseDataStatusActive MeetingGetResponseDataStatus = "ACTIVE"
const MeetingGetResponseDataStatusInactive MeetingGetResponseDataStatus = "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.

TranscribeOnEnd boolOptional

Automatically generate transcripts when the meeting ends.

Paging MeetingGetResponsePaging
EndOffset float64
StartOffset float64
TotalCount float64
minimum0
Success bool

Fetch all meetings 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"),
  )
  meeting, err := client.RealtimeKit.Meetings.Get(
    context.TODO(),
    "app_id",
    realtime_kit.MeetingGetParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", meeting.Data)
}
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "created_at": "2019-12-27T18:11:19.117Z",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "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",
      "transcribe_on_end": true
    }
  ],
  "paging": {
    "end_offset": 30,
    "start_offset": 1,
    "total_count": 30
  },
  "success": true
}
Returns Examples
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "created_at": "2019-12-27T18:11:19.117Z",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "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",
      "transcribe_on_end": true
    }
  ],
  "paging": {
    "end_offset": 30,
    "start_offset": 1,
    "total_count": 30
  },
  "success": true
}