Brightcove Redundant Groups API
Operations for creating redundant groups of live jobs for failover in case one stream fails
Operations for creating redundant groups of live jobs for failover in case one stream fails
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-redundant-groups-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 Redundant Groups 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: Redundant Groups
description: Operations for creating redundant groups of live jobs for failover in case one stream fails
paths:
/redundantgroups:
post:
tags:
- Redundant Groups
summary: Create Redundant Group
description: Creates a redundant group of live jobs to provide failover in case one stream fails
operationId: CreateRedundantGroup
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
requestBody:
description: Create a redundant group of multiple Live jobs
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRedundantGroup'
required: true
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRedundantGroupResponse'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'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
get:
tags:
- Redundant Groups
summary: Get Redundant Groups
description: Get redundant groups for the account
operationId: GetRedundantGroups
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/start_token'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/sort_dir'
- $ref: '#/components/parameters/user_id'
- $ref: '#/components/parameters/account_id'
- $ref: '#/components/parameters/RedundantGroupState'
- $ref: '#/components/parameters/page_size'
- name: created_at
in: query
description: Filter results by Unix time of group creation (in milliseconds)
required: false
schema:
type: integer
- name: updated_at
in: query
description: Filter results by Unix time of group last updated (in milliseconds)
required: false
schema:
type: integer
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/GetRedundantGroupResponse'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'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
/redundantgroups/{redundant_group_id}/jobs:
post:
tags:
- Redundant Groups
summary: Add Jobs to Redundant Group
description: Add Jobs to Redundant Group
operationId: AddJobsRedundantGroup
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/redundant_group_id'
requestBody:
description: Create a redundant group of multiple Live jobs
content:
application/json:
schema:
$ref: '#/components/schemas/AddJobsRedundantGroupRequest'
required: true
responses:
'200':
description: A success response will just contain the group id
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'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
/redundantgroups/{redundant_group_id}/jobs/{job_id}:
delete:
tags:
- Redundant Groups
summary: Remove a Job from Redundant Group
description: Remove the specified Jobs from a Redundant Group; normally the operation will not remove the job that is currently `on_air`, but adding the `force=true` query parameter will remove it
operationId: RemoveJobRedundantGroup
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/redundant_group_id'
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/force'
responses:
'204':
description: 204 NO_CONTENT
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'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
/redundantgroups/{redundant_group_id}:
get:
tags:
- Redundant Groups
summary: Get Redundant Group Status
description: Get the current status of a redundant group
operationId: GetStatusRedundantGroup
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/redundant_group_id'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/GetStatusRedundantGroupResponse'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'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
delete:
tags:
- Redundant Groups
summary: Delete a redundant group
description: Deletes a redundant group and ends the redundant stream. Note that alternatively you can put the stream in standby mode by removing all jobs from it.
operationId: DeleteRedundantGroup
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/redundant_group_id'
- $ref: '#/components/parameters/force'
responses:
'204':
description: 204 NO_CONTENT
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'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
/redundantgroups/{redundant_group_id}/switch:
put:
tags:
- Redundant Groups
summary: Force Redundant Stream Failover
description: Force failover from the `on_air` stream to a specified secondary stream; note that you can also accomplish this by stopping the encoder for the `on_air` stream.
operationId: ForceRedundantStreamFailover
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/redundant_group_id'
- $ref: '#/components/parameters/force'
requestBody:
description: Force failover to a secondary job
content:
application/json:
schema:
$ref: '#/components/schemas/ForceRedundantStreamFailover'
required: true
responses:
'200':
description: '200'
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the redundant group
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'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
/redundantgroups/{redundant_group_id}/activate:
put:
tags:
- Redundant Groups
summary: Activates all SEP Jobs in the Group
description: Activates all SEP Jobs in the Redundant Group.
operationId: ActivateRedundantGroup
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/redundant_group_id'
responses:
'200':
description: '200'
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the redundant group
jobs:
type: array
description: Array of objects.
items:
type: object
description: Object containing either an id for a job that was activated or an error message for jobs that failed to activate.
properties:
id:
type: string
description: ID of an SEP job that was activated
error:
type: string
description: Error message for a job that failed to activate
example:
id: 3d68bcec490849bea6970be4646f5fd9
jobs:
- id: f19fdcfaf84d4b55b603c177cbb72f8f
- error: Error activating Job
'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
/redundantgroups/{redundant_group_id}/deactivate:
put:
tags:
- Redundant Groups
summary: Deactivates all SEP Jobs in the Group
description: Deactivates all SEP Jobs in the Redundant Group.
operationId: DeactivateRedundantGroup
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/redundant_group_id'
responses:
'200':
description: '200'
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: ID of the redundant group
jobs:
type: array
description: Array of objects.
items:
type: object
description: Object containing either an id for a job that was activated or an error message for jobs that failed to deactivate.
properties:
id:
type: string
description: ID of an SEP job that was deactivated
error:
type: string
description: Error message for a job that failed to deactivate
example:
id: 3d68bcec490849bea6970be4646f5fd9
jobs:
- id: f19fdcfaf84d4b55b603c177cbb72f8f
- error: Error deactivating Job
'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
/redundantgroups/{redundant_group_id}/cuepoint:
post:
tags:
- Redundant Groups
summary: Insert cuepoint for redundant group
description: Manually inserts a cuepoint for a redundant Live job.
operationId: InsertCuepointRedundantGroup
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/redundant_group_id'
requestBody:
description: Inserts a manual Cue-Out with a duration to the Live ingest point for the redundant group.
content:
application/json:
schema:
$ref: '#/components/schemas/ManualAdCuePointInsertionbody'
required: true
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/RedundantGroupCuePointInsertionResponse'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'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
/redundantgroups/{redundant_group_id}/playback-token:
post:
tags:
- Redundant Groups
summary: Create playback token for a redundant group
description: 'Redundant groups created via the Live module in Studio (or by specifying `videocloud.video` when creating a redundant group directly through the API) automatically create a special Video Cloud video that, when used in a Brightcove player, makes use of the `ad_config_id` property to select the specific source desired (i.e. SSAI source, DVR/no DVR, BYOCDN). Redundant groups which have SSAI enabled must always provide an `ad_config_id` in the player, even if the source desired is non-SSAI (this prevents an end user from omitting the `ad_config_id` and receiving a clear stream). **This applies only to live Video Cloud videos created via the Live module or Live API - manually created Video Cloud remote assets have no such restriction.**
The request returns a generated `playback_token`.
This behavior is handled automatically when you publish a live video from the Live module publishing screen, but may be useful if you have a custom workflow'
operationId: CreatePlaybackTokenRedundantGroup
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
- $ref: '#/components/parameters/redundant_group_id'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/RedundantGroupCreatePlaybackTokenResponse'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'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:
schemas:
CreateLiveJobRequestBody.addCdns:
properties:
label:
description: A label to identify the CDN.
type: string
prepend:
description: CDN hostname to be prepended to addresses
type: string
protocol:
description: Protocol to use for the stream delivery
enum:
- http
- https
type: string
token_auth:
$ref: '#/components/schemas/CreateLiveJobRequestBody.addCdns.tokenAuth'
vendor:
description: CDN vendor such as akamai
type: string
required:
- label
- prepend
- protocol
title: Create_Live_Job_Request_Body.add_cdns
type: object
CreateLiveJobRequestBody.addCdns.tokenAuth.media:
description: Object containing tokenization properties
properties:
end_time:
description: The time to end token auth, epoch time in seconds
format: int32
type: integer
start_time:
default: now
description: The time to apply token auth - "now" or epoch time in seconds
format: int32
oneOf:
- type: integer
- enum:
- now
type: string
ttl:
description: The time to live in seconds - either `end_time` or `ttl` is required
format: int32
type: integer
title: Create_Live_Job_Request_Body.add_cdns.token_auth.media
type: object
ForceRedundantStreamFailover:
title: Force failover request body
type: object
properties:
mode:
type: string
enum:
- auto
- manual
default: auto
description: 'The mode for failover. `manual` means automatic failover will **not** occur. To resume automatic failover, you must submit another request with `mode: auto`'
on_air:
type: string
description: The id of the job that should be used for streaming. To force failover, this must be a different job than the one that is currently `on_air`
ManualAdCuePointInsertionbody:
properties:
ad_server_data:
description: a set of any variables (key/value pairs) that should be passed to the adServer
type: object
cancel:
description: When `true`, cuepoint specified by `cuepoint_id` will be canceled. If an ad break is already in progress, a crash-out will occur, returning to the main content.
type: boolean
default: false
cuepoint_id:
description: ID to use when creating cuepoint. If `cancel` is `true`, then this field is required and is the ID of cuepoint to cancel.
type: string
duration:
description: An integer value to indicate the length of the ad break in seconds
type: number
timecode:
description: "'When to insert the cuepoint in SMPTE HH:MM:SS:FF format from the stream start (FF = frames); if omitted, the cuepoint will be inserted immediately. Note:\n 1. If you use the timecode property, the job only only stores the most recent request for insertion\n 2. If you use the timecode property, the encoder must be sending SMPTE-formatted (HH:MM:SS:FF) timecode stored in the `tc` property via `OnFI`\n 3. Software encoders such as Wirecast and OBS do not support the sending timecode via `OnFI` packets in the RTMP stream\n 4. Elemental hardware encoders do support the sending timecode via `OnFI` packets in the RTMP stream'"
type: string
example:
ad_server_data:
subject: wildlife
duration: 30
timecode: 09:23:18:05
required:
- duration
title: Manual_Ad_Cue_Point_InsertionBody
type: object
CreateLiveJobRequestBody.videocloud:
properties:
account_id:
description: The Video Cloud Account ID the video for the remote asset live stream should be created in. Only required if the account ID is not the default configured in your Live account. If set, you must also set the `videocloud.credentials` property.
type: number
credentials:
description: Credentials to use for Video Cloud authentication. Only required if you set `videocloud.account_id`.
type: string
live_to_vod:
type: boolean
default: false
description: If set to `true`, a full VOD version of the live event will be created after the event is complete. Requires that there is a Video Cloud account associated with the Live account, *and* the `videocloud.video` property is set.
mode:
type: string
description: Expedite clip publishing by leveraging existing live renditions and segment boundaries
enum:
- instant
video:
$ref: '#/components/schemas/CreateLiveJobRequestBody.videocloud.video'
required:
- video
title: Create_Live_Job_Request_Body.videocloud
type: object
description: Video Cloud customers have the option to create a video to use for the live stream. The `videocloud` object in the `job` settings is used for this purpose. If you want to define VOD clips to send to Video Cloud, use the `videocloud` object in `outputs`.
RedundantGroupCuePointInsertionResponse:
properties:
id:
type: string
description: The redundant group id
jobs:
type: array
items:
type: object
description: Job details
properties:
id:
type: string
description: The Live job id
error:
type: string
description: An error message returned if the cuepoint insertion failed
cue_point:
type: object
description: The cuepoint details
properties:
accuracy:
type: string
description: The accuracy of the timing
enum:
- segment
- frame
duration:
type: integer
description: The duration of the break in seconds
id:
type: string
description: Cuepoint id
example:
id: 3ae7fa89943f4a96aa273fbbf175d527
jobs:
- id: 3fbbf175d5273ae7fa89943f4a96aa27
cue_point:
accuracy: segment
duration: 30
id: 3f273ae4a96aa273ae4a96aafa8994
- id: 7fa89943f3fbbf175d5273ae4a96aa27
error: error message
- id: 3ae4a96aa277fa89943f3fbbf175d527
cue_point:
accuracy: segment
duration: 30
id: 3f273ae4a96aa273ae4a96aafa8994
title: Redundant Group Cuepoint Insertion Response
type: object
RedundantGroupCreatePlaybackTokenResponse:
properties:
playback_token:
type: string
description: The playback token
example: live.6cGp7MDhWW4wXw0FKlTM_kruqzN4QO2eklBJhrXt8tBnSCKyuwwBReptfp91K5bBUdfRALYlnu-QXhb9xGEJYR9UCkmGdfwqJqKhx7gngzIg43L9ByQmEMUc"
title: Redundant Group Playback Token Response
type: object
CreateLiveJobRequestBody.addCdns.tokenAuth:
description: 'Token authentication details
**Note: If you don''t have your secret key for Akamai, or need to have a new one, contact your Customer Success Manager or Brightcove Support.**'
properties:
auth_type:
description: Token authentication type - currently, the only supported value is `Akamai2.0`
type: string
key:
description: Your Akamai token auth password
type: string
media:
$ref: '#/components/schemas/CreateLiveJobRequestBody.addCdns.tokenAuth.media'
token_name:
description: Your Akamai token token name
type: string
required:
- auth_type
- key
- token_name
title: Create_Live_Job_Request_Body.add_cdns.token_auth
type: object
CreateRedundantGroupResponse:
properties:
id:
type: string
description: ID of the redundant group
processing_regions:
type: array
description: The processing regions defined for the group
storage_regions:
type: array
description: The storage regions defined for the group
jobs:
type: array
description: Array of live job ids included in the group
state:
type: string
description: The current state of the group
enum:
- CANCELLED
- CANCELLING
- DELETING
- DISCONNECTED
- FAILED
- FINISHED
- FINISHING
- PROCESSING
- STANDBY
- WAITING
live_dvr_sliding_window_duration:
type: integer
description: Duration of live DVR sliding window in seconds
label:
type: string
description: The label for the group
status:
type: object
description: The properties will be processing regions and the value their current status
ad_insertion:
type: boolean
description: Whether this group is SSAI enabled
outputs:
type: object
description: Outputs for the group
example:
id: 91c268a6ec5240d79a6004f4ccf0dc6f
account_id: a95ac581551b4478b27910e5675db1f8
user_id: c2691d4d039040be96c190a949d754a7
processing_regions:
- region: us-west-2
probability: 1
storage_regions:
- us-west-2
- us-east-1
jobs: []
state: standby
label: Test Redundant Group
live_dvr_sliding_window_duration: 86400
status:
us-west-2: null
outputs:
playback_url: https://bcovlive-a.akamaihd.net/r91c268a6ec5240d79a6004f4ccf0dc6f/us-west-2/NA/playlist.m3u8
playback_url_dvr: https://bcovlive-a.akamaihd.net/r91c268a6ec5240d79a6004f4ccf0dc6f/us-west-2/NA/playlist_dvr.m3u8
CreateRedundantGroup:
title: Create Redundant Group Request Body
properties:
ad_insertion:
type: boolean
description: Set to true if this stream should be SSAI enabled
add_cdns:
description: Array of additional CDN providers
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/brightcove/refs/heads/main/openapi/brightcove-redundant-groups-api-openapi.yml