---
title: Start livestreaming a meeting
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/go)

[Realtime Kit](https://developers.cloudflare.com/api/go/resources/realtime_kit)

[Livestreams](https://developers.cloudflare.com/api/go/resources/realtime_kit/subresources/livestreams)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# Start livestreaming a meeting

client.RealtimeKit.Livestreams.StartLivestreamingAMeeting(ctx, appID, meetingID, params) (\*[LivestreamStartLivestreamingAMeetingResponse](<https://developers.cloudflare.com/api/go/resources/realtime_kit#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)>), error)

POST/accounts/{account\_id}/realtime/kit/{app\_id}/meetings/{meeting\_id}/livestreams

Starts livestream of a meeting associated with the given meeting ID. Retreive the meeting ID using the `Create a meeting` API.

##### Security

API Token

The preferred authorization scheme for interacting with the Cloudflare API. [Create a token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/).

**Example:**`Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY`

##### Accepted Permissions (at least one required)

`Realtime Admin``Realtime`

##### ParametersExpand Collapse

appID string

The app identifier tag.

[Link to this property](<#(resource)%20realtime_kit.livestreams%20%3E%20(method)%20start_livestreaming_a_meeting%20%3E%20(params)%20default%20%3E%20(param)%20app_id%20%3E%20(schema)>)

meetingID string

formatuuid

[Link to this property](<#(resource)%20realtime_kit.livestreams%20%3E%20(method)%20start_livestreaming_a_meeting%20%3E%20(params)%20default%20%3E%20(param)%20meeting_id%20%3E%20(schema)>)

<details>

<summary>

params LivestreamStartLivestreamingAMeetingParams

</summary>

AccountID param.Field\[string]

Path param: The account identifier tag.

maxLength32

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(method)%20start_livestreaming_a_meeting%20%3E%20(params)%20default%20%3E%20(param)%20account_id">Link to this property</a>

Name param.Field\[string]Optional

Body param

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(method)%20start_livestreaming_a_meeting%20%3E%20(params)%20default%20%3E%20(param)%20name">Link to this property</a>

<details>

<summary>

VideoConfig param.Field\[<a href="https://developers.cloudflare.com/api/go/resources/realtime_kit/subresources/livestreams/methods/start_livestreaming_a_meeting#(resource)%20realtime_kit.livestreams%20%3E%20(method)%20start_livestreaming_a_meeting%20%3E%20(params)%20default%20%3E%20(param)%20video_config%20%3E%20(schema)">LivestreamStartLivestreamingAMeetingParamsVideoConfig</a>]Optional

Body param

</summary>

Height int64Optional

Height of the livestreaming video in pixels

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(method)%20start_livestreaming_a_meeting%20%3E%20(params)%20default%20%3E%20(param)%20video_config%20%3E%20(schema)%20%3E%20(property)%20height">Link to this property</a>

Width int64Optional

Width of the livestreaming video in pixels

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(method)%20start_livestreaming_a_meeting%20%3E%20(params)%20default%20%3E%20(param)%20video_config%20%3E%20(schema)%20%3E%20(property)%20width">Link to this property</a>

</details>

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(method)%20start_livestreaming_a_meeting%20%3E%20(params)%20default%20%3E%20(param)%20video_config">Link to this property</a>

</details>

[Link to this property](<#(resource)%20realtime_kit.livestreams%20%3E%20(method)%20start_livestreaming_a_meeting%20%3E%20(params)%20default>)

##### ReturnsExpand Collapse

<details>

<summary>

type LivestreamStartLivestreamingAMeetingResponse struct{…}

</summary>

<details>

<summary>

Data LivestreamStartLivestreamingAMeetingResponseDataOptional

</summary>

ID stringOptional

The livestream ID.

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20data%20%3E%20(property)%20id">Link to this property</a>

IngestServer stringOptional

The server URL to which the RTMP encoder sends the video and audio data.

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20data%20%3E%20(property)%20ingest_server">Link to this property</a>

PlaybackURL stringOptional

The web address that viewers can use to watch the livestream.

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20data%20%3E%20(property)%20playback_url">Link to this property</a>

<details>

<summary>

Status LivestreamStartLivestreamingAMeetingResponseDataStatusOptional

</summary>

One of the following:

const LivestreamStartLivestreamingAMeetingResponseDataStatusLive LivestreamStartLivestreamingAMeetingResponseDataStatus = "LIVE"

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20data%20%3E%20(property)%20status%20%3E%20(member)%200">Link to this property</a>

const LivestreamStartLivestreamingAMeetingResponseDataStatusIdle LivestreamStartLivestreamingAMeetingResponseDataStatus = "IDLE"

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20data%20%3E%20(property)%20status%20%3E%20(member)%201">Link to this property</a>

const LivestreamStartLivestreamingAMeetingResponseDataStatusErrored LivestreamStartLivestreamingAMeetingResponseDataStatus = "ERRORED"

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20data%20%3E%20(property)%20status%20%3E%20(member)%202">Link to this property</a>

const LivestreamStartLivestreamingAMeetingResponseDataStatusInvoked LivestreamStartLivestreamingAMeetingResponseDataStatus = "INVOKED"

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20data%20%3E%20(property)%20status%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20data%20%3E%20(property)%20status">Link to this property</a>

StreamKey stringOptional

Unique key for accessing each livestream.

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20data%20%3E%20(property)%20stream_key">Link to this property</a>

</details>

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20data">Link to this property</a>

Success boolOptional

<a href="#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)%20%3E%20(property)%20success">Link to this property</a>

</details>

[Link to this property](<#(resource)%20realtime_kit.livestreams%20%3E%20(model)%20LivestreamStartLivestreamingAMeetingResponse%20%3E%20(schema)>)

### Start livestreaming a meeting

Go

HTTPTypeScriptPythonGoTerraform

```
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.Livestreams.StartLivestreamingAMeeting(
    context.TODO(),
    "14a396e7-ca44-4937-bf1f-050a69118543",
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    realtime_kit.LivestreamStartLivestreamingAMeetingParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
      Name: cloudflare.F("prdmmp-xhycsl"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Data)
}
```

201 example

```
{
  "data": {
    "id": "7088bba8-f522-49a8-b59b-3cd0e946bbb0",
    "ingest_server": "rtmps://live.cloudflare.com:443/live/",
    "playback_url": "https://customer-s8oj0c1n5ek8ah1e.cloudflarestream.com/7de6a3fec0f9c05bf1df140950d3a237/manifest/video.m3u8",
    "status": "INVOKED",
    "stream_key": "f26566285faca6fbe2e79a73a66rsrrsrrsr3cde23a2bb7dbc6c2c1761b98f4e4"
  },
  "success": true
}
```

##### Returns Examples

201 example

```
{
  "data": {
    "id": "7088bba8-f522-49a8-b59b-3cd0e946bbb0",
    "ingest_server": "rtmps://live.cloudflare.com:443/live/",
    "playback_url": "https://customer-s8oj0c1n5ek8ah1e.cloudflarestream.com/7de6a3fec0f9c05bf1df140950d3a237/manifest/video.m3u8",
    "status": "INVOKED",
    "stream_key": "f26566285faca6fbe2e79a73a66rsrrsrrsr3cde23a2bb7dbc6c2c1761b98f4e4"
  },
  "success": true
}
```