Bitmovin Templates API

The Templates API from Bitmovin — 2 operation(s) for templates.

Operations 2

POST /encoding/templates Store an Encoding Template #
POST /encoding/templates/start Start an Encoding defined with an Encoding Template #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bitmovin-templates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

bitmovin-templates-api-openapi.yml Raw ↑
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