Bitmovin Templates API
The Templates API from Bitmovin — 2 operation(s) for templates.
The Templates API from Bitmovin — 2 operation(s) for templates.
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/bitmovin-templates-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: 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:
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
ResultWrapper:
title: ResultWrapper
properties:
result:
type: object
readOnly: true
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
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
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
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
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
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'
ResponseStatus:
title: ResponseStatus
type: string
enum:
- SUCCESS
- ERROR
BitmovinResponse:
title: BitmovinResponse
required:
- id
properties:
id:
type: string
readOnly: true
description: Id of the resource
example: cb90b80c-8867-4e3b-8479-174aa2843f62
MessageType:
title: MessageType
type: string
enum:
- ERROR
- WARNING
- INFO
- DEBUG
- TRACE
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
EncodingTemplateResponse:
title: EncodingTemplateResponse
required:
- type
allOf:
- $ref: '#/components/schemas/BitmovinResource'
- properties:
type:
allOf:
- $ref: '#/components/schemas/EncodingTemplateType'
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'
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