Bitmovin Config API

The Config API from Bitmovin — 2 operation(s) for config.

OpenAPI Specification

bitmovin-config-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Bitmovin Encoding Config 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: Config
paths:
  /streams/config/domain-restriction/{domain_restriction_id}:
    delete:
      tags:
      - Config
      summary: Delete streams domain restriction by id
      operationId: DeleteStreamsDomainRestriction
      parameters:
      - name: domain_restriction_id
        in: path
        description: Id of the streams domain restriction.
        style: simple
        required: true
        schema:
          type: string
          example: cbp330cc4dci2iv9bc9g
      responses:
        '204':
          description: Successful response.
        default:
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseError'
    get:
      tags:
      - Config
      summary: Get streams domain restriction config by id
      operationId: GetStreamDomainRestrictionById
      parameters:
      - name: domain_restriction_id
        in: path
        description: Id of the streams domain restriction.
        style: simple
        required: true
        schema:
          type: string
          example: cbp330cc4dci2iv9bc9g
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ResponseEnvelope'
                - properties:
                    data:
                      properties:
                        result:
                          allOf:
                          - $ref: '#/components/schemas/StreamsDomainRestrictionResponse'
        default:
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseError'
    patch:
      tags:
      - Config
      summary: Partially update streams domain restriction by id
      operationId: PatchStreamsDomainRestriction
      parameters:
      - name: domain_restriction_id
        in: path
        description: Id of the streams domain restriction.
        style: simple
        required: true
        schema:
          type: string
          example: cbp330cc4dci2iv9bc9g
      requestBody:
        required: true
        description: The updated streams domain restriction object.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StreamsDomainRestrictionUpdateRequest'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ResponseEnvelope'
                - properties:
                    data:
                      properties:
                        result:
                          $ref: '#/components/schemas/StreamsDomainRestrictionResponse'
        default:
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseError'
  /streams/config/domain-restriction:
    get:
      tags:
      - Config
      summary: Get paginated list of domain restriction configurations
      operationId: GetStreamsDomainRestriction
      parameters:
      - name: offset
        in: query
        description: Index of the first item to return, starting at 0. Default is 0
        style: form
        schema:
          type: integer
          example: '0'
      - name: limit
        in: query
        description: Maximum number of items to return. Default is 25, maximum is 100
        style: form
        schema:
          type: integer
          example: '25'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ResponseEnvelope'
                - properties:
                    data:
                      properties:
                        result:
                          allOf:
                          - $ref: '#/components/schemas/PaginationResponse'
                          - properties:
                              items:
                                description: List of all streams domain restriction configs
                                items:
                                  $ref: '#/components/schemas/StreamsDomainRestrictionResponse'
        default:
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseError'
    post:
      tags:
      - Config
      summary: Create new streams domain restriction
      operationId: PostStreamsDomainRestriction
      requestBody:
        description: Create a new streams domain restriction
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StreamsDomainRestrictionCreateRequest'
      responses:
        '201':
          description: Successful response.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ResponseEnvelope'
                - properties:
                    data:
                      properties:
                        result:
                          allOf:
                          - $ref: '#/components/schemas/StreamsDomainRestrictionResponse'
                          - description: Created streams domain restriction
        '409':
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseError'
        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
    StreamsDomainRestrictionUpdateRequest:
      title: StreamsDomainRestrictionUpdateRequest
      properties:
        allowedDomains:
          type: array
          description: The list of allowed domains
          items:
            type: string
        allowNoReferer:
          type: boolean
          description: Controls if requests to domain restricted streams without referer header should be allowed or denied
        allowShare:
          type: boolean
          description: Controls if Stream is accessible via sharing URL or not
    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'
    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
    StreamsDomainRestrictionResponse:
      title: StreamsDomainRestrictionResponse
      properties:
        id:
          readOnly: true
          type: string
          description: The identifier of the streams domain restriction entity
        allowedDomains:
          type: array
          description: The list of allowed domains
          items:
            type: string
        allowNoReferer:
          type: boolean
          description: Controls if requests to domain restricted streams without referer header should be allowed or denied
        allowShare:
          type: boolean
          description: Controls if Stream is accessible via sharing URL or not
    PaginationResponse:
      title: PaginationResponse
      properties:
        totalCount:
          type: integer
          format: int64
          readOnly: true
        offset:
          type: integer
          readOnly: true
        limit:
          type: integer
          readOnly: true
        previous:
          type: string
          readOnly: true
        next:
          type: string
          readOnly: true
        items:
          type: array
          readOnly: true
          items:
            type: object
    ResponseStatus:
      title: ResponseStatus
      type: string
      enum:
      - SUCCESS
      - ERROR
    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
    StreamsDomainRestrictionCreateRequest:
      title: StreamsDomainRestrictionCreateRequest
      required:
      - allowedDomains
      properties:
        allowedDomains:
          type: array
          description: The list of allowed domains
          example: []
          items:
            type: string
        allowNoReferer:
          type: boolean
          description: Controls if requests to domain restricted streams without referer header should be allowed or denied
        allowShare:
          type: boolean
          description: Controls if Stream is accessible via sharing URL or not
    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'
    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