Kaltura entitlement API

The entitlement API from Kaltura — 10 operation(s) for entitlement.

Operations 10

POST /service/entitlement/action/cancel #
POST /service/entitlement/action/cancelRenewal #
POST /service/entitlement/action/cancelScheduledSubscription #
POST /service/entitlement/action/externalReconcile #
POST /service/entitlement/action/forceCancel #
POST /service/entitlement/action/getNextRenewal #
POST /service/entitlement/action/grant #
POST /service/entitlement/action/list #
POST /service/entitlement/action/swap #
POST /service/entitlement/action/update #

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-entitlement-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-entitlement-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The Kaltura OTT API
  title: Kaltura OTT accessControl Entitlement 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:
- name: entitlement
paths:
  /service/entitlement/action/cancel:
    post:
      description: Immediately cancel a subscription, PPV or collection. Cancel is possible only if within cancellation window and content not already consumed
      operationId: entitlement.cancel
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: boolean
            text/xml:
              schema:
                type: boolean
        x-Errors:
          description: '* `CancelationWindowPeriodExpired`: undefined

            * `ContentAlreadyConsumed`: undefined

            * `PaymentGatewayNotValid`: undefined

            * `SubscriptionCancellationIsBlocked`: undefined

            * `DomainSuspended`: undefined

            * `InvalidPurchase`: undefined'
      tags:
      - entitlement
      x-kaltura-format: post
      x-kaltura-parameters:
      - assetId
      - productType
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OTTRequest'
              properties:
                assetId:
                  type: integer
                productType:
                  enum:
                  - ppv
                  - subscription
                  - collection
                  type: string
                  x-enumLabels:
                  - PPV
                  - SUBSCRIPTION
                  - COLLECTION
                  x-enumType: KalturaTransactionType
              type: object
  /service/entitlement/action/cancelRenewal:
    post:
      description: Cancel a household service subscription at the next renewal. The subscription stays valid till the next renewal.
      operationId: entitlement.cancelRenewal
      responses:
        '200':
          description: Success
        x-Errors:
          description: '* `SubscriptionCancellationIsBlocked`: undefined

            * `DomainSuspended`: undefined

            * `InvalidPurchase`: undefined

            * `SubscriptionNotRenewable`: undefined'
      tags:
      - entitlement
      x-kaltura-format: post
      x-kaltura-parameters:
      - subscriptionId
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OTTRequest'
              properties:
                subscriptionId:
                  type: string
              type: object
  /service/entitlement/action/cancelScheduledSubscription:
    post:
      description: Cancel Scheduled Subscription
      operationId: entitlement.cancelScheduledSubscription
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: boolean
            text/xml:
              schema:
                type: boolean
        x-Errors:
          description: '* `SubscriptionCancellationIsBlocked`: undefined'
      tags:
      - entitlement
      x-kaltura-format: post
      x-kaltura-parameters:
      - scheduledSubscriptionId
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OTTRequest'
              properties:
                scheduledSubscriptionId:
                  type: integer
              type: object
  /service/entitlement/action/externalReconcile:
    post:
      description: Reconcile the user household's entitlements with an external entitlements source. This request is frequency protected to avoid too frequent calls per household.
      operationId: entitlement.externalReconcile
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: boolean
            text/xml:
              schema:
                type: boolean
        x-Errors:
          description: '* `UserDoesNotExist`: undefined

            * `AdapterAppFailure`: undefined

            * `UserNotInDomain`: undefined

            * `ReconciliationFrequencyLimitation`: undefined'
      tags:
      - entitlement
      x-kaltura-format: post
      x-kaltura-parameters: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OTTRequest'
              properties: {}
              type: object
  /service/entitlement/action/forceCancel:
    post:
      description: Immediately cancel a subscription, PPV or collection. Cancel applies regardless of cancellation window and content consumption status
      operationId: entitlement.forceCancel
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: boolean
            text/xml:
              schema:
                type: boolean
        x-Errors:
          description: '* `InvalidPurchase`: undefined

            * `DomainSuspended`: undefined'
      tags:
      - entitlement
      x-kaltura-format: post
      x-kaltura-parameters:
      - assetId
      - productType
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OTTRequest'
              properties:
                assetId:
                  type: integer
                productType:
                  enum:
                  - ppv
                  - subscription
                  - collection
                  type: string
                  x-enumLabels:
                  - PPV
                  - SUBSCRIPTION
                  - COLLECTION
                  x-enumType: KalturaTransactionType
              type: object
  /service/entitlement/action/getNextRenewal:
    post:
      description: Returns the data about the next renewal
      operationId: entitlement.getNextRenewal
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaEntitlementRenewal'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaEntitlementRenewal'
      tags:
      - entitlement
      x-kaltura-format: post
      x-kaltura-parameters:
      - id
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OTTRequest'
              properties:
                id:
                  type: integer
              type: object
  /service/entitlement/action/grant:
    post:
      description: Grant household for an entitlement for a PPV or Subscription.
      operationId: entitlement.grant
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: boolean
            text/xml:
              schema:
                type: boolean
        x-Errors:
          description: '* `UserSuspended`: undefined

            * `UserNotInDomain`: undefined

            * `UserDoesNotExist`: undefined

            * `UnableToPurchaseSubscriptionPurchased`: undefined

            * `UnableToPurchaseFree`: undefined

            * `UnableToPurchaseForPurchaseSubscriptionOnly`: undefined

            * `UnableToPurchasePPVPurchased`: undefined

            * `NotForPurchase`: undefined

            * `UnableToPurchaseCollectionPurchased`: undefined

            * `UnKnownPPVModule`: undefined'
      tags:
      - entitlement
      x-kaltura-format: post
      x-kaltura-parameters:
      - productId
      - productType
      - history
      - contentId
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OTTRequest'
              properties:
                contentId:
                  default: 0
                  type: integer
                history:
                  type: boolean
                productId:
                  type: integer
                productType:
                  enum:
                  - ppv
                  - subscription
                  - collection
                  type: string
                  x-enumLabels:
                  - PPV
                  - SUBSCRIPTION
                  - COLLECTION
                  x-enumType: KalturaTransactionType
              type: object
  /service/entitlement/action/list:
    post:
      description: Gets all the entitled media items for a household
      operationId: entitlement.list
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaEntitlementListResponse'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaEntitlementListResponse'
      tags:
      - entitlement
      x-kaltura-format: post
      x-kaltura-parameters:
      - filter
      - pager
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OTTRequest'
              properties:
                filter:
                  $ref: '#/components/schemas/KalturaEntitlementFilter'
                pager:
                  $ref: '#/components/schemas/KalturaFilterPager'
              type: object
  /service/entitlement/action/swap:
    post:
      description: Swap current entitlement (subscription) with new entitlement (subscription) - only Grant
      operationId: entitlement.swap
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: boolean
            text/xml:
              schema:
                type: boolean
      tags:
      - entitlement
      x-kaltura-format: post
      x-kaltura-parameters:
      - currentProductId
      - newProductId
      - history
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OTTRequest'
              properties:
                currentProductId:
                  type: integer
                history:
                  type: boolean
                newProductId:
                  type: integer
              type: object
  /service/entitlement/action/update:
    post:
      description: Update Kaltura Entitelment by Purchase id
      operationId: entitlement.update
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KalturaEntitlement'
            text/xml:
              schema:
                $ref: '#/components/schemas/KalturaEntitlement'
      tags:
      - entitlement
      x-kaltura-format: post
      x-kaltura-parameters:
      - id
      - entitlement
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OTTRequest'
              properties:
                entitlement:
                  $ref: '#/components/schemas/KalturaEntitlement'
                id:
                  type: integer
              type: object
components:
  schemas:
    KalturaReportFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      description: '`abstract`


        Report filter'
      discriminator:
        propertyName: objectType
      oneOf:
      - $ref: '#/components/schemas/KalturaDeviceReportFilter'
      properties:
        objectType:
          enum:
          - KalturaDeviceReportFilter
          type: string
        orderBy:
          enum:
          - NONE
          type: string
          x-enumLabels:
          - NONE
          x-enumType: KalturaReportOrderBy
      title: KalturaReportFilter
      type: object
    KalturaChannelsFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      properties:
        idEqual:
          description: channel identifier to filter by
          type: integer
        nameEqual:
          description: Exact channel name to filter by
          type: string
        nameStartsWith:
          description: Channel name starts with (autocomplete)
          type: string
        orderBy:
          enum:
          - NONE
          - NAME_ASC
          - NAME_DESC
          - CREATE_DATE_ASC
          - CREATE_DATE_DESC
          type: string
          x-enumLabels:
          - NONE
          - NAME_ASC
          - NAME_DESC
          - CREATE_DATE_ASC
          - CREATE_DATE_DESC
          x-enumType: KalturaChannelsOrderBy
      title: KalturaChannelsFilter
      type: object
    KalturaPersonalFeedFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      properties:
        orderBy:
          enum:
          - RELEVANCY_DESC
          - NAME_ASC
          - NAME_DESC
          - VIEWS_DESC
          - RATINGS_DESC
          - VOTES_DESC
          - START_DATE_DESC
          - START_DATE_ASC
          type: string
          x-enumLabels:
          - RELEVANCY_DESC
          - NAME_ASC
          - NAME_DESC
          - VIEWS_DESC
          - RATINGS_DESC
          - VOTES_DESC
          - START_DATE_DESC
          - START_DATE_ASC
          x-enumType: KalturaPersonalFeedOrderBy
      title: KalturaPersonalFeedFilter
      type: object
    KalturaEntitlementListResponse:
      allOf:
      - $ref: '#/components/schemas/KalturaListResponse'
      description: Entitlements list
      properties:
        objects:
          items:
            $ref: '#/components/schemas/KalturaEntitlement'
          type: array
      title: KalturaEntitlementListResponse
      type: object
    KalturaSeriesRecordingFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      description: Filtering recordings
      properties:
        orderBy:
          enum:
          - START_DATE_ASC
          - START_DATE_DESC
          - ID_ASC
          - ID_DESC
          - SERIES_ID_ASC
          - SERIES_ID_DESC
          type: string
          x-enumLabels:
          - START_DATE_ASC
          - START_DATE_DESC
          - ID_ASC
          - ID_DESC
          - SERIES_ID_ASC
          - SERIES_ID_DESC
          x-enumType: KalturaSeriesRecordingOrderBy
      title: KalturaSeriesRecordingFilter
      type: object
    KalturaSearchHistoryFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      properties:
        orderBy:
          enum:
          - NONE
          type: string
          x-enumLabels:
          - NONE
          x-enumType: KalturaSearchHistoryOrderBy
      title: KalturaSearchHistoryFilter
      type: object
    KalturaSubscriptionSetFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      properties:
        idIn:
          description: Comma separated identifiers
          type: string
        orderBy:
          enum:
          - NAME_ASC
          - NAME_DESC
          type: string
          x-enumLabels:
          - NAME_ASC
          - NAME_DESC
          x-enumType: KalturaSubscriptionSetOrderBy
        subscriptionIdContains:
          description: Comma separated subscription identifiers
          type: string
        typeEqual:
          description: 'Enum Type: `KalturaSubscriptionSetType`


            Subscription Type'
          enum:
          - SWITCH
          - DEPENDENCY
          type: string
          x-enumLabels:
          - SWITCH
          - DEPENDENCY
          x-enumType: KalturaSubscriptionSetType
      title: KalturaSubscriptionSetFilter
      type: object
    KalturaFollowTvSeriesFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      properties:
        orderBy:
          enum:
          - START_DATE_DESC
          - START_DATE_ASC
          type: string
          x-enumLabels:
          - START_DATE_DESC
          - START_DATE_ASC
          x-enumType: KalturaFollowTvSeriesOrderBy
      title: KalturaFollowTvSeriesFilter
      type: object
    KalturaAssetReminderFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaReminderFilter'
      properties:
        orderBy:
          enum:
          - RELEVANCY_DESC
          - NAME_ASC
          - NAME_DESC
          - VIEWS_DESC
          - RATINGS_DESC
          - VOTES_DESC
          - START_DATE_DESC
          - START_DATE_ASC
          - LIKES_DESC
          type: string
          x-enumLabels:
          - RELEVANCY_DESC
          - NAME_ASC
          - NAME_DESC
          - VIEWS_DESC
          - RATINGS_DESC
          - VOTES_DESC
          - START_DATE_DESC
          - START_DATE_ASC
          - LIKES_DESC
          x-enumType: KalturaAssetReminderOrderBy
      title: KalturaAssetReminderFilter
      type: object
    KalturaEntitlementRenewal:
      properties:
        date:
          description: Next renewal date
          type: integer
        price:
          $ref: '#/components/schemas/KalturaPrice'
        purchaseId:
          description: Puchase ID
          type: integer
        subscriptionId:
          description: Subscription ID
          type: integer
      title: KalturaEntitlementRenewal
      type: object
    KalturaFilter:
      description: '`abstract`'
      discriminator:
        propertyName: objectType
      oneOf:
      - $ref: '#/components/schemas/KalturaRelatedObjectFilter'
      - $ref: '#/components/schemas/KalturaChannelsFilter'
      - $ref: '#/components/schemas/KalturaMediaFileFilter'
      - $ref: '#/components/schemas/KalturaImageFilter'
      - $ref: '#/components/schemas/KalturaImageTypeFilter'
      - $ref: '#/components/schemas/KalturaTagFilter'
      - $ref: '#/components/schemas/KalturaAssetStructFilter'
      - $ref: '#/components/schemas/KalturaCurrencyFilter'
      - $ref: '#/components/schemas/KalturaPersistedFilter'
      - $ref: '#/components/schemas/KalturaCollectionFilter'
      - $ref: '#/components/schemas/KalturaPricePlanFilter'
      - $ref: '#/components/schemas/KalturaPriceDetailsFilter'
      - $ref: '#/components/schemas/KalturaSubscriptionSetFilter'
      - $ref: '#/components/schemas/KalturaLanguageFilter'
      - $ref: '#/components/schemas/KalturaMetaFilter'
      - $ref: '#/components/schemas/KalturaCountryFilter'
      - $ref: '#/components/schemas/KalturaSearchHistoryFilter'
      - $ref: '#/components/schemas/KalturaConfigurationsFilter'
      - $ref: '#/components/schemas/KalturaReportFilter'
      - $ref: '#/components/schemas/KalturaConfigurationGroupTagFilter'
      - $ref: '#/components/schemas/KalturaConfigurationGroupDeviceFilter'
      - $ref: '#/components/schemas/KalturaHouseholdDeviceFilter'
      - $ref: '#/components/schemas/KalturaRegionFilter'
      - $ref: '#/components/schemas/KalturaUserAssetRuleFilter'
      - $ref: '#/components/schemas/KalturaParentalRuleFilter'
      - $ref: '#/components/schemas/KalturaExportTaskFilter'
      - $ref: '#/components/schemas/KalturaAssetCommentFilter'
      - $ref: '#/components/schemas/KalturaBookmarkFilter'
      - $ref: '#/components/schemas/KalturaSeriesRecordingFilter'
      - $ref: '#/components/schemas/KalturaProductPriceFilter'
      - $ref: '#/components/schemas/KalturaEntitlementFilter'
      - $ref: '#/components/schemas/KalturaTransactionHistoryFilter'
      - $ref: '#/components/schemas/KalturaUserRoleFilter'
      - $ref: '#/components/schemas/KalturaPaymentMethodProfileFilter'
      - $ref: '#/components/schemas/KalturaAssetHistoryFilter'
      - $ref: '#/components/schemas/KalturaRecordingContextFilter'
      - $ref: '#/components/schemas/KalturaRecordingFilter'
      - $ref: '#/components/schemas/KalturaHouseholdUserFilter'
      - $ref: '#/components/schemas/KalturaEngagementFilter'
      - $ref: '#/components/schemas/KalturaReminderFilter'
      - $ref: '#/components/schemas/KalturaFollowTvSeriesFilter'
      - $ref: '#/components/schemas/KalturaInboxMessageFilter'
      - $ref: '#/components/schemas/KalturaAnnouncementFilter'
      - $ref: '#/components/schemas/KalturaPersonalFeedFilter'
      - $ref: '#/components/schemas/KalturaTopicFilter'
      - $ref: '#/components/schemas/KalturaSubscriptionFilter'
      - $ref: '#/components/schemas/KalturaSocialCommentFilter'
      - $ref: '#/components/schemas/KalturaSocialFriendActivityFilter'
      - $ref: '#/components/schemas/KalturaSocialActionFilter'
      - $ref: '#/components/schemas/KalturaFavoriteFilter'
      - $ref: '#/components/schemas/KalturaOTTUserFilter'
      properties:
        objectType:
          enum:
          - KalturaRelatedObjectFilter
          - KalturaChannelsFilter
          - KalturaMediaFileFilter
          - KalturaImageFilter
          - KalturaImageTypeFilter
          - KalturaTagFilter
          - KalturaAssetStructFilter
          - KalturaCurrencyFilter
          - KalturaPersistedFilter
          - KalturaCollectionFilter
          - KalturaPricePlanFilter
          - KalturaPriceDetailsFilter
          - KalturaSubscriptionSetFilter
          - KalturaLanguageFilter
          - KalturaMetaFilter
          - KalturaCountryFilter
          - KalturaSearchHistoryFilter
          - KalturaConfigurationsFilter
          - KalturaReportFilter
          - KalturaConfigurationGroupTagFilter
          - KalturaConfigurationGroupDeviceFilter
          - KalturaHouseholdDeviceFilter
          - KalturaRegionFilter
          - KalturaUserAssetRuleFilter
          - KalturaParentalRuleFilter
          - KalturaExportTaskFilter
          - KalturaAssetCommentFilter
          - KalturaBookmarkFilter
          - KalturaSeriesRecordingFilter
          - KalturaProductPriceFilter
          - KalturaEntitlementFilter
          - KalturaTransactionHistoryFilter
          - KalturaUserRoleFilter
          - KalturaPaymentMethodProfileFilter
          - KalturaAssetHistoryFilter
          - KalturaRecordingContextFilter
          - KalturaRecordingFilter
          - KalturaHouseholdUserFilter
          - KalturaEngagementFilter
          - KalturaReminderFilter
          - KalturaFollowTvSeriesFilter
          - KalturaInboxMessageFilter
          - KalturaAnnouncementFilter
          - KalturaPersonalFeedFilter
          - KalturaTopicFilter
          - KalturaSubscriptionFilter
          - KalturaSocialCommentFilter
          - KalturaSocialFriendActivityFilter
          - KalturaSocialActionFilter
          - KalturaFavoriteFilter
          - KalturaOTTUserFilter
          type: string
        orderBy:
          description: order by
          type: string
      title: KalturaFilter
      type: object
    KalturaTopicFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      properties:
        orderBy:
          enum:
          - NONE
          type: string
          x-enumLabels:
          - NONE
          x-enumType: KalturaTopicOrderBy
      title: KalturaTopicFilter
      type: object
    KalturaAssetFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaPersistedFilter'
      properties:
        dynamicOrderBy:
          $ref: '#/components/schemas/KalturaDynamicOrderBy'
        orderBy:
          enum:
          - RELEVANCY_DESC
          - NAME_ASC
          - NAME_DESC
          - VIEWS_DESC
          - RATINGS_DESC
          - VOTES_DESC
          - START_DATE_DESC
          - START_DATE_ASC
          - LIKES_DESC
          - CREATE_DATE_ASC
          - CREATE_DATE_DESC
          type: string
          x-enumLabels:
          - RELEVANCY_DESC
          - NAME_ASC
          - NAME_DESC
          - VIEWS_DESC
          - RATINGS_DESC
          - VOTES_DESC
          - START_DATE_DESC
          - START_DATE_ASC
          - LIKES_DESC
          - CREATE_DATE_ASC
          - CREATE_DATE_DESC
          x-enumType: KalturaAssetOrderBy
      title: KalturaAssetFilter
      type: object
    KalturaEngagementFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      properties:
        orderBy:
          enum:
          - NONE
          type: string
          x-enumLabels:
          - NONE
          x-enumType: KalturaEngagementOrderBy
        sendTimeGreaterThanOrEqual:
          description: SendTime GreaterThanOrEqual
          type: integer
        typeIn:
          description: List of inbox message types to search within.
          type: string
      title: KalturaEngagementFilter
      type: object
    KalturaSocialActionFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      properties:
        actionTypeIn:
          description: Comma separated list of social actions to filter by
          type: string
        assetIdIn:
          description: Comma separated list of asset identifiers.
          type: string
        assetTypeEqual:
          description: 'Enum Type: `KalturaAssetType`


            Asset Type'
          enum:
          - media
          - recording
          - epg
          type: string
          x-enumLabels:
          - MEDIA
          - RECORDING
          - EPG
          x-enumType: KalturaAssetType
        orderBy:
          enum:
          - NONE
          type: string
          x-enumLabels:
          - NONE
          x-enumType: KalturaSocialActionOrderBy
      title: KalturaSocialActionFilter
      type: object
    KalturaImageTypeFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      properties:
        idIn:
          description: IDs to filter by
          type: string
        orderBy:
          enum:
          - NONE
          type: string
          x-enumLabels:
          - NONE
          x-enumType: KalturaImageTypeOrderBy
        ratioIdIn:
          description: Ratio IDs to filter by
          type: string
      title: KalturaImageTypeFilter
      type: object
    KalturaCountryFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      description: Country filter
      properties:
        idIn:
          description: Country identifiers
          type: string
        ipEqual:
          description: Ip to identify the country
          type: string
        ipEqualCurrent:
          description: Indicates if to get the IP from the request
          type: boolean
        orderBy:
          enum:
          - NAME_ASC
          type: string
          x-enumLabels:
          - NAME_ASC
          x-enumType: KalturaCountryOrderBy
      title: KalturaCountryFilter
      type: object
    KalturaConfigurationGroupDeviceFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      description: Configuration group device filter
      properties:
        configurationGroupIdEqual:
          description: the ID of the configuration group for which to return related configurations group devices
          type: string
        orderBy:
          enum:
          - NONE
          type: string
          x-enumLabels:
          - NONE
          x-enumType: KalturaConfigurationGroupDeviceOrderBy
      title: KalturaConfigurationGroupDeviceFilter
      type: object
    KalturaHouseholdDeviceFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      properties:
        deviceFamilyIdIn:
          description: Device family Ids
          type: string
        householdIdEqual:
          description: The identifier of the household
          type: integer
        orderBy:
          enum:
          - NONE
          type: string
          x-enumLabels:
          - NONE
          x-enumType: KalturaHouseholdDeviceOrderBy
      title: KalturaHouseholdDeviceFilter
      type: object
    KalturaEntitlement:
      description: Entitlement
      properties:
        currentDate:
          description: '`readOnly`


            Current date'
          readOnly: true
          type: integer
        currentUses:
          description: '`readOnly`


            The current number of uses'
          readOnly: true
          type: integer
        deviceName:
          description: '`readOnly`


            The name of the device from which the purchase was made'
          readOnly: true
          type: string
        deviceUdid:
          description: '`readOnly`


            The UDID of the device from which the purchase was made'
          readOnly: true
          type: string
        endDate:
          description: '`readOnly`


            The end date of the entitlement'
          readOnly: true
          type: integer
        householdId:
          description: '`readOnly`


            The Identifier of the purchasing household'
          readOnly: true
          type: integer
        id:
          description: '`readOnly`


            Purchase identifier (for subscriptions and collections only)'
          readOnly: true
          type: integer
        isCancelationWindowEnabled:
          description: '`readOnly`


            Indicates whether a cancelation window period is enabled'
          readOnly: true
          type: boolean
        lastViewDate:
          description: '`readOnly`


            The last date the item was viewed'
          readOnly: true
          type: integer
        maxUses:
          description: '`readOnly`


            The maximum number of uses available for this item (only for subscription and PPV)'
          readOnly: true
          type: integer
        paymentMethod:
          description: '`readOnly`


            Enum Type: `KalturaPaymentMethodType`


            Payment Method'
          enum:
          - unknown
          - credit_card
          - sms
          - pay_pal
          - debit_card
          - ideal
          - incaso
          - gift
          - visa
          - master_card
          - in_app
          - m1
          - change_subscription
          - offline
          readOnly: true
          type: string
          x-enumLabels:
          - UNKNOWN
          - CREDIT_CARD
          - SMS
          - PAY_PAL
          - DEBIT_CARD
          - IDEAL
          - INCASO
          - GIFT
          - VISA
          - MASTER_CARD
          - IN_APP
          - M1
          - CHANGE_SUBSCRIPTION
          - OFFLINE
          x-enumType: KalturaPaymentMethodType
        productId:
          description: '`readOnly`


            Product identifier'
          readOnly: true
          type: string
        purchaseDate:
          description: '`readOnly`


            Purchase date'
          readOnly: true
          type: integer
        userId:
          description: '`readOnly`


            The Identifier of the purchasing user'
          readOnly: true
          type: string
      title: KalturaEntitlement
      type: object
    KalturaSeasonsReminderFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaReminderFilter'
      properties:
        epgChannelIdEqual:
          description: EPG channel ID
          type: integer
        seasonNumberIn:
          description: Comma separated season numbers
          type: string
        seriesIdEqual:
          description: Series ID
          type: string
      title: KalturaSeasonsReminderFilter
      type: object
    KalturaRecordingFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      description: Filtering recordings
      properties:
        filterExpression:
          description: KSQL expression
          type: string
        orderBy:
          enum:
          - TITLE_ASC
          - TITLE_DESC
          - START_DATE_ASC
          - START_DATE_DESC
          type: string
          x-enumLabels:
          - TITLE_ASC
          - TITLE_DESC
          - START_DATE_ASC
          - START_DATE_DESC
          x-enumType: KalturaRecordingOrderBy
        statusIn:
          description: Recording Statuses
          type: string
      title: KalturaRecordingFilter
      type: object
    KalturaUserRoleFilter:
      allOf:
      - $ref: '#/components/schemas/KalturaFilter'
      description: User roles filter
      properties:
        currentUserRoleIdsContains:
          description: Indicates whether the results should be filtered by userId using the current
          type: boolean
        idIn:
          description: Comma separated roles identifiers
          type: string
        orderBy:
          enum:
          - NONE
          type: string
          x-enumLabels:
          - NONE
          x-enumType

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