Bitmovin Templates API
The Templates API from Bitmovin — 2 operation(s) for templates.
The Templates API from Bitmovin — 2 operation(s) for templates.
openapi: 3.0.1
info:
title: Bitmovin Encoding Config Templates API
description: REST API for cloud-based VOD and live video encoding. Supports H.264, H.265/HEVC, VP9, AV1 and more, along with adaptive bitrate packaging (HLS/DASH/Smooth Streaming), DRM (Widevine, PlayReady, FairPlay), and per-title encoding optimisation.
version: '3.0'
termsOfService: https://bitmovin.com
contact:
name: Bitmovin Inc
url: https://bitmovin.com
email: support@bitmovin.com
servers:
- url: https://api.bitmovin.com/v1
description: Bitmovin Server
variables: {}
security:
- ApiKeyAuth: []
- ApiKeyAuth: []
TenantOrgId: []
tags:
- name: Templates
paths:
/encoding/templates:
post:
tags:
- Templates
summary: Store an Encoding Template
operationId: PostEncodingTemplates
description: 'Stores an Encoding Template that can be used later to start encodings or standby pools
'
requestBody:
description: The Encoding Template to be stored
content:
application/json:
schema:
$ref: '#/components/schemas/EncodingTemplateRequest'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/EncodingTemplateDetails'
- description: Stored Encoding Template info
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/templates/start:
post:
tags:
- Templates
summary: Start an Encoding defined with an Encoding Template
operationId: PostEncodingTemplatesStart
x-bitmovin:
isRpc: true
requestBody:
description: The Encoding Template to start an Encoding from
content:
application/json:
schema:
$ref: '#/components/schemas/EncodingTemplateRequest'
required: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/EncodingTemplateStartResponse'
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
components:
schemas:
BitmovinResponse:
title: BitmovinResponse
required:
- id
properties:
id:
type: string
readOnly: true
description: Id of the resource
example: cb90b80c-8867-4e3b-8479-174aa2843f62
Message:
title: Message
required:
- type
- text
allOf:
- $ref: '#/components/schemas/BitmovinResponse'
- properties:
type:
description: Message type giving a hint on the importance of the message (log level)
allOf:
- $ref: '#/components/schemas/MessageType'
text:
type: string
description: Message text
example: field must not be empty
field:
type: string
description: Name of the field to which the message is referring to
example: manifestId
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: collection of links to webpages containing further information on the topic
more:
type: object
description: Service-specific information
date:
type: string
format: date-time
description: Timestamp when the message occurred
example: '2016-06-25T20:09:23.69Z'
EncodingTemplateDetails:
title: EncodingTemplateDetails
required:
- url
allOf:
- $ref: '#/components/schemas/EncodingTemplateResponse'
- properties:
url:
readOnly: true
type: string
description: The url to download the template file
example: https://storage.bitmovin.com/path/to/your/template.yml
ResponseEnvelope:
title: ResponseEnvelope
required:
- requestId
- status
- data
properties:
requestId:
type: string
readOnly: true
description: Unique correlation id
example: 6d84e126-d10c-4e52-bbfb-bd4c92bc8333
status:
description: Response status information
readOnly: true
example: SUCCESS
allOf:
- $ref: '#/components/schemas/ResponseStatus'
data:
description: Response information
readOnly: true
allOf:
- $ref: '#/components/schemas/ResultWrapper'
more:
type: object
description: Additional endpoint specific information
ResponseStatus:
title: ResponseStatus
type: string
enum:
- SUCCESS
- ERROR
EncodingTemplateRequest:
description: "The template request object can be either a string (YAML/JSON) or a generic object that includes all the fields. \nPlease note that when sending the request as an object, the order of the fields is important, as it determines the sequence in which the Encoding resources are created.\n"
type: object
ResponseErrorData:
title: ResponseErrorData
required:
- code
- message
- developerMessage
properties:
code:
type: integer
readOnly: true
description: 'Contains an error code as defined in https://bitmovin.com/encoding-documentation/bitmovin-api/#/introduction/api-error-codes
'
example: 1005
message:
type: string
readOnly: true
description: General error message
developerMessage:
type: string
readOnly: true
description: More detailed message meant for developers
links:
type: array
readOnly: true
items:
$ref: '#/components/schemas/Link'
description: collection of links to webpages containing further information on the topic
details:
type: array
readOnly: true
items:
$ref: '#/components/schemas/Message'
description: collection of messages containing more detailed information on the cause of the error
ResultWrapper:
title: ResultWrapper
properties:
result:
type: object
readOnly: true
EncodingTemplateResponse:
title: EncodingTemplateResponse
required:
- type
allOf:
- $ref: '#/components/schemas/BitmovinResource'
- properties:
type:
allOf:
- $ref: '#/components/schemas/EncodingTemplateType'
EncodingTemplateType:
title: EncodingTemplateType
description: The Encoding Template type
type: string
enum:
- VOD
- LIVE
example: VOD
x-enum-elements:
- name: VOD
description: VOD Encoding Template
- name: LIVE
description: Live Encoding Template
BitmovinResource:
title: BitmovinResource
allOf:
- $ref: '#/components/schemas/BitmovinResponse'
- properties:
name:
type: string
description: Name of the resource. Can be freely chosen by the user.
example: Name of the resource
description:
type: string
description: Description of the resource. Can be freely chosen by the user.
example: Description of the resource
createdAt:
type: string
format: date-time
readOnly: true
description: 'Creation timestamp, returned as UTC expressed in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ'
example: '2016-06-25T20:09:23.69Z'
modifiedAt:
type: string
format: date-time
readOnly: true
description: 'Modified timestamp, returned as UTC expressed in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ'
example: '2016-06-25T20:09:23.69Z'
customData:
type: string
writeOnly: true
description: User-specific meta data. This can hold anything.
additionalProperties:
type: object
ResponseError:
title: ResponseError
required:
- requestId
- status
- data
properties:
requestId:
type: string
readOnly: true
description: Unique correlation id
example: 6d84e126-d10c-4e52-bbfb-bd4c92bc8333
status:
description: Response status information
readOnly: true
example: ERROR
allOf:
- $ref: '#/components/schemas/ResponseStatus'
data:
description: Response information
readOnly: true
allOf:
- $ref: '#/components/schemas/ResponseErrorData'
EncodingTemplateStartResponse:
title: EncodingTemplateStartResponse
required:
- encodingId
properties:
encodingId:
type: string
readOnly: true
description: Id of the Encoding that is created
example: 7cbb69ed-83f9-40a4-a162-a66e570ce910
Link:
title: Link
required:
- href
properties:
href:
type: string
description: webpage target URL
example: https://bitmovin.com/encoding-documentation/bitmovin-api/#/reference/encoding/manifests/add-period
title:
type: string
description: Short description of the linked page
example: how to add a period to a manifest
MessageType:
title: MessageType
type: string
enum:
- ERROR
- WARNING
- INFO
- DEBUG
- TRACE
securitySchemes:
ApiKeyAuth:
type: apiKey
description: Your Bitmovin API key
name: X-Api-Key
in: header
TenantOrgId:
type: apiKey
description: Your Bitmovin account organization
name: X-Tenant-Org-Id
in: header