Vyond Video Export API

APIs for video export

OpenAPI Specification

vyond-video-export-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vyond API Documentation Video Export API
  version: 1.1.0
  description: 'APIs for video export

    '
tags:
- name: Video Export
  description: 'APIs for video export

    '
paths:
  /rest/v1/videos/{videoId}/exports:
    post:
      operationId: VideoController.exportVideo
      parameters:
      - in: path
        name: videoId
        required: true
        schema:
          pattern: '[^\/#\?]+?'
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExportVideoReqBody'
        description: ExportVideoReqBody
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportVideoResBody'
          description: Success. Video export task is created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Bad Request - invalid export parameters
        '401':
          description: Unauthorized - missing or invalid credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Payment Required - insufficient credits to perform the export
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Forbidden - missing required VIDEO_EXPORT scope or access denied
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Not Found - video does not exist or is not accessible
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Conflict - export conversion failed or has not completed yet
        '410':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Gone - export conversion was canceled
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Too Many Requests - export rate limit reached
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Internal Server Error - unexpected error during export creation
      summary: Export video
      tags:
      - Video Export
      security:
      - bearer: []
      description: Create export video task
components:
  schemas:
    ExportVideoReqBody:
      properties:
        category:
          enum:
          - mp4
          - webm
          - gif
          - scorm_1_2
          - scorm_2004_v4
          type: string
          description: Video format
        resolution:
          enum:
          - 240p
          - 360p
          - 480p
          - 600p
          - 720p
          - 1080p
          type: string
          description: The resolution of the video
        revision:
          type: integer
          description: If no revision provided, it will use the latest revision of the video by default
        burnInCaption:
          type: boolean
          description: When burnInCaption is set to true, the captions are rendered directly onto the
            video frames, making them a permanent part of the video
          default: false
        callbackWebhook:
          $ref: '#/components/schemas/CallbackWebhook'
          type: object
          description: Webhook for listening webhook events of the video export by Vyond
        shouldSendEmailNotification:
          type: boolean
          description: When shouldSendEmailNotification is set to true, system will send the video export
            result to user's email
          default: false
        completionCriteria:
          type: integer
          description: The completion criteria percentage for SCORM packages (0-100). Required for SCORM
            exports
          minimum: 0
          maximum: 100
      type: object
      required:
      - category
      - resolution
    CallbackWebhook:
      properties:
        url:
          format: url
          type: string
          description: Webhook URL. Must be in https protocol.
        secret:
          pattern: ^[0-9A-Za-z]{64}$
          type: string
          minLength: 64
          maxLength: 64
          description: Webhook secret for [signing the webhook event request by Vyond](#tag/Webhook/Verifying-Vyond-Signatures).
            If not provided, there is no signature in request. The secret should be in length 64 and contains
            only digits and English alphabets.
      type: object
      required:
      - url
    ApiErrorResponse:
      properties:
        err:
          type: string
          description: Error code identifying the specific error
        reason:
          type: string
          description: Additional reason describing why the error occurred
        message:
          type: string
          description: Error message, used as an alternative to reason for non-enumerated error messages
        scimType:
          type: string
          description: SCIM error type, present on SCIM 409 Conflict responses (e.g. uniqueness)
        details:
          items:
            $ref: '#/components/schemas/ValidationDetail'
          type: array
          description: Validation error details, present when err is REQUEST_VALIDATION_FAILED
      type: object
      required:
      - err
    ExportVideoResBody:
      properties:
        conversionId:
          type: integer
          description: The conversion ID of the video export task
      type: object
      required:
      - conversionId
    ValidationDetail:
      properties:
        property:
          type: string
          description: The property that failed validation
        message:
          items:
            type: string
          type: array
          description: Validation error messages for the property
      type: object
      required:
      - property
      - message
  securitySchemes:
    bearer:
      type: http
      scheme: bearer