Kaltura media API

Media service lets you upload and manage media files (images / videos & audio)

Operations 33

POST /service/media/action/add #
POST /service/media/action/addContent #
POST /service/media/action/addFromBulk #
POST /service/media/action/addFromEntry #
POST /service/media/action/addFromFlavorAsset #
POST /service/media/action/addFromRecordedWebcam #
POST /service/media/action/addFromSearchResult #
POST /service/media/action/addFromUploadedFile #
POST /service/media/action/addFromUrl #
POST /service/media/action/anonymousRank #
POST /service/media/action/approve #
POST /service/media/action/approveReplace #
POST /service/media/action/bulkUploadAdd #
POST /service/media/action/cancelReplace #
POST /service/media/action/convert #
POST /service/media/action/count #
POST /service/media/action/delete #
POST /service/media/action/exportToCsv #
POST /service/media/action/flag #
POST /service/media/action/get #
POST /service/media/action/getMrss #
POST /service/media/action/getVolumeMap #
POST /service/media/action/list #
POST /service/media/action/listFlags #
POST /service/media/action/reject #
POST /service/media/action/requestConversion #
POST /service/media/action/update #
POST /service/media/action/updateContent #
POST /service/media/action/updateThumbnail #
POST /service/media/action/updateThumbnailFromSourceEntry #
POST /service/media/action/updateThumbnailFromUrl #
POST /service/media/action/updateThumbnailJpeg #
POST /service/media/action/upload #

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/kaltura-media-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

kaltura-media-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The Kaltura OTT API
  title: Kaltura OTT accessControl Media API
  version: 3.6.287.20720
servers:
- url: https://tvpapi-us-preprod.ott.kaltura.com/api_v3
- url: http://tvpapi-us-preprod.ott.kaltura.com/api_v3
security:
- ks: []
tags:
- description: Media service lets you upload and manage media files (images / videos & audio)
  name: media
paths:
  /service/media/action/add:
    post:
      description: Add entry
      operationId: media.add
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entry
      requestBody:
        content:
          application/json:
            schema:
              properties:
                entry:
                  $ref: '#/components/schemas/KalturaMediaEntry'
              required:
              - entry
              type: object
  /service/media/action/addContent:
    post:
      description: "Add content to media entry which is not yet associated with content (therefore is in status NO_CONTENT).\n     If the requirement is to replace the entry's associated content, use action updateContent."
      operationId: media.addContent
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `ENTRY_ALREADY_WITH_CONTENT`: Entry already associated with content'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - resource
      requestBody:
        content:
          application/json:
            schema:
              properties:
                entryId:
                  type: string
                resource:
                  $ref: '#/components/schemas/KalturaResource'
              required:
              - entryId
              type: object
  /service/media/action/addFromBulk:
    post:
      deprecated: true
      description: 'Adds new media entry by importing an HTTP or FTP URL.


        The entry will be queued for import and then for conversion.


        This action should be exposed only to the batches'
      operationId: media.addFromBulk
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `PROPERTY_VALIDATION_MIN_LENGTH`: The property "@PROP_NAME@" must have a min length of @MIN_LEN@ characters

            * `PROPERTY_VALIDATION_CANNOT_BE_NULL`: The property "@PROP_NAME@" cannot be null'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - mediaEntry
      - url
      - bulkUploadId
      requestBody:
        content:
          application/json:
            schema:
              properties:
                bulkUploadId:
                  type: integer
                mediaEntry:
                  $ref: '#/components/schemas/KalturaMediaEntry'
                url:
                  type: string
              required:
              - mediaEntry
              - url
              - bulkUploadId
              type: object
  /service/media/action/addFromEntry:
    post:
      deprecated: true
      description: Copy entry into new entry
      operationId: media.addFromEntry
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `ORIGINAL_FLAVOR_ASSET_IS_MISSING`: The original flavor asset is missing

            * `FLAVOR_PARAMS_NOT_FOUND`: Flavor params not found

            * `ORIGINAL_FLAVOR_ASSET_NOT_CREATED`: The original flavor asset could not be created [@DATA@]'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - sourceEntryId
      - mediaEntry
      - sourceFlavorParamsId
      requestBody:
        content:
          application/json:
            schema:
              properties:
                mediaEntry:
                  $ref: '#/components/schemas/KalturaMediaEntry'
                sourceEntryId:
                  type: string
                sourceFlavorParamsId:
                  type: integer
              required:
              - sourceEntryId
              type: object
  /service/media/action/addFromFlavorAsset:
    post:
      deprecated: true
      description: Copy flavor asset into new entry
      operationId: media.addFromFlavorAsset
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `FLAVOR_ASSET_ID_NOT_FOUND`: Flavor asset id "@ID@" not found

            * `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `ORIGINAL_FLAVOR_ASSET_NOT_CREATED`: The original flavor asset could not be created [@DATA@]'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - sourceFlavorAssetId
      - mediaEntry
      requestBody:
        content:
          application/json:
            schema:
              properties:
                mediaEntry:
                  $ref: '#/components/schemas/KalturaMediaEntry'
                sourceFlavorAssetId:
                  type: string
              required:
              - sourceFlavorAssetId
              type: object
  /service/media/action/addFromRecordedWebcam:
    post:
      deprecated: true
      description: Add new entry after the file was recorded on the server and the token id exists
      operationId: media.addFromRecordedWebcam
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `PROPERTY_VALIDATION_MIN_LENGTH`: The property "@PROP_NAME@" must have a min length of @MIN_LEN@ characters

            * `PROPERTY_VALIDATION_CANNOT_BE_NULL`: The property "@PROP_NAME@" cannot be null

            * `RECORDED_WEBCAM_FILE_NOT_FOUND`: The recorded webcam file was not found by the given token id, or was already used'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - mediaEntry
      - webcamTokenId
      requestBody:
        content:
          application/json:
            schema:
              properties:
                mediaEntry:
                  $ref: '#/components/schemas/KalturaMediaEntry'
                webcamTokenId:
                  type: string
              required:
              - mediaEntry
              - webcamTokenId
              type: object
  /service/media/action/addFromSearchResult:
    post:
      deprecated: true
      description: 'Adds new media entry by importing the media file from a search provider.


        This action should be used with the search service result.'
      operationId: media.addFromSearchResult
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `PROPERTY_VALIDATION_MIN_LENGTH`: The property "@PROP_NAME@" must have a min length of @MIN_LEN@ characters

            * `PROPERTY_VALIDATION_CANNOT_BE_NULL`: The property "@PROP_NAME@" cannot be null'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - mediaEntry
      - searchResult
      requestBody:
        content:
          application/json:
            schema:
              properties:
                mediaEntry:
                  $ref: '#/components/schemas/KalturaMediaEntry'
                searchResult:
                  $ref: '#/components/schemas/KalturaSearchResult'
              type: object
  /service/media/action/addFromUploadedFile:
    post:
      deprecated: true
      description: Add new entry after the specific media file was uploaded and the upload token id exists
      operationId: media.addFromUploadedFile
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `PROPERTY_VALIDATION_MIN_LENGTH`: The property "@PROP_NAME@" must have a min length of @MIN_LEN@ characters

            * `PROPERTY_VALIDATION_CANNOT_BE_NULL`: The property "@PROP_NAME@" cannot be null

            * `UPLOADED_FILE_NOT_FOUND_BY_TOKEN`: The uploaded file was not found by the given token id, or was already used'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - mediaEntry
      - uploadTokenId
      requestBody:
        content:
          application/json:
            schema:
              properties:
                mediaEntry:
                  $ref: '#/components/schemas/KalturaMediaEntry'
                uploadTokenId:
                  type: string
              required:
              - mediaEntry
              - uploadTokenId
              type: object
  /service/media/action/addFromUrl:
    post:
      deprecated: true
      description: 'Adds new media entry by importing an HTTP or FTP URL.


        The entry will be queued for import and then for conversion.'
      operationId: media.addFromUrl
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `PROPERTY_VALIDATION_MIN_LENGTH`: The property "@PROP_NAME@" must have a min length of @MIN_LEN@ characters

            * `PROPERTY_VALIDATION_CANNOT_BE_NULL`: The property "@PROP_NAME@" cannot be null'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - mediaEntry
      - url
      requestBody:
        content:
          application/json:
            schema:
              properties:
                mediaEntry:
                  $ref: '#/components/schemas/KalturaMediaEntry'
                url:
                  type: string
              required:
              - mediaEntry
              - url
              type: object
  /service/media/action/anonymousRank:
    post:
      description: Anonymously rank a media entry, no validation is done on duplicate rankings
      operationId: media.anonymousRank
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - rank
      requestBody:
        content:
          application/json:
            schema:
              properties:
                entryId:
                  type: string
                rank:
                  type: integer
              required:
              - entryId
              - rank
              type: object
  /service/media/action/approve:
    post:
      description: Approve the media entry and mark the pending flags (if any) as moderated (this will make the entry playable)
      operationId: media.approve
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      requestBody:
        content:
          application/json:
            schema:
              properties:
                entryId:
                  type: string
              required:
              - entryId
              type: object
  /service/media/action/approveReplace:
    post:
      description: Approves media replacement
      operationId: media.approveReplace
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      requestBody:
        content:
          application/json:
            schema:
              properties:
                entryId:
                  type: string
              required:
              - entryId
              type: object
  /service/media/action/bulkUploadAdd:
    post:
      description: 'Add new bulk upload batch job


        Conversion profile id can be specified in the API or in the CSV file, the one in the CSV file will be stronger.


        If no conversion profile was specified, partner''s default will be used'
      operationId: media.bulkUploadAdd
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/KalturaBulkUploadJobData_bulkUploadData_objectType'
      - $ref: '#/components/parameters/KalturaBulkUploadJobData_bulkUploadData_fileName'
      - $ref: '#/components/parameters/KalturaBulkUploadJobData_bulkUploadData_objectData__objectType'
      - $ref: '#/components/parameters/KalturaBulkUploadJobData_bulkUploadData_emailRecipients'
      - $ref: '#/components/parameters/KalturaBulkUploadJobData_bulkUploadData_numOfErrorObjects'
      - $ref: '#/components/parameters/KalturaBulkUploadJobData_bulkUploadData_privileges'
      - $ref: '#/components/parameters/KalturaBulkUploadEntryData_bulkUploadEntryData_objectType'
      - $ref: '#/components/parameters/KalturaBulkUploadEntryData_bulkUploadEntryData_conversionProfileId'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaBulkUpload'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaBulkUpload'
      tags:
      - media
      x-kaltura-format: file
      x-kaltura-parameters:
      - fileData
      - bulkUploadData
      - bulkUploadEntryData
      x-parameterGroups:
      - description: 'Object Type: `KalturaBulkUploadJobData`'
        name: bulkUploadData
        schema:
          $ref: '#/components/schemas/KalturaBulkUploadJobData'
        subGroups:
        - name: bulkUploadData[objectData]
      - description: 'Object Type: `KalturaBulkUploadEntryData`'
        name: bulkUploadEntryData
        schema:
          $ref: '#/components/schemas/KalturaBulkUploadEntryData'
        subGroups: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                fileData:
                  type: string
                  format: binary
              required:
              - fileData
  /service/media/action/cancelReplace:
    post:
      description: Cancels media replacement
      operationId: media.cancelReplace
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      requestBody:
        content:
          application/json:
            schema:
              properties:
                entryId:
                  type: string
              required:
              - entryId
              type: object
  /service/media/action/convert:
    post:
      description: Convert entry
      operationId: media.convert
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: integer
            text/xml:
              schema:
                type: integer
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found

            * `CONVERSION_PROFILE_ID_NOT_FOUND`: Conversion profile id "@ID@" not found

            * `FLAVOR_PARAMS_NOT_FOUND`: Flavor params not found'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - conversionProfileId
      - dynamicConversionAttributes
      requestBody:
        content:
          application/json:
            schema:
              properties:
                conversionProfileId:
                  type: integer
                dynamicConversionAttributes:
                  items:
                    $ref: '#/components/schemas/KalturaConversionAttribute'
                  type: array
                entryId:
                  type: string
              required:
              - entryId
              type: object
  /service/media/action/count:
    post:
      description: Count media entries by filter.
      operationId: media.count
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: integer
            text/xml:
              schema:
                type: integer
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - filter
      requestBody:
        content:
          application/json:
            schema:
              properties:
                filter:
                  $ref: '#/components/schemas/KalturaMediaEntryFilter'
              type: object
  /service/media/action/delete:
    post:
      description: Delete a media entry.
      operationId: media.delete
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      requestBody:
        content:
          application/json:
            schema:
              properties:
                entryId:
                  type: string
              required:
              - entryId
              type: object
  /service/media/action/exportToCsv:
    post:
      description: Creates a batch job that sends an email with a link to download a CSV containing a list of entries
      operationId: media.exportToCsv
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        x-Errors:
          description: '* `USER_EMAIL_NOT_FOUND`: Email address for user [@USER_ID@] was not found'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - data
      requestBody:
        content:
          application/json:
            schema:
              properties:
                data:
                  $ref: '#/components/schemas/KalturaMediaEsearchExportToCsvJobData'
              required:
              - data
              type: object
  /service/media/action/flag:
    post:
      description: Flag inappropriate media entry for moderation
      operationId: media.flag
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - moderationFlag
      requestBody:
        content:
          application/json:
            schema:
              properties:
                moderationFlag:
                  $ref: '#/components/schemas/KalturaModerationFlag'
              required:
              - moderationFlag
              type: object
  /service/media/action/get:
    post:
      description: Get media entry by ID.
      operationId: media.get
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaEntry'
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - version
      requestBody:
        content:
          application/json:
            schema:
              properties:
                entryId:
                  type: string
                  x-dynamicEnum:
                    array: objects
                    label: name
                    method: post
                    path: /service/media/action/list
                    value: id
                  x-inputType: text
                version:
                  default: -1
                  type: integer
              required:
              - entryId
              type: object
  /service/media/action/getMrss:
    post:
      description: "Get MRSS by entry id\n     XML will return as an escaped string"
      operationId: media.getMrss
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        x-Errors:
          description: '* `ENTRY_ID_NOT_FOUND`: Entry id "@ENTRY_ID@" not found'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      - extendingItemsArray
      - features
      requestBody:
        content:
          application/json:
            schema:
              properties:
                entryId:
                  type: string
                extendingItemsArray:
                  items:
                    $ref: '#/components/schemas/KalturaExtendingItemMrssParameter'
                  type: array
                features:
                  type: string
              required:
              - entryId
              type: object
  /service/media/action/getVolumeMap:
    post:
      description: Get volume map by entry id
      operationId: media.getVolumeMap
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
            text/xml:
              schema:
                type: string
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - entryId
      requestBody:
        content:
          application/json:
            schema:
              properties:
                entryId:
                  type: string
              required:
              - entryId
              type: object
  /service/media/action/list:
    post:
      description: List media entries by filter with paging support.
      operationId: media.list
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/responseProfile'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaMediaListResponse'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaMediaListResponse'
      tags:
      - media
      x-kaltura-format: post
      x-kaltura-parameters:
      - filter
      - pager
      requestBody:
        content:
          application/json:
            schema:
              properties:
                filter:
                  $ref: '#/components/schemas/KalturaMediaEntryFilter'
                pager:
                  $ref: '#/components/schemas/KalturaFilterPager'
              type: object
  /service/media/action/listFlags:
    post:
      description: List all pending flags for the media entry
      operationId: media.listFlags
      parameters:
      - $ref: '#/components/parameters/ks'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/clientTag'
      - $ref: '#/components/parameters/partnerId'
      - $ref: '#/compo

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