diff --git a/docusaurus/video/docusaurus/docs/api/basics/calls.mdx b/docusaurus/video/docusaurus/docs/api/basics/calls.mdx
index 3c444b14..ad950144 100644
--- a/docusaurus/video/docusaurus/docs/api/basics/calls.mdx
+++ b/docusaurus/video/docusaurus/docs/api/basics/calls.mdx
@@ -18,10 +18,12 @@ const callType = 'default';
const callId = 'my-first-call';
const call = client.call(callType, callId);
+call.create({ data: { created_by_id: 'john' } });
+// or
call.getOrCreate({ data: { created_by_id: 'john' } });
// optionally provide additional data
-call.getOrCreate({
+call.create({
data: {
created_by_id: 'john',
members: [{ user_id: 'john', role: 'admin' }, { user_id: 'jack' }],
diff --git a/docusaurus/video/docusaurus/docs/api/basics/get_started.mdx b/docusaurus/video/docusaurus/docs/api/basics/get_started.mdx
index 0085b34e..bffe72d2 100644
--- a/docusaurus/video/docusaurus/docs/api/basics/get_started.mdx
+++ b/docusaurus/video/docusaurus/docs/api/basics/get_started.mdx
@@ -137,10 +137,10 @@ const callType = 'default';
const callId = 'my-first-call';
const call = client.call(callType, callId);
-call.getOrCreate({ data: { created_by_id: 'john' } });
+call.create({ data: { created_by_id: 'john' } });
// optionally provide additional data
-call.getOrCreate({
+call.create({
data: {
created_by_id: 'john',
members: [{ user_id: 'john', role: 'admin' }, { user_id: 'jack' }],
@@ -458,8 +458,15 @@ curl -X POST "https://video.stream-io-api.com/video/call/default/${CALL_ID}/star
```js
-const resp = await call.getOrCreate();
-const address = resp.call.ingress.rtmp.address;
+const resp = await call.getOrCreate({ data: { created_by_id: 'john' } });
+// user ID of an existing user
+const userId = 'jane';
+const token = client.createToken(userId);
+
+const address = resp.call.ingress.rtmp.address.replace(
+ '',
+ token,
+);
```
diff --git a/docusaurus/video/docusaurus/docs/api/streaming/backstage.mdx b/docusaurus/video/docusaurus/docs/api/streaming/backstage.mdx
index e9bcc48b..2dbf99c0 100644
--- a/docusaurus/video/docusaurus/docs/api/streaming/backstage.mdx
+++ b/docusaurus/video/docusaurus/docs/api/streaming/backstage.mdx
@@ -5,12 +5,75 @@ slug: /streaming/backstage
title: Backstage
---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
## Introduction
## Configuration
+
+
+
+```js
+// call level
+call.update({
+ settings_override: {
+ backstage: {
+ enabled: true,
+ },
+ },
+});
+
+// or call type level
+client.updateCallType('', {
+ settings: {
+ backstage: {
+ enabled: true,
+ },
+ },
+});
+```
+
+
+
+
## Backstage Permissions
+
+
+
+```js
+client.updateCallType('', {
+ grants: {
+ host: [OwnCapability.JOIN_BACKSTAGE],
+ },
+});
+```
+
+
+
+
## Go Live
+
+
+
+```js
+call.goLive();
+```
+
+
+
+
## Stop Live
+
+
+
+
+```js
+call.stopLive();
+```
+
+
+
diff --git a/docusaurus/video/docusaurus/docs/api/streaming/rtmp.mdx b/docusaurus/video/docusaurus/docs/api/streaming/rtmp.mdx
index a4aa9dde..c4498094 100644
--- a/docusaurus/video/docusaurus/docs/api/streaming/rtmp.mdx
+++ b/docusaurus/video/docusaurus/docs/api/streaming/rtmp.mdx
@@ -5,8 +5,48 @@ slug: /streaming/rtmp
title: RTMP
---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
## RTMP support overview
## RTMP publishing
+
+
+
+```js
+const resp = await call.getOrCreate({ data: { created_by_id: 'john' } });
+// user ID of an existing user
+const userId = 'jane';
+const token = client.createToken(userId);
+
+const address = resp.call.ingress.rtmp.address.replace(
+ '',
+ token,
+);
+```
+
+
+
+
+```py
+def hello_world():
+ print("Hello, world!")
+```
+
+
+
+
+```go
+callResponse, err := client.GetOrCreateCall(models.CallTypeDefault, callID, &models.GetOrCreateCallRequest{})
+if err != nil {
+ panic(err)
+}
+addressToUse := callResponse.Call.Ingress.Rtmp.Address
+```
+
+
+
+
## RTMP relay