{
  "opencollection": "1.0.0",
  "info": {
    "name": "YouTube Live Streaming API",
    "version": "v3"
  },
  "request": {
    "auth": {
      "type": "oauth2",
      "flow": "authorization_code",
      "authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
      "accessTokenUrl": "https://oauth2.googleapis.com/token",
      "credentials": {
        "clientId": "{{clientId}}",
        "clientSecret": "{{clientSecret}}"
      }
    }
  },
  "items": [
    {
      "info": {
        "name": "LiveBroadcasts",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Youtube List Live Broadcasts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.googleapis.com/youtube/v3/liveBroadcasts",
            "params": [
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "id",
                "value": "abc123def456",
                "type": "query",
                "description": "Comma-separated list of YouTube broadcast IDs for the resources being retrieved."
              },
              {
                "name": "mine",
                "value": "true",
                "type": "query",
                "description": "Set this parameter to true to instruct the API to return only broadcasts owned by the authenticated user."
              },
              {
                "name": "broadcastStatus",
                "value": "active",
                "type": "query",
                "description": "Filters the API response to only include broadcasts with the specified status."
              },
              {
                "name": "broadcastType",
                "value": "all",
                "type": "query",
                "description": "Filters results by the type of broadcast. Acceptable values are event and persistent."
              },
              {
                "name": "maxResults",
                "value": "",
                "type": "query",
                "description": "The maximum number of items that should be returned in the result set. Acceptable values are 0 to 50, inclusive."
              },
              {
                "name": "pageToken",
                "value": "",
                "type": "query",
                "description": "Identifies a specific page in the result set that should be returned. The nextPageToken property in the API response identifies other pages that are available."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ]
          },
          "docs": "Returns a list of YouTube broadcasts that match the API request parameters. You can retrieve broadcasts for the authenticated user or retrieve specific broadcasts by their IDs."
        },
        {
          "info": {
            "name": "Youtube Create a Live Broadcast",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.googleapis.com/youtube/v3/liveBroadcasts",
            "params": [
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a broadcast. The authenticated user must be authorized to create broadcasts. After creating the broadcast, you will need to bind it to a stream and set it live."
        },
        {
          "info": {
            "name": "Youtube Update a Live Broadcast",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://www.googleapis.com/youtube/v3/liveBroadcasts",
            "params": [
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a broadcast's settings. The authenticated user must own the broadcast being updated. Note that certain properties cannot be modified after a broadcast goes live."
        },
        {
          "info": {
            "name": "Youtube Delete a Live Broadcast",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://www.googleapis.com/youtube/v3/liveBroadcasts",
            "params": [
              {
                "name": "id",
                "value": "abc123def456",
                "type": "query",
                "description": "The ID of the broadcast to delete."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ]
          },
          "docs": "Deletes a broadcast. The authenticated user must own the broadcast being deleted. Broadcasts cannot be deleted while they are in the live or testing status."
        },
        {
          "info": {
            "name": "Youtube Bind Broadcast to Stream",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.googleapis.com/youtube/v3/liveBroadcasts/bind",
            "params": [
              {
                "name": "id",
                "value": "abc123def456",
                "type": "query",
                "description": "The id parameter specifies the unique ID of the broadcast that is being bound to a video stream."
              },
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "streamId",
                "value": "500123",
                "type": "query",
                "description": "The streamId parameter specifies the unique ID of the video stream that is being bound to a broadcast. If this parameter is omitted, the API will remove any existing binding between the broadcast and a video stream."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ]
          },
          "docs": "Binds a YouTube broadcast to a stream or removes an existing binding between a broadcast and a stream. A broadcast can only be bound to one video stream, though a video stream may be bound to more than one broadcast."
        },
        {
          "info": {
            "name": "Youtube Transition Broadcast State",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.googleapis.com/youtube/v3/liveBroadcasts/transition",
            "params": [
              {
                "name": "id",
                "value": "abc123def456",
                "type": "query",
                "description": "The id parameter specifies the unique ID of the broadcast that is transitioning to another status."
              },
              {
                "name": "broadcastStatus",
                "value": "complete",
                "type": "query",
                "description": "The broadcastStatus parameter identifies the state to which the broadcast is changing."
              },
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ]
          },
          "docs": "Changes the status of a YouTube live broadcast and initiates any processes associated with the new status. Valid transitions are: ready -> testing, testing -> live, live -> complete, ready -> live (skips testing state)."
        }
      ]
    },
    {
      "info": {
        "name": "LiveStreams",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Youtube List Live Streams",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.googleapis.com/youtube/v3/liveStreams",
            "params": [
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "id",
                "value": "abc123def456",
                "type": "query",
                "description": "Comma-separated list of live stream IDs for the resources being retrieved."
              },
              {
                "name": "mine",
                "value": "true",
                "type": "query",
                "description": "Set this parameter to true to instruct the API to return only streams owned by the authenticated user."
              },
              {
                "name": "maxResults",
                "value": "",
                "type": "query",
                "description": "The maximum number of items that should be returned in the result set. Acceptable values are 0 to 50, inclusive."
              },
              {
                "name": "pageToken",
                "value": "",
                "type": "query",
                "description": "Identifies a specific page in the result set that should be returned. The nextPageToken property in the API response identifies other pages that are available."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ]
          },
          "docs": "Returns a list of video streams that match the API request parameters. You can retrieve streams for the authenticated user or retrieve specific streams by their IDs."
        },
        {
          "info": {
            "name": "Youtube Create a Live Stream",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.googleapis.com/youtube/v3/liveStreams",
            "params": [
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a video stream. The stream enables you to send your video to YouTube, which can then broadcast the video to your audience. After creating the stream you must bind it to a broadcast."
        },
        {
          "info": {
            "name": "Youtube Update a Live Stream",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://www.googleapis.com/youtube/v3/liveStreams",
            "params": [
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a video stream. If the properties that you want to change cannot be updated, you need to create a new stream with the proper settings."
        },
        {
          "info": {
            "name": "Youtube Delete a Live Stream",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://www.googleapis.com/youtube/v3/liveStreams",
            "params": [
              {
                "name": "id",
                "value": "abc123def456",
                "type": "query",
                "description": "The ID of the live stream to delete."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ]
          },
          "docs": "Deletes a video stream. The authenticated user must own the stream being deleted. Streams bound to active or scheduled broadcasts cannot be deleted."
        }
      ]
    },
    {
      "info": {
        "name": "LiveChatMessages",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Youtube List Live Chat Messages",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.googleapis.com/youtube/v3/liveChatMessages",
            "params": [
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "liveChatId",
                "value": "500123",
                "type": "query",
                "description": "The liveChatId parameter specifies the ID of the live chat whose messages will be returned. The live chat ID associated with a broadcast is returned in the liveBroadcast resource's snippet.liveChatId property."
              },
              {
                "name": "maxResults",
                "value": "",
                "type": "query",
                "description": "The maximum number of items that should be returned in the result set. Acceptable values are 0 to 50, inclusive."
              },
              {
                "name": "pageToken",
                "value": "",
                "type": "query",
                "description": "Identifies a specific page in the result set that should be returned. The nextPageToken property in the API response identifies other pages that are available."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ]
          },
          "docs": "Lists live chat messages for a specific live broadcast. This method does not support filtering by user. The list is ordered chronologically, starting with the earliest message."
        },
        {
          "info": {
            "name": "Youtube Send a Live Chat Message",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.googleapis.com/youtube/v3/liveChatMessages",
            "params": [
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Adds a message to a live chat. The authenticated user must be authorized to participate in the chat. Some chat types may have restrictions on who can send messages."
        },
        {
          "info": {
            "name": "Youtube Delete a Live Chat Message",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://www.googleapis.com/youtube/v3/liveChatMessages",
            "params": [
              {
                "name": "id",
                "value": "abc123def456",
                "type": "query",
                "description": "The ID of the live chat message to delete."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ]
          },
          "docs": "Deletes a chat message. The authenticated user must be the author of the message or a moderator of the live chat to delete the message."
        }
      ]
    },
    {
      "info": {
        "name": "LiveChatModerators",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Youtube List Live Chat Moderators",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.googleapis.com/youtube/v3/liveChatModerators",
            "params": [
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "liveChatId",
                "value": "500123",
                "type": "query",
                "description": "The liveChatId parameter specifies the YouTube live chat for which the API should return moderators."
              },
              {
                "name": "maxResults",
                "value": "",
                "type": "query",
                "description": "The maximum number of items that should be returned in the result set. Acceptable values are 0 to 50, inclusive."
              },
              {
                "name": "pageToken",
                "value": "",
                "type": "query",
                "description": "Identifies a specific page in the result set that should be returned. The nextPageToken property in the API response identifies other pages that are available."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ]
          },
          "docs": "Lists moderators for a live chat. This list is ordered by date added, with the most recently added moderator first."
        },
        {
          "info": {
            "name": "Youtube Add a Live Chat Moderator",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.googleapis.com/youtube/v3/liveChatModerators",
            "params": [
              {
                "name": "part",
                "value": "",
                "type": "query",
                "description": "Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Adds a new moderator for a live chat. The authenticated user must own the live broadcast associated with the chat to add moderators."
        },
        {
          "info": {
            "name": "Youtube Remove a Live Chat Moderator",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://www.googleapis.com/youtube/v3/liveChatModerators",
            "params": [
              {
                "name": "id",
                "value": "abc123def456",
                "type": "query",
                "description": "The ID of the live chat moderator to remove."
              },
              {
                "name": "key",
                "value": "",
                "type": "query",
                "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
              }
            ]
          },
          "docs": "Removes a chat moderator. The authenticated user must own the live broadcast associated with the chat to remove moderators."
        }
      ]
    }
  ],
  "bundled": true
}