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