Kaltura liveStream API

Live Stream service lets you manage live stream entries

OpenAPI Specification

kaltura-livestream-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: The Kaltura OTT API
  title: Kaltura OTT accessControl liveStream API
  version: 3.6.287.20720
host: tvpapi-us-preprod.ott.kaltura.com
basePath: /api_v3
schemes:
- https
- http
produces:
- application/json
- text/xml
security:
- ks: []
tags:
- description: Live Stream service lets you manage live stream entries
  name: liveStream
paths:
  /service/livestream/action/add:
    post:
      description: 'Adds new live stream entry.


        The entry will be queued for provision.'
      operationId: liveStream.add
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            liveStreamEntry:
              $ref: '#/definitions/KalturaLiveStreamEntry'
            sourceType:
              enum:
              - limeLight.LIVE_STREAM
              - velocix.VELOCIX_LIVE
              - '1'
              - '2'
              - '5'
              - '6'
              - '29'
              - '30'
              - '31'
              - '32'
              - '33'
              - '34'
              - '35'
              - '36'
              - '37'
              - '42'
              type: string
              x-enumLabels:
              - LIMELIGHT_LIVE
              - VELOCIX_LIVE
              - FILE
              - WEBCAM
              - URL
              - SEARCH_PROVIDER
              - AKAMAI_LIVE
              - MANUAL_LIVE_STREAM
              - AKAMAI_UNIVERSAL_LIVE
              - LIVE_STREAM
              - LIVE_CHANNEL
              - RECORDED_LIVE
              - CLIP
              - KALTURA_RECORDED_LIVE
              - LECTURE_CAPTURE
              - LIVE_STREAM_ONTEXTDATA_CAPTIONS
              x-enumType: KalturaSourceType
          required:
          - liveStreamEntry
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveStreamEntry'
        x-Errors:
          description: '* `PROPERTY_VALIDATION_CANNOT_BE_NULL`: The property "@PROP_NAME@" cannot be null'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - liveStreamEntry
      - sourceType
  /service/livestream/action/addLiveStreamPushPublishConfiguration:
    post:
      description: Add new pushPublish configuration to entry
      operationId: liveStream.addLiveStreamPushPublishConfiguration
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
            liveStreamConfiguration:
              $ref: '#/definitions/KalturaLiveStreamConfiguration'
            protocol:
              enum:
              - applehttp
              - applehttp_to_mc
              - auto
              - download
              - hdnetwork
              - hdnetworkmanifest
              - hds
              - hls
              - http
              - mpegdash
              - multicast_silverlight
              - rtmp
              - rtsp
              - sl
              - url
              type: string
              x-enumLabels:
              - APPLE_HTTP
              - APPLE_HTTP_TO_MC
              - AUTO
              - DOWNLOAD
              - AKAMAI_HD
              - AKAMAI_HDS
              - HDS
              - HLS
              - HTTP
              - MPEG_DASH
              - MULTICAST_SL
              - RTMP
              - RTSP
              - SILVER_LIGHT
              - URL
              x-enumType: KalturaPlaybackProtocol
            url:
              type: string
          required:
          - entryId
          - protocol
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveStreamEntry'
        x-Errors:
          description: '* `INVALID_ENTRY_ID`: Invalid entry id ["@ID@"]'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - protocol
      - url
      - liveStreamConfiguration
  /service/livestream/action/allocateConferenceRoom:
    post:
      description: Allocates a conference room or returns ones that has already been allocated
      operationId: liveStream.allocateConferenceRoom
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
            env:
              type: string
          required:
          - entryId
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaRoomDetails'
      tags:
      - liveStream
      x-beta: true
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - env
  /service/livestream/action/appendRecording:
    post:
      description: Append recorded video to live entry
      operationId: liveStream.appendRecording
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            assetId:
              type: string
            duration:
              type: number
            entryId:
              type: string
            isLastChunk:
              default: false
              type: boolean
            mediaServerIndex:
              enum:
              - '0'
              - '1'
              - '2'
              type: string
              x-enumLabels:
              - LIVE_PRIMARY
              - LIVE_BACKUP
              - LIVE_CLIPPING_TASK
              x-enumType: KalturaEntryServerNodeType
            resource:
              $ref: '#/definitions/KalturaDataCenterContentResource'
          required:
          - entryId
          - assetId
          - mediaServerIndex
          - resource
          - duration
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - assetId
      - mediaServerIndex
      - resource
      - duration
      - isLastChunk
  /service/livestream/action/archive:
    post:
      description: Archive a live entry which was recorded
      operationId: liveStream.archive
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            liveEntryId:
              type: string
            vodEntryId:
              type: string
          required:
          - liveEntryId
          - vodEntryId
          type: object
      responses:
        '200':
          description: Success
          schema:
            type: boolean
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - liveEntryId
      - vodEntryId
  /service/livestream/action/authenticate:
    post:
      description: Authenticate live-stream entry against stream token and partner limitations
      operationId: liveStream.authenticate
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            applicationName:
              type: string
            entryId:
              type: string
            hostname:
              type: string
            mediaServerIndex:
              enum:
              - '0'
              - '1'
              - '2'
              type: string
              x-enumLabels:
              - LIVE_PRIMARY
              - LIVE_BACKUP
              - LIVE_CLIPPING_TASK
              x-enumType: KalturaEntryServerNodeType
            token:
              type: string
          required:
          - entryId
          - token
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveStreamEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `LIVE_STREAM_INVALID_TOKEN`: Invalid token supplied for live entry [@ENTRY_ID@]'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - token
      - hostname
      - mediaServerIndex
      - applicationName
  /service/livestream/action/createPeriodicSyncPoints:
    post:
      deprecated: true
      description: Creates periodic metadata sync-point events on a live stream
      operationId: liveStream.createPeriodicSyncPoints
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            duration:
              type: integer
            entryId:
              type: string
            interval:
              type: integer
          required:
          - entryId
          - interval
          - duration
          type: object
      responses:
        '200':
          description: Success
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `NO_MEDIA_SERVER_FOUND`: No media server found for entry [@ENTRY_ID@]

            * `MEDIA_SERVER_SERVICE_NOT_FOUND`: Media server [@MEDIA_SERVER_ID@] service [@SERVICE@] not found'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - interval
      - duration
  /service/livestream/action/createRecordedEntry:
    post:
      description: Create recorded entry id if it doesn't exist and make sure it happens on the DC that the live entry was created on.
      operationId: liveStream.createRecordedEntry
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
            liveEntryStatus:
              enum:
              - -1
              - 0
              - 1
              - 2
              - 3
              - 4
              - 5
              - 6
              - 7
              - 8
              - 9
              type: integer
              x-enumLabels:
              - ERROR
              - STOPPED
              - PLAYABLE
              - BROADCASTING
              - AUTHENTICATED
              - MARKED_FOR_DELETION
              - TASK_PENDING
              - TASK_QUEUED
              - TASK_PROCESSING
              - TASK_UPLOADING
              - TASK_FINISHED
              x-enumType: KalturaEntryServerNodeStatus
            mediaServerIndex:
              enum:
              - '0'
              - '1'
              - '2'
              type: string
              x-enumLabels:
              - LIVE_PRIMARY
              - LIVE_BACKUP
              - LIVE_CLIPPING_TASK
              x-enumType: KalturaEntryServerNodeType
          required:
          - entryId
          - mediaServerIndex
          - liveEntryStatus
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveEntry'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - mediaServerIndex
      - liveEntryStatus
  /service/livestream/action/delete:
    post:
      description: Delete a live stream entry.
      operationId: liveStream.delete
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
          required:
          - entryId
          type: object
      responses:
        '200':
          description: Success
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
  /service/livestream/action/finishConf:
    post:
      description: When the conf is finished this API should be called.
      operationId: liveStream.finishConf
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
            serverNodeId:
              type: integer
          required:
          - entryId
          type: object
      responses:
        '200':
          description: Success
          schema:
            type: boolean
      tags:
      - liveStream
      x-beta: true
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - serverNodeId
  /service/livestream/action/get:
    post:
      description: Get live stream entry by ID.
      operationId: liveStream.get
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
            version:
              default: -1
              type: integer
          required:
          - entryId
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveStreamEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - version
  /service/livestream/action/getDetails:
    post:
      description: Delivering the status of a live stream (on-air/offline) if it is possible
      operationId: liveStream.getDetails
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            id:
              type: string
          required:
          - id
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveStreamDetails'
        x-Errors:
          description: '* `INVALID_ENTRY_ID`: Invalid entry id ["@ID@"]'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - id
  /service/livestream/action/isLive:
    post:
      description: Delivering the status of a live stream (on-air/offline) if it is possible
      operationId: liveStream.isLive
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            id:
              type: string
            protocol:
              enum:
              - applehttp
              - applehttp_to_mc
              - auto
              - download
              - hdnetwork
              - hdnetworkmanifest
              - hds
              - hls
              - http
              - mpegdash
              - multicast_silverlight
              - rtmp
              - rtsp
              - sl
              - url
              type: string
              x-enumLabels:
              - APPLE_HTTP
              - APPLE_HTTP_TO_MC
              - AUTO
              - DOWNLOAD
              - AKAMAI_HD
              - AKAMAI_HDS
              - HDS
              - HLS
              - HTTP
              - MPEG_DASH
              - MULTICAST_SL
              - RTMP
              - RTSP
              - SILVER_LIGHT
              - URL
              x-enumType: KalturaPlaybackProtocol
          required:
          - id
          type: object
      responses:
        '200':
          description: Success
          schema:
            type: boolean
        x-Errors:
          description: '* `LIVE_STREAM_STATUS_CANNOT_BE_DETERMINED`: Status cannot be determined for live stream protocol [@PROT@]

            * `INVALID_ENTRY_ID`: Invalid entry id ["@ID@"]'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - id
      - protocol
  /service/livestream/action/list:
    post:
      description: List live stream entries by filter with paging support.
      operationId: liveStream.list
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            filter:
              $ref: '#/definitions/KalturaLiveStreamEntryFilter'
            pager:
              $ref: '#/definitions/KalturaFilterPager'
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveStreamListResponse'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - filter
      - pager
  /service/livestream/action/regenerateStreamToken:
    post:
      description: Regenerate new secure token for liveStream
      operationId: liveStream.regenerateStreamToken
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
          required:
          - entryId
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
  /service/livestream/action/registerConf:
    post:
      description: Mark that the conference has actually started
      operationId: liveStream.registerConf
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
          required:
          - entryId
          type: object
      responses:
        '200':
          description: Success
          schema:
            type: boolean
      tags:
      - liveStream
      x-beta: true
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
  /service/livestream/action/registerMediaServer:
    post:
      description: Register media server to live entry
      operationId: liveStream.registerMediaServer
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            applicationName:
              type: string
            entryId:
              type: string
            hostname:
              type: string
            liveEntryStatus:
              default: 1
              enum:
              - -1
              - 0
              - 1
              - 2
              - 3
              - 4
              - 5
              - 6
              - 7
              - 8
              - 9
              type: integer
              x-enumLabels:
              - ERROR
              - STOPPED
              - PLAYABLE
              - BROADCASTING
              - AUTHENTICATED
              - MARKED_FOR_DELETION
              - TASK_PENDING
              - TASK_QUEUED
              - TASK_PROCESSING
              - TASK_UPLOADING
              - TASK_FINISHED
              x-enumType: KalturaEntryServerNodeStatus
            mediaServerIndex:
              enum:
              - '0'
              - '1'
              - '2'
              type: string
              x-enumLabels:
              - LIVE_PRIMARY
              - LIVE_BACKUP
              - LIVE_CLIPPING_TASK
              x-enumType: KalturaEntryServerNodeType
            shouldCreateRecordedEntry:
              default: true
              type: boolean
          required:
          - entryId
          - hostname
          - mediaServerIndex
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `SERVER_NODE_NOT_FOUND`: server node with host name [@HOST_NAME@] not found

            * `ENTRY_SERVER_NODE_MULTI_RESULT`'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - hostname
      - mediaServerIndex
      - applicationName
      - liveEntryStatus
      - shouldCreateRecordedEntry
  /service/livestream/action/removeLiveStreamPushPublishConfiguration:
    post:
      description: Remove push publish configuration from entry
      operationId: liveStream.removeLiveStreamPushPublishConfiguration
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
            protocol:
              enum:
              - applehttp
              - applehttp_to_mc
              - auto
              - download
              - hdnetwork
              - hdnetworkmanifest
              - hds
              - hls
              - http
              - mpegdash
              - multicast_silverlight
              - rtmp
              - rtsp
              - sl
              - url
              type: string
              x-enumLabels:
              - APPLE_HTTP
              - APPLE_HTTP_TO_MC
              - AUTO
              - DOWNLOAD
              - AKAMAI_HD
              - AKAMAI_HDS
              - HDS
              - HLS
              - HTTP
              - MPEG_DASH
              - MULTICAST_SL
              - RTMP
              - RTSP
              - SILVER_LIGHT
              - URL
              x-enumType: KalturaPlaybackProtocol
          required:
          - entryId
          - protocol
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveStreamEntry'
        x-Errors:
          description: '* `INVALID_ENTRY_ID`: Invalid entry id ["@ID@"]'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - protocol
  /service/livestream/action/setRecordedContent:
    post:
      description: Set recorded video to live entry
      operationId: liveStream.setRecordedContent
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            duration:
              type: number
            entryId:
              type: string
            flavorParamsId:
              type: integer
            mediaServerIndex:
              enum:
              - '0'
              - '1'
              - '2'
              type: string
              x-enumLabels:
              - LIVE_PRIMARY
              - LIVE_BACKUP
              - LIVE_CLIPPING_TASK
              x-enumType: KalturaEntryServerNodeType
            recordedEntryId:
              type: string
            resource:
              $ref: '#/definitions/KalturaDataCenterContentResource'
          required:
          - entryId
          - mediaServerIndex
          - resource
          - duration
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `RECORDED_ENTRY_LIVE_MISMATCH`: Recorded entry [@RECORDED_ENTRY_ID@] was not created while streaming to the given live entry [@LIVE_ENTRY_ID@]

            * `KALTURA_RECORDING_DISABLED`: Kaltura recording is disabled for partner [@PARTNER_ID@] use liveStream->appendRecording to set the live recorded content

            * `FLAVOR_PARAMS_ID_NOT_FOUND`: Flavor params id "@ID@" not found'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - mediaServerIndex
      - resource
      - duration
      - recordedEntryId
      - flavorParamsId
  /service/livestream/action/unregisterMediaServer:
    post:
      description: Unregister media server from live entry
      operationId: liveStream.unregisterMediaServer
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
            hostname:
              type: string
            mediaServerIndex:
              enum:
              - '0'
              - '1'
              - '2'
              type: string
              x-enumLabels:
              - LIVE_PRIMARY
              - LIVE_BACKUP
              - LIVE_CLIPPING_TASK
              x-enumType: KalturaEntryServerNodeType
          required:
          - entryId
          - hostname
          - mediaServerIndex
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `SERVER_NODE_NOT_FOUND`: server node with host name [@HOST_NAME@] not found

            * `ENTRY_SERVER_NODE_MULTI_RESULT`'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - hostname
      - mediaServerIndex
  /service/livestream/action/update:
    post:
      description: Update live stream entry. Only the properties that were set will be updated.
      operationId: liveStream.update
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
            liveStreamEntry:
              $ref: '#/definitions/KalturaLiveStreamEntry'
          required:
          - entryId
          - liveStreamEntry
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveStreamEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - liveStreamEntry
  /service/livestream/action/updateOfflineThumbnailFromUrl:
    post:
      description: Update entry thumbnail using url
      operationId: liveStream.updateOfflineThumbnailFromUrl
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
      - $ref: '#/parameters/partnerId'
      - $ref: '#/parameters/language'
      - $ref: '#/parameters/responseProfile'
      - in: body
        name: body
        schema:
          properties:
            entryId:
              type: string
            url:
              type: string
          required:
          - entryId
          - url
          type: object
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveStreamEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `PERMISSION_DENIED_TO_UPDATE_ENTRY`: User can update only the entries he own, otherwise an admin session must be used'
      tags:
      - liveStream
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - url
  /service/livestream/action/updateOfflineThumbnailJpeg:
    post:
      description: Update live stream entry thumbnail using a raw jpeg file
      operationId: liveStream.updateOfflineThumbnailJpeg
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - description: live stream entry id
        in: query
        name: entryId
        required: true
        type: string
      - description: Jpeg file data
        in: formData
        name: fileData
        required: true
        type: file
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/KalturaLiveStreamEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `PERMISSION_DENIED_TO_UPDATE_ENTRY`: User can update only the entries he own, otherwise an admin session must be used'
      tags:
      - liveStream
      x-kaltura-format: file
      x-kaltura-parameters:
      - entryId
      - fileData
  /service/livestream/action/validateRegisteredMediaServers:
    post:
      description: Validates all registered media servers
      operationId: liveStream.validateRegisteredMediaServers
      parameters:
      - $ref: '#/parameters/ks'
      - $ref: '#/parameters/format'
      - $ref: '#/parameters/clientTag'
    

# --- truncated at 32 KB (1480 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kaltura/refs/heads/main/openapi/kaltura-livestream-api-openapi.yml