Brightcove RTMP Outputs API
Operations for creating and managing RTMP outputs. Note that RTMP output hours will be billed against event hours.
Operations for creating and managing RTMP outputs. Note that RTMP output hours will be billed against event hours.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/brightcove-rtmp-outputs-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Live API Reference RTMP Outputs API
description: 'Reference for the Brightcove Live API, used to create and manage live streaming events.
For additional in-depth guides to features of the API, see the **[Support Site](/live-api/index.html)**.
**Base URL**: https://api.bcovlive.io/v1'
version: 1.0.0
servers:
- url: https://api.bcovlive.io/v1
variables: {}
tags:
- name: RTMP Outputs
description: Operations for creating and managing RTMP outputs. Note that RTMP output hours will be billed against event hours.
paths:
/jobs/{job_id}/rtmpouts:
get:
tags:
- RTMP Outputs
summary: List RTMP Outputs
description: 'Get a list of RTMP outputs. See [Live API: RTMP Outputs](/live-api/guides/live-api-rtmp-outputs.html) for more information on RTMP outputs.'
operationId: GetRTMPOutputs
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/XAPIKEY'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/ListRTMPOutputs'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
post:
tags:
- RTMP Outputs
summary: Create RTMP Output
description: 'Create an RTMP output. See [Live API: RTMP Outputs](/live-api/guides/live-api-rtmp-outputs.html) for more information on RTMP outputs.'
operationId: CreateRTMPOutput
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/XAPIKEY'
requestBody:
description: Create an RTMP output request body
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRTMPOutputRequestBody'
required: true
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRTMPOutputResponse'
'400':
description: 'BAD_REQUEST: Bad Request - RTMP outputs limit reached, failed to add (most likely you have reached the limit of active RTMP outputs for your account; the default limit is 5)'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/jobs/{job_id}/rtmpouts/{rtmp_out_id}/stop:
put:
tags:
- RTMP Outputs
summary: Stop RTMP Output
description: 'Stop an RTMP output. See [Live API: RTMP Outputs](/live-api/guides/live-api-rtmp-outputs.html) for more information on RTMP outputs.'
operationId: StopRTMPOutput
parameters:
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/rtmp_out_id'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/StopRTMPOutputResponse'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
components:
parameters:
rtmp_out_id:
name: rtmp_out_id
in: path
description: RTMP output ID
required: true
style: simple
explode: false
schema:
type: string
JobId:
name: job_id
in: path
description: Live job ID
required: true
style: simple
explode: false
schema:
type: string
XAPIKEY:
name: X-API-KEY
in: header
description: 'X-API-KEY: {Your_Live_API_Key}'
required: true
style: simple
explode: false
schema:
type: string
schemas:
CreateRTMPOutputRequestBody:
title: Create RTMP Output Request Body
description: Request body for requests to create an RTMP output
type: object
properties:
url:
type: string
description: URL for the RTMP output
example: rtmp://host:port/application/streamName
output_label:
type: string
description: The label of the job output to use as the source for the RTMP output. Omit this parameter to simply forward the RTMP input instead.
required:
- url
CreateRTMPOutputResponse:
title: Create RTMP output success response
description: Create RTMP output success response
type: object
properties:
connection_info:
type: object
description: Information on the connection URL
properties:
host:
type: string
description: Host URL
port:
type: integer
description: The port number
application:
type: string
description: The application name in the path
streamName:
type: string
description: The stream name in the path
duration_history:
type: array
description: Array of durations for connections
items:
type: integer
description: A connection duration in seconds
rtmp_out_id:
type: string
description: System id for the RTMP output
stream_start:
type: integer
description: Time of the stream start in Epoch time (milliseconds)
example:
connection_info:
host: live-api-s.facebook.com
port: 80
application: rtmp
streamName: foo-bar
duration_history: []
rtmp_out_id: foo
stream_start: 1542731746032
ListRTMPOutputs:
title: List RMTP Outputs
description: Response to GET request for RTMP outputs - array of RTMP outputs objects
type: array
items:
$ref: '#/components/schemas/RTMPout'
example:
- rtmp_out_id: asdfg-lkjh
stream_start: 1538746255247
connection_info:
host: a.rtmp.youtube.com
port: 1935
application: live2
streamName: myStream
sessionStatus: Active
duration_history:
- stream_start: 1557933191000
stream_end: 1557936731000
waiting_for_start: false
StopRTMPOutputResponse:
title: Stop RTMP output response
description: Success response for stopping and RTMP output
type: object
properties:
message:
type: string
description: Success message
example: '{ "message": "RTMP out asdfg-lkjh deleted successfully" }'
RTMPout:
title: RTMP Output
type: object
description: RTMP output object
properties:
rtmp_out_id:
type: string
description: system id for the RTMP output
stream_start:
type: integer
description: Start time of the output in Epoch time (milliseconds)
state:
type: string
description: Current state of the RTMP output stream
enum:
- connected
- disconnected
- error
- starting
duration_history:
type: array
description: Array of durations for connections
items:
type: object
description: A connection start and stop
properties:
stream_start:
type: integer
description: The epoch time (in milliseconds) that a stream connected
stream_end:
type: integer
description: The epoch time (in milliseconds) that a stream disconnected
connection_info:
type: object
description: Details of the connection information
properties:
host:
type: string
description: Host URL
port:
type: integer
description: The port number
application:
type: string
description: The application name in the path
streamName:
type: string
description: The stream name in the path
sessionStatus:
type: string
description: The current session status
enum:
- Active
- Inactive
waiting_for_start:
type: boolean
description: 'For SEP jobs. If `true`, the SEP job was deactivated but the RTMP output was not stopped and the next time you activate the stream on the SEP job there will be an attempt to reconnect the RTMP output.
If `waiting_for_start` is `false`, it means the RTMP output was stopped.'