Account.V1

Perform Account Management

APIDescription
PUT api/Account/ChangePassword/{affiliateId}

Changes password of logged in user

GET api/Account/SendResetPasswordEmail/{affiliateId}?userName={userName}

Sends email with reset password link.

GET api/Account/ValidateResetPasswordToken/{affiliateId}?token={token}

Validates token received before changing user password.

GET api/Account/ValidateActivationToken/{affiliateId}?token={token}

Validates registration token.

GET api/Account/{affiliateId}/ResendValidation?userName={userName}

Resends validation email for user name.

PUT api/Account/ResetPassword/{affiliateId}

Resets user password if he forgets it - old password not required.

PUT api/Profile/{affiliateId}/UpdateFromSource

Needs to be authenticated. Gets customer details from Affiliate Gateway and will do update customer profile.

PUT api/Profile/{affiliateId}

Updates the user profile.

POST api/Account/{affiliateId}?settingValue={settingValue}

Create user and user profile.

GET api/Account/AcceptTandC/{affiliateId}

Accepts the Terms and Conditions.

GET api/Profile/{affiliateId}

Get current user profile. Needs to be authenticated.

Affiliates.V1

Api for getting Affiliate details

APIDescription
GET api/Affiliates/GetId/{affiliateName}

Returns the affiliates name on the Platform

GET api/Affiliates/GetCertificationScheme/{affiliateId}

Returns Certificates collection of an affiliate by Certificate scheme

GET api/Affiliates/GetName/{affiliateId}

Returns the affiliates name on the Platform

AppSettings.V1

REST Api for retrieving central Application Settings

APIDescription
GET api/AppSettings/{affiliateId}/{appSettingGroup}

Returns RESULTANT the App Settings for a given affiliate and AppSettingsGroup

GET api/AppSettings/Internal/{affiliateId}/{appSettingGroup}

Returns all the App Settings for a given affiliate and AppSettingsGroup including HIDDEN. Required authentication

GET api/AppSettings/{affiliateId}/{appSettingGroup}/{settingKey}

Returns a specific App Setting

Basket.V1

V1 Api for managing the users basket and watch lists (saved for later) items

APIDescription
GET api/Basket/WatchList/{affiliateId}?includeMediaItem={includeMediaItem}

Returns a list of basket items that have been flagged as saved for later. I.e. the Watch List. It is reverse chronologically ordered

POST api/Basket/WatchList/{affiliateId}?offerId={offerId}&includeMediaItem={includeMediaItem}

Add an offer to a users watch list (Basket with SaveForLater flag set to true

DELETE api/Basket/WatchList/{affiliateId}?basketItemId={basketItemId}&includeMediaItem={includeMediaItem}

Remove a WatchList item

Collections.V1

V1 Collections and their contents

APIDescription
GET api/Collections/{affiliateId}

Returns the list of valid Collections for a particular affiliate, including a count of movies in the list.

POST api/Collections/MediaItems/{affiliateId}/PublishToStore?collectionName={collectionName}&json={json}&xml={xml}&zip={zip}&mediaItemDtoType={mediaItemDtoType}

Publishes all the media items in a given Collection to files in the store

GET api/Collections/MediaItems/{affiliateId}?collectionName={collectionName}

Returns all the media items in a given collection

POST api/Collections/{affiliateId}/PublishToStore?json={json}&xml={xml}&zip={zip}

Publishes the list of available Collections to the location specified in the AppSettings.

Entitlement.V1

Customer Entitlements management api

APIDescription
GET api/Entitlement/RecentlyViewed/{affiliateId}?currentOnly={currentOnly}&includeMediaItem={includeMediaItem}&skip={skip}&take={take}

Returns the authenticated users Recently Viewed data in reverse chronological order

GET api/Entitlement/Current/{affiliateId}?includeMediaItem={includeMediaItem}&skip={skip}&take={take}

Returns the authenticated users current entitlements

GET api/Entitlement/History/{affiliateId}?skip={skip}&take={take}

Returns the authenticated users History of entitlements in reverse chronological order

Genres.V1

V1 Genres and their contents

APIDescription
POST api/Genres/{affiliateId}/PublishToStore?json={json}&xml={xml}&zip={zip}

Publishes the list of available Genres to the location specified in the AppSettings.

GET api/Genres/MediaItems/{affiliateId}?genreName={genreName}

Returns all the media items in a given genre

POST api/Genres/MediaItems/{affiliateId}/PublishToStore?genreName={genreName}&json={json}&xml={xml}&zip={zip}&mediaItemDTOType={mediaItemDTOType}

Publishes all the media items in a given genre to files in the store

GET api/Genres/{affiliateId}

Returns the list of valid Genres for a particular affiliate, including a count of movies in the list.

Identity.V1

Perform identity validations and customer subscription rights

APIDescription
POST api/Identity/Validate/{affiliateId}

Validates an identity with an affiliates own identity provider and authorization system

License.V1

Handles all requests from the License Service

APIDescription
POST api/License/RecordLicenseIssued/{affiliateId}/{purchaseOrderItemId}

Record that a DRM License has been issued

POST api/License/AcknowledgeLicenseIssued/{affiliateId}/{deviceId}/{purchaseOrderItemId}

Acknowledges a license received by a device

GET api/License/RequestLicense/{affiliateId}?deviceId={deviceId}&keyId={keyId}&persistentLicenseRequested={persistentLicenseRequested}&deviceTypeDescription={deviceTypeDescription}

Used by the Licensor to request a license. Validates whether a PlayReady License should be issued. This call was known as 'PermittedLicense' in the Ioko UI Service.

Logging.V1

API proxy for Logging to Application Insights and Google Analytics. To be used only by clients that can't log directly

APIDescription
POST api/Logging/Event

Log an event

POST api/Logging/Exception

Log an exception of critical error

MediaItem.V1

V1 REST Api for getting all things relating to and including Media Items (Films, TV, Episodes etc..)

APIDescription
GET api/MediaItems/Affiliate/{affiliateId}

Returns all the current media items currently available on the platform for a given affiliate

GET api/MediaItems/Affiliate/{affiliateId}/Midi

Returns all the current media items MIDI currently available on the platform for a given affiliate

POST api/MediaItems/Affiliate/{affiliateId}/PublishToStore?json={json}&xml={xml}&zip={zip}&mediaItemDTOType={mediaItemDTOType}

Publishes all the current Media Items (MediaItemMaxDTO) currently available on the platform for a given affiliate

GET api/MediaItems/{supplierRef}/Collections?affiliateId={affiliateId}

Returns all the curated collections that the selected Media Item is in.

GET api/MediaItems/Affiliate/{affiliateId}/Mini

Returns all the current media items MINI currently available on the platform for a given affiliate

GET api/MediaItems/Affiliate/{affiliateId}/{supplierRef}

Returns the details for a single media item

Platforma.V1

Api for getting platform details

APIDescription
GET api/Platform/{affiliateId}/TandCs

Returns Terms and Conditions of an affiliate

GET api/Platform/{affiliateId}/Help?appSettingGroup={appSettingGroup}

Returns current Help articles collection of an affiliate by appSettingGropu

PlaybackLogs.V1

Playback (Watch Logs) management api

APIDescription
POST api/PlaybackLogs/{affiliateId}

Log a Watch Record. Evaluates for concurrent watches and may set the session as stopped if found.

Promotions.V1

Api to handle promotions

APIDescription
GET api/Promotions/GetCurrent/{affiliateId}?appSettingGroup={appSettingGroup}

Returns current Promotions collection of an affiliate by appSettingGropu

Purchase.V1

Purchase management API

APIDescription
POST api/Purchase/{affiliateId}/PurchaseOrderItem/FVOD/{offerId}?includeMediaItem={includeMediaItem}

Use to create a new Purchase Order Item for Free VOD. No Purchase Order required only the offer. The date of the purchase order is updated to current time.

POST api/Purchase/{affiliateId}/PurchaseOrderItem/SVOD/{offerId}?includeMediaItem={includeMediaItem}

Use to create a new Purchase Order Item for Subscription VOD. No Purchase Order required only the offer. The date of the purchase order is updated to current time.

POST api/Purchase/FromBasket/{affiliateId}?fromBrasket={fromBrasket}

Creates a new purchase order from a Users basket

GET api/Purchase/{affiliateIs}/{purchaseOrderId}?affiliateId={affiliateId}&withPOIs={withPOIs}

Returns a given PO. With (default) or without POIs

Account.V2

Perform Account Management

APIDescription
PUT api/Profile/{affiliateId}

Updates the user profile.

GET api/Account/{affiliateId}/ResendValidation?userName={userName}

Resends validation email for user name.

GET api/Profile/Preferences/{affiliateId}

Gets user preferences.

GET api/Account/AcceptTandC/{affiliateId}

Accepts the Terms and Conditions.

PUT api/Account/ResetPassword/{affiliateId}

Resets user password if he forgets it - old password not required.

GET api/Profile/{affiliateId}

Get current user profile. Needs to be authenticated.

GET api/Account/ValidateActivationToken/{affiliateId}?token={token}

Validates registration token.

PUT api/Profile/{affiliateId}/UpdateFromSource

Needs to be authenticated. Gets customer details from Affiliate Gateway and will do update customer profile.

POST api/Account/{affiliateId}

Create user and user profile.

GET api/Account/ValidateResetPasswordToken/{affiliateId}?token={token}

Validates token received before changing user password.

PUT api/Account/ChangePassword/{affiliateId}

Changes password of logged in user

GET api/Account/SendResetPasswordEmail/{affiliateId}?userName={userName}

Sends email with reset password link.

PUT api/Profile/Preferences/{affiliateId}

Puts the preferences.

Affiliates.V2

Api for getting Affiliate details

APIDescription
GET api/Affiliates/GetId/{affiliateName}

Returns the affiliates name on the Platform

GET api/Affiliates/GetName/{affiliateId}

Returns the affiliates name on the Platform

GET api/Affiliates/GetCertificationScheme/{affiliateId}

Returns Certificates collection of an affiliate by Certificate scheme

Alert.V2

APIDescription
PUT api/Alerts/{affiliateId}/Displayed/{alertId}

Displays the specified alert and increments counter.

DELETE api/Alerts/{affiliateId}/{alertId}

Deletes the alert.

POST api/Alerts/{affiliateId}

Adds the alert.

GET api/Alerts/Current/{affiliateId}/{type}

Gets current alerts for given type.

PUT api/Alerts/{affiliateId}/Cancel/{alertId}

Cancels the specified alert.

GET api/Alerts/Current/{affiliateId}

Gets the current alerts.

AppSettings.V2

REST Api for retrieving central Application Settings

APIDescription
GET api/AppSettings/{affiliateId}/{appSettingGroup}

Returns RESULTANT the App Settings for a given affiliate and AppSettingsGroup

GET api/AppSettings/Internal/{affiliateId}/{appSettingGroup}

Returns all the App Settings for a given affiliate and AppSettingsGroup including HIDDEN. Required authentication

GET api/AppSettings/{affiliateId}/{appSettingGroup}/{settingKey}

Returns a specific App Setting

Basket.V2

V2 Api for managing the users basket and watch lists (saved for later) items

APIDescription
GET api/Basket/{affiliateId}?includeMediaItem={includeMediaItem}

Returns a list of basket items that have been flagged as NOT saved for later. I.e. Ready to purchase It is reverse chronologically ordered

DELETE api/Basket/{affiliateId}?basketItemId={basketItemId}&includeMediaItem={includeMediaItem}

Remove a Basket item

GET api/Basket/WatchList/{affiliateId}?includeMediaItem={includeMediaItem}&classificationName[0]={classificationName[0]}&classificationName[1]={classificationName[1]}&skip={skip}&take={take}&sortOrder={sortOrder}

Returns a list of basket items that have been flagged as saved for later. I.e. the Watch List. It is reverse chronologically ordered

POST api/Basket/WatchList/{affiliateId}?offerId={offerId}&includeMediaItem={includeMediaItem}

Add an offer to a users watch list (Basket with SaveForLater flag set to true)

DELETE api/Basket/WatchList/{affiliateId}?basketItemId={basketItemId}&includeMediaItem={includeMediaItem}

Remove a WatchList item

POST api/Basket/{affiliateId}?offerId={offerId}&includeMediaItem={includeMediaItem}

Add an offer to a users Basket

Collections.V2

V2 Collections and their contents

APIDescription
POST api/Collections/{affiliateId}/PublishToStore?json={json}&xml={xml}&zip={zip}

Publishes the list of available Collections to the location specified in the AppSettings.

GET api/Collections/MediaItems/Filter/{affiliateId}?collectionName={collectionName}&pageIndex={pageIndex}&pageSize={pageSize}&classifications={classifications}&fields={fields}&sortFields={sortFields}&sortDesc={sortDesc}&includeParentAndChildren={includeParentAndChildren}&offerTypes={offerTypes}&subscriptionTiers={subscriptionTiers}

Returns all the media items in a given collection using provided filtering. By default items are sorted by licence start date (descending) and then by sort title (ascending).

GET api/Collections/MediaItems/{affiliateId}?collectionName={collectionName}&includeParentAndChildren={includeParentAndChildren}

Returns all the media items in a given collection

GET api/Collections/{affiliateId}?collectionName={collectionName}

Returns the list of valid Collections for a particular affiliate, including a count of movies in the list.

Customer.V2

API for getting details related to customer account

APIDescription
POST api/Customer/DeviceRevoke/{affiliateId}/{deviceId}

Deactivates user device

POST api/Customer/PurchaseOrderRevoke/{affiliateId}/{purchaseOrderId}

Revokes entitlement from the user purchase order list

GET api/Customer/Devices/{affiliateId}/{username}

Return all registered device details for customer

GET api/Customer/Details/{affiliateId}/{username}

Return account details for customer by customer username

GET api/Customer/Licences/{affiliateId}/{purchaseOrderItemId}

Return licence issued details for purchase Order Item Id, including last viewed and last play position

GET api/Customer/PurchaseOrders/{affiliateId}/{username}

Return all purchase orders details for customer

GET api/Customer/DetailsByEmail/{affiliateId}/{email}

Return account details for customer by customer email address

Device.V2

Device management in FFApi

APIDescription
GET api/Devices/{affiliateId}/Get?includeInactiveDevices={includeInactiveDevices}

Gets the active devices.

POST api/Devices/{affiliateId}/Register

Registers the device.

PUT api/Devices/{affiliateId}/ChangeName/{deviceId}?newName={newName}

Changes the name.

PUT api/Devices/{affiliateId}/Unregister/{deviceId}

Device de-registration

Entitlement.V2

Customer Entitlements management api

APIDescription
GET api/Entitlement/History/{affiliateId}?skip={skip}&take={take}

Returns the authenticated users History of entitlements in reverse chronological order

GET api/Entitlement/RecentlyViewed/{affiliateId}?currentOnly={currentOnly}&includeMediaItem={includeMediaItem}&skip={skip}&take={take}&includeParentAndChild={includeParentAndChild}&classificationName[0]={classificationName[0]}&classificationName[1]={classificationName[1]}&entitlementType[0]={entitlementType[0]}&entitlementType[1]={entitlementType[1]}

Returns the authenticated users Recently Viewed data in reverse chronological order

GET api/Entitlement/Current/{affiliateId}?includeMediaItem={includeMediaItem}&includeMediaAssets={includeMediaAssets}&skip={skip}&take={take}&includeParentAndChild={includeParentAndChild}&classificationName[0]={classificationName[0]}&classificationName[1]={classificationName[1]}&entitlementType[0]={entitlementType[0]}&entitlementType[1]={entitlementType[1]}&sortOrder={sortOrder}

Returns the authenticated users current entitlements

GET api/Entitlement/{affiliateId}/{supplierRef}?includeParentAndChildren={includeParentAndChildren}

Returns the current entitlement for a given supplier ref. User may only have one current entitlement per supplier ref.

GET api/Entitlement/GetRevoked/{affiliateId}

Gets the revoked entitlements.

Genres.V2

V2 Genres and their contents

APIDescription
GET api/Genres/MediaItems/{affiliateId}?genreName={genreName}&includeParentAndChildren={includeParentAndChildren}

Returns all the media items in a given genre

GET api/Genres/MediaItems/Filter/{affiliateId}?genreName={genreName}&pageIndex={pageIndex}&pageSize={pageSize}&classifications={classifications}&fields={fields}&sortFields={sortFields}&sortDesc={sortDesc}&includeParentAndChildren={includeParentAndChildren}&offerTypes={offerTypes}&subscriptionTiers={subscriptionTiers}

Returns all the media items for a given genre using provided filtering. By default items are sorted by licence start date (descending) and then by sort title (ascending).

POST api/Genres/{affiliateId}/PublishToStore?json={json}&xml={xml}&zip={zip}

Publishes the list of available Genres to the location specified in the AppSettings.

GET api/Genres/{affiliateId}

Returns the list of valid Genres for a particular affiliate, including a count of movies in the list.

GeoIp.V2

Geo IP blocking controller

APIDescription
GET IsAllowedWithCountry/{affiliateId}/ipAddress?ipAddress={ipAddress}

Checks if IP should be blocked and returns additional details

GET IsAllowedUsingGeoLocation/{affiliateId}/geoLocation?latitude={latitude}&longitude={longitude}

Checks if geo location should be blocked

GET IsAllowedWithCountryUsingIPOrCountryCode/{affiliateId}/ipAddress/countryCode?ipAddress={ipAddress}&countryCode={countryCode}

Checks if IP or country code should be blocked and returns additional details

GET IsAllowedUsingIPOrCountryCode/{affiliateId}/ipAddress/countryCode?ipAddress={ipAddress}&countryCode={countryCode}

Checks if IP or country code should be blocked.

GET IsAllowedWithCountryUsingGeoLocation/{affiliateId}/geoLocation?latitude={latitude}&longitude={longitude}

Checks if geo location should be blocked

GET IsAllowed/{affiliateId}/ipAddress?ipAddress={ipAddress}

Checks if IP should be blocked.

Identity.V2

Perform identity validations and customer subscription rights

APIDescription
POST api/Identity/Validate/{affiliateId}

Validates an identity with an affiliates own identity provider and authorization system

License.V2

Handles all requests from the License Service

APIDescription
GET api/License/RequestTrailerLicense/{affiliateId}?offerId={offerId}

Used by the Licensor to request a trailer license.

GET api/License/RequestLeapFrogLicense/{affiliateId}?token={token}

Requests license for LeapFrog STB's.

GET api/License/RequestLicense/{affiliateId}?ipAddress={ipAddress}&deviceId={deviceId}&keyId={keyId}&offerId={offerId}&persistentLicenseRequested={persistentLicenseRequested}&deviceType={deviceType}&sessionId={sessionId}

Used by the Licensor to request a license. Validates whether a PlayReady License should be issued. This call was known as 'PermittedLicense' in the Ioko UI Service.

GET api/License/RequestAmsLicense/{affiliateId}?ipAddress={ipAddress}&offerId={offerId}&deviceId={deviceId}&persistentLicenseRequested={persistentLicenseRequested}&deviceType={deviceType}&sessionId={sessionId}

Gets AMS Movie License DTO for requested movie

POST api/License/AcknowledgeLicenseIssued/{affiliateId}/{deviceId}/{purchaseOrderItemId}

Acknowledges a license received by a device

POST api/License/RegisterCustomData/{affiliateId}

Registers the custom data for LeapFrog STB's.

POST api/License/RecordLicenseForLeapFrog/{affiliateId}?token={token}

No documentation available.

POST api/License/RecordLicenseIssued/{affiliateId}/{purchaseOrderItemId}

Record that a DRM License has been issued

Logging.V2

API proxy for Logging to Application Insights and Google Analytics. To be used only by clients that can't log directly

APIDescription
POST api/Logging/LoginAttempt

Log an loginattempt event

POST api/Logging/PlaybackStop

Log an playbackstop event

POST api/Logging/PlaybackPause

Log an playbackpause event

POST api/Logging/PlaybackQuality

Log an playbackquality event

POST api/Logging/PlaybackFault

Log an playbackfault event

POST api/Logging/Exception

Log an exception of critical error

POST api/Logging/PlaybackStart

Log an playbackstart event

POST api/Logging/AppLaunch

Log an applaunch event

POST api/Logging/Pageview

Log an pageview event

POST api/Logging/Search

Log an search event

POST api/Logging/Event

Log an event

POST api/Logging/Buffering

Log an buffering event

MediaItem.V2

V2 REST Api for getting all things relating to and including Media Items (Films, TV, Episodes etc..)

APIDescription
GET api/MediaItems/Offer/{affiliateId}/{tmsId}

Gets the media asset by grace note identifier.

POST api/MediaItems/Affiliate/{affiliateId}/PublishToStore?json={json}&xml={xml}&zip={zip}&mediaItemDTOType={mediaItemDTOType}

Publishes all the current Media Items (MediaItemMaxDTO) currently available on the platform for a given affiliate. Always publishes with Parent and Children Mini DTO's

GET api/MediaItems/{supplierRef}/Collections?affiliateId={affiliateId}

Returns all the curated collections that the selected Media Item is in.

GET api/MediaItems/Affiliate/{affiliateId}/Midi?includeParentAndChild={includeParentAndChild}

Returns all the current media items MIDI currently available on the platform for a given affiliate

GET api/MediaItems/Affiliate/{affiliateId}/Mini?includeParentAndChild={includeParentAndChild}

Returns all the current media items MINI currently available on the platform for a given affiliate

GET api/MediaItems/Affiliate/{affiliateId}/{supplierRef}?includeParentAndChild={includeParentAndChild}

Returns the details for a single media item

GET api/MediaItems/MediaAsset/{affiliateId}/{tmsId}

Gets the media asset by grace note identifier.

GET api/MediaItems/Affiliate/{affiliateId}/{externalReferenceKey}/{externalReferenceValue}?includeParentAndChild={includeParentAndChild}

Returns all the current media items currently available on the platform for a given affiliate selected by specific external reference Id and external reference value

GET api/MediaItems/Filter/{affiliateId}?pageIndex={pageIndex}&pageSize={pageSize}&classifications={classifications}&fields={fields}&sortFields={sortFields}&sortDesc={sortDesc}&includeParentAndChildren={includeParentAndChildren}&offerTypes={offerTypes}&subscriptionTiers={subscriptionTiers}

Returns all the media items currently available on the platform for a given affiliate using provided filtering. By default items are sorted by media item start date (descending) and then by sort title (ascending).

GET api/MediaItems/Affiliate/{affiliateId}?includeParentAndChild={includeParentAndChild}&includeInactiveMediaItems={includeInactiveMediaItems}

Returns all the current media items currently available on the platform for a given affiliate

Platform.V2

Api for getting miscellaneous platform details

APIDescription
GET api/Platform/{affiliateId}/Help?appSettingGroup={appSettingGroup}

Returns current Help articles collection of an affiliate by appSettingGroup

GET api/Platform/{affiliateId}/TandCs?appSettingGroup={appSettingGroup}

Returns Terms and Conditions of an affiliate

PlaybackLogs.V2

Playback (Watch Logs) management api

APIDescription
POST api/PlaybackLogs/{affiliateId}

Log a Watch Record. Evaluates for concurrent watches and may set the session as stopped if found.

Promotions.V2

Api to handle promotions

APIDescription
GET api/Promotions/GetCurrent/{affiliateId}?appSettingGroup={appSettingGroup}

Returns current Promotions collection of an affiliate by appSettingGroup

Purchase.V2

V2 Purchase management API

APIDescription
PUT api/Purchase/{affiliateId}/{paymentProvider}/UpdateAccount

Updates customer account with given provider

PUT api/Purchase/{purchaseOrderId}

Returns a Purchase order with the new purchase order item added and any previous purchase order items

DELETE api/Purchase/{affiliateId}/{paymentProvider}/RemoveAccount

Remove customer account with specified provider

POST api/Purchase/{affiliateId}/PurchaseOrderItem/SVOD/{offerId}?includeMediaItem={includeMediaItem}

Use to create a new Purchase Order Item for Subscription VOD. No Purchase Order required only the offer. The date of the purchase order is updated to current time.

POST api/Purchase/{affiliateId}/PurchaseOrderItem/FVOD/{offerId}?includeMediaItem={includeMediaItem}

Use to create a new Purchase Order Item for Free VOD. No Purchase Order required only the offer. The date of the purchase order is updated to current time.

GET api/Purchase/{affiliateId}/ValidateBundleOffer/{collectionId}?includeMediaItem={includeMediaItem}

Validates basket for bundle offer and return offer price of each item in the basket and total basket price

GET api/Purchase/{affiliateId}/GetCustomerPaymentDetail/{paymentProvider}

Gets customer payment details from payment provider

GET api/Purchase/{affiliateId}/VerifyVoucher/{voucherCode}?collectionId={collectionId}

Voucher verification

POST api/Purchase/{affiliateId}/{paymentProvider}/CreateAccount

Creates the customer account with provider.

POST api/Purchase/{affiliateId}/DEBUG/GetToken?useOld={useOld}

DEBUG Generates one-off payment token

POST api/Purchase/{affiliateId}/CurrentPurchaseOrdersLimit

Use to get number of purchase orders that still can be made by a customer in current period. If null, there is no limit for purchase orders amount.

GET api/Purchase/{affiliateIs}/{purchaseOrderId}?affiliateId={affiliateId}&withPOIs={withPOIs}

Returns a given Purchase Order with or without POIs

POST api/Purchase/{affiliateId}/ChargeCustomerBasket

Charges a customers basket.

Account.V3

Perform Account Management

APIDescription
PUT api/Profile/{affiliateId}/UpdateFromSource

Needs to be authenticated. Gets customer details from Affiliate Gateway and will do update customer profile.

GET api/Account/SendResetPasswordEmail/{affiliateId}?userName={userName}

Sends email with reset password link.

PUT api/Profile/{affiliateId}

Updates the user profile.

PUT api/Profile/Preferences/{affiliateId}

Puts the preferences.

PUT api/Account/ResetPassword/{affiliateId}

Resets user password if he forgets it - old password not required.

PUT api/Account/ChangePassword/{affiliateId}

Changes password of logged in user

GET api/Account/ValidateResetPasswordToken/{affiliateId}?token={token}

Validates token received before changing user password.

POST api/Account/{affiliateId}

Create user and user profile.

GET api/Account/ValidateActivationToken/{affiliateId}?token={token}

Validates registration token.

GET api/Profile/Preferences/{affiliateId}

Gets user preferences.

GET api/Account/{affiliateId}/ResendValidation?userName={userName}

Resends validation email for user name.

GET api/Account/AcceptTandC/{affiliateId}

Accepts the Terms and Conditions.

GET api/Profile/{affiliateId}

Get current user profile. Needs to be authenticated.

Affiliates.V3

Api for getting Affiliate details

APIDescription
GET api/Affiliates/GetName/{affiliateId}

Returns the affiliates name on the Platform

GET api/Affiliates/GetCertificationScheme/{affiliateId}

Returns Certificates collection of an affiliate by Certificate scheme

GET api/Affiliates/GetId/{affiliateName}

Returns the affiliates name on the Platform

Alert.V3

APIDescription
PUT api/Alerts/{affiliateId}/Cancel/{alertId}

Cancels the specified alert.

GET api/Alerts/Current/{affiliateId}/{type}

Gets current allerts for given type.

POST api/Alerts/{affiliateId}

Adds the alert.

DELETE api/Alerts/{affiliateId}/{alertId}

Deletes the alert.

PUT api/Alerts/{affiliateId}/Displayed/{alertId}

Displayeds the specified alert and increments counter.

GET api/Alerts/Current/{affiliateId}

Gets the current allerts.

AppSettings.V3

REST Api for retrieving central Application Settings

APIDescription
GET api/AppSettings/{affiliateId}/{appSettingGroup}

Returns RESULTANT the App Settings for a given affiliate and AppSettingsGroup

GET api/AppSettings/Internal/{affiliateId}/{appSettingGroup}

Returns all the App Settings for a given affiliate and AppSettingsGroup including HIDDEN. Required authentication

GET api/AppSettings/{affiliateId}/{appSettingGroup}/{settingKey}

Returns a specific App Setting

Basket.V3

V3 Api for managing the users basket and watch lists (saved for later) items

APIDescription
POST api/Basket/{affiliateId}?offerId={offerId}&includeMediaItem={includeMediaItem}

Add an offer to a users Basket

GET api/Basket/WatchList/{affiliateId}?includeMediaItem={includeMediaItem}&classificationName[0]={classificationName[0]}&classificationName[1]={classificationName[1]}&skip={skip}&take={take}&sortOrder={sortOrder}

Returns a list of basket items that have been flagged as saved for later. I.e. the Watch List. It is reverse chronologically ordered

POST api/Basket/WatchList/{affiliateId}?offerId={offerId}&includeMediaItem={includeMediaItem}

Add an offer to a users watch list (Basket with SaveForLater flag set to true)

DELETE api/Basket/WatchList/{affiliateId}?basketItemId={basketItemId}&includeMediaItem={includeMediaItem}

Remove a WatchList item

DELETE api/Basket/{affiliateId}?basketItemId={basketItemId}&includeMediaItem={includeMediaItem}

Remove a Basket item

GET api/Basket/{affiliateId}?includeMediaItem={includeMediaItem}

Returns a list of basket items that have been flagged as NOT saved for later. I.e. Ready to purchase It is reverse chronologically ordered

Certificate.V3

APIDescription
GET api/Certificate

No documentation available.

Collections.V3

V3 Collections and their contents

APIDescription
GET api/Collections/MediaItems/Filter/{affiliateId}?collectionName={collectionName}&pageIndex={pageIndex}&pageSize={pageSize}&classifications={classifications}&fields={fields}&sortFields={sortFields}&sortDesc={sortDesc}&includeParentAndChildren={includeParentAndChildren}&offerTypes={offerTypes}&subscriptionTiers={subscriptionTiers}

Returns all the media items in a given collection using provided filtering. By default items are sorted by licence start date (descending) and then by sort title (ascending).

GET api/Collections/{affiliateId}?collectionName={collectionName}

Returns the list of valid Collections for a particular affiliate, including a count of movies in the list.

GET api/Collections/MediaItems/{affiliateId}?collectionName={collectionName}&includeParentAndChildren={includeParentAndChildren}

Returns all the media items in a given collection

POST api/Collections/{affiliateId}/PublishToStore?json={json}&xml={xml}&zip={zip}

Publishes the list of available Collections to the location specified in the AppSettings.

Customer.V3

API for getting details related to customer account

APIDescription
GET api/Customer/Details/{affiliateId}/{username}

Return account details for customer by customer username

GET api/Customer/PurchaseOrders/{affiliateId}/{username}

Return all purchase orders details for customer

GET api/Customer/Licences/{affiliateId}/{purchaseOrderItemId}

Return licence issued details for purchase Order Item Id, including last viewed and last play position

GET api/Customer/DetailsByEmail/{affiliateId}/{email}

Return account details for customer by customer email address

POST api/Customer/DeviceRevoke/{affiliateId}/{deviceId}

Deactivates user device

POST api/Customer/PurchaseOrderRevoke/{affiliateId}/{purchaseOrderId}

Revokes entitlement from the user purchase order list

GET api/Customer/Devices/{affiliateId}/{username}

Return all registered device details for customer

Device.V3

Device management in FFApi

APIDescription
PUT api/Devices/{affiliateId}/Unregister/{deviceId}

Device de-registration

GET api/Devices/{affiliateId}/Get?includeInactiveDevices={includeInactiveDevices}

Gets the active devices.

POST api/Devices/{affiliateId}/Register

Registers the device.

PUT api/Devices/{affiliateId}/ChangeName/{deviceId}?newName={newName}

Changes the name.

Entitlement.V3

Customer Entitlements management api

APIDescription
GET api/Entitlement/{affiliateId}/{supplierRef}?includeParentAndChildren={includeParentAndChildren}

Returns the current entitlement for a given supplier ref. User may only have one current entitlement per supplier ref.

GET api/Entitlement/History/{affiliateId}?skip={skip}&take={take}

Returns the authenticated users History of entitlements in reverse chronological order

GET api/Entitlement/Current/{affiliateId}?includeMediaItem={includeMediaItem}&includeMediaAssets={includeMediaAssets}&skip={skip}&take={take}&includeParentAndChild={includeParentAndChild}&classificationName[0]={classificationName[0]}&classificationName[1]={classificationName[1]}&entitlementType[0]={entitlementType[0]}&entitlementType[1]={entitlementType[1]}&sortOrder={sortOrder}

Returns the authenticated users current entitlements

GET api/Entitlement/RecentlyViewed/{affiliateId}?currentOnly={currentOnly}&includeMediaItem={includeMediaItem}&skip={skip}&take={take}&includeParentAndChild={includeParentAndChild}&classificationName[0]={classificationName[0]}&classificationName[1]={classificationName[1]}&entitlementType[0]={entitlementType[0]}&entitlementType[1]={entitlementType[1]}

Returns the authenticated users Recently Viewed data in reverse chronological order

GET api/Entitlement/GetRevoked/{affiliateId}

Gets the revoked entitlements.

Genres.V3

V3 Genres and their contents

APIDescription
GET api/Genres/MediaItems/{affiliateId}?genreName={genreName}&includeParentAndChildren={includeParentAndChildren}

Returns all the media items in a given genre

POST api/Genres/{affiliateId}/PublishToStore?json={json}&xml={xml}&zip={zip}

Publishes the list of available Genres to the location specified in the AppSettings.

GET api/Genres/{affiliateId}

Returns the list of valid Genres for a particular affiliate, including a count of movies in the list.

GET api/Genres/MediaItems/Filter/{affiliateId}?genreName={genreName}&pageIndex={pageIndex}&pageSize={pageSize}&classifications={classifications}&fields={fields}&sortFields={sortFields}&sortDesc={sortDesc}&includeParentAndChildren={includeParentAndChildren}&offerTypes={offerTypes}&subscriptionTiers={subscriptionTiers}

Returns all the media items for a given genre using provided filtering. By default items are sorted by licence start date (descending) and then by sort title (ascending).

GeoIp.V3

Geo IP blocking controller

APIDescription
GET IsAllowed/{affiliateId}/ipAddress?ipAddress={ipAddress}

Checks if IP should be blocked.

GET IsAllowedWithCountry/{affiliateId}/ipAddress?ipAddress={ipAddress}

Checks if IP should be blocked and returns additional details

GET IsAllowedUsingGeoLocation/{affiliateId}/geoLocation?latitude={latitude}&longitude={longitude}

Checks if geo location should be blocked

GET IsAllowedWithCountryUsingIPOrCountryCode/{affiliateId}/ipAddress/countryCode?ipAddress={ipAddress}&countryCode={countryCode}

Checks if IP or country code should be blocked and returns additional details

GET IsAllowedUsingIPOrCountryCode/{affiliateId}/ipAddress/countryCode?ipAddress={ipAddress}&countryCode={countryCode}

Checks if IP or country code should be blocked.

GET IsAllowedWithCountryUsingGeoLocation/{affiliateId}/geoLocation?latitude={latitude}&longitude={longitude}

Checks if geo location should be blocked

Identity.V3

Perform identity validations and customer subscription rights

APIDescription
POST api/Identity/Validate/{affiliateId}

Validates an identity with an affiliates own identity provider and authorization system

License.V3

Handles all requests from the License Service

APIDescription
POST api/License/RegisterCustomData/{affiliateId}

Registers the custom data for LeapFrog STB's.

GET api/License/RequestLeapFrogLicense/{affiliateId}?token={token}

Requests license for LeapFrog STB's.

POST api/License/RecordLicenseIssued/{affiliateId}/{purchaseOrderItemId}

Record that a DRM License has been issued

POST api/License/RecordLicenseForLeapFrog/{affiliateId}?token={token}

No documentation available.

POST api/License/AcknowledgeLicenseIssued/{affiliateId}/{deviceId}/{purchaseOrderItemId}

Acknowledges a license received by a device

GET api/License/RequestTrailerLicense/{affiliateId}?offerId={offerId}

Used by the Licensor to request a trailer license.

GET api/License?affiliateId={affiliateId}&offerId={offerId}

Used by the Licensor to request a trailer license.

GET api/License/RequestAmsLicense/{affiliateId}?ipAddress={ipAddress}&offerId={offerId}&deviceId={deviceId}&persistentLicenseRequested={persistentLicenseRequested}&deviceType={deviceType}&sessionId={sessionId}

Gets AMS Movie License DTO for requested movie

GET api/License/RequestLicense/{affiliateId}?ipAddress={ipAddress}&deviceId={deviceId}&keyId={keyId}&offerId={offerId}&persistentLicenseRequested={persistentLicenseRequested}&deviceType={deviceType}&sessionId={sessionId}

Used by the Licensor to request a license. Validates whether a PlayReady License should be issued. This call was known as 'PermittedLicense' in the Ioko UI Service.

Logging.V3

API proxy for Logging to Application Insights and Google Analytics. To be used only by clients that can't log directly

APIDescription
POST api/Logging/PlaybackQuality

Log an playbackquality event

POST api/Logging/PlaybackStart

Log an playbackstart event

POST api/Logging/Event

Log an event

POST api/Logging/Search

Log an search event

POST api/Logging/Pageview

Log an pageview event

POST api/Logging/AppLaunch

Log an applaunch event

POST api/Logging/Buffering

Log an buffering event

POST api/Logging/Exception

Log an exception of critical error

POST api/Logging/LoginAttempt

Log an loginattempt event

POST api/Logging/PlaybackStop

Log an playbackstop event

POST api/Logging/PlaybackFault

Log an playbackfault event

POST api/Logging/PlaybackPause

Log an playbackpause event

MediaItem.V3

V3 REST Api for getting all things relating to and including Media Items (Films, TV, Episodes etc..)

APIDescription
GET api/MediaItems/Affiliate/{affiliateId}/{supplierRef}?includeParentAndChild={includeParentAndChild}

Returns the details for a single media item

GET api/MediaItems/Affiliate/{affiliateId}/Mini?includeParentAndChild={includeParentAndChild}

Returns all the current media items MINI currently available on the platform for a given affiliate

GET api/MediaItems/{supplierRef}/Collections?affiliateId={affiliateId}

Returns all the curated collections that the selected Media Item is in.

POST api/MediaItems/Affiliate/{affiliateId}/PublishToStore?json={json}&xml={xml}&zip={zip}&mediaItemDTOType={mediaItemDTOType}

Publishes all the current Media Items (MediaItemMaxDTO) currently available on the platform for a given affiliate. Always publishes with Parent and Children Mini DTO's

GET api/MediaItems/Affiliate/{affiliateId}/Midi?includeParentAndChild={includeParentAndChild}

Returns all the current media items MIDI currently available on the platform for a given affiliate

GET api/MediaItems/Affiliate/{affiliateId}/{externalReferenceKey}/{externalReferenceValue}?includeParentAndChild={includeParentAndChild}

Returns all the current media items currently available on the platform for a given affiliate selected by specific external reference Id and external reference value

GET api/MediaItems/Affiliate/{affiliateId}?includeParentAndChild={includeParentAndChild}&includeInactiveMediaItems={includeInactiveMediaItems}

Returns all the current media items currently available on the platform for a given affiliate

GET api/MediaItems/Offer/{affiliateId}/{tmsId}

Gets the media asset by grace note identifier.

GET api/MediaItems/Filter/{affiliateId}?pageIndex={pageIndex}&pageSize={pageSize}&classifications={classifications}&fields={fields}&sortFields={sortFields}&sortDesc={sortDesc}&includeParentAndChildren={includeParentAndChildren}&offerTypes={offerTypes}&subscriptionTiers={subscriptionTiers}

Returns all the media items currently available on the platform for a given affiliate using provided filtering. By default items are sorted by media item start date (descending) and then by sort title (ascending).

GET api/MediaItems/MediaAsset/{affiliateId}/{tmsId}

Gets the media asset by grace note identifier.

Platform.V3

Api for getting miscellaneous platform details

APIDescription
GET api/Platform/{affiliateId}/Help?appSettingGroup={appSettingGroup}

Returns current Help articles collection of an affiliate by appSettingGropu

GET api/Platform/{affiliateId}/TandCs?appSettingGroup={appSettingGroup}

Returns Terms and Conditions of an affiliate

PlaybackLogs.V3

Playback (Watch Logs) management api

APIDescription
POST api/PlaybackLogs/{affiliateId}

Log a Watch Record. Evaluates for concurrent watches and may set the session as stopped if found.

Promotions.V3

Api to handle promotions

APIDescription
GET api/Promotions/GetCurrent/{affiliateId}?appSettingGroup={appSettingGroup}

Returns current Promotions collection of an affiliate by appSettingGropu

Purchase.V3

V3 Purchase management API

APIDescription
DELETE api/Purchase/{affiliateId}/{paymentProvider}/RemoveAccount

Remove customer account with specified provider

PUT api/Purchase/{purchaseOrderId}

Returns a Purchase order with the new purchase order item added and any previous purchase order items

POST api/Purchase/{affiliateId}/PurchaseOrderItem/SVOD/{offerId}?includeMediaItem={includeMediaItem}

Use to create a new Purchase Order Item for Subscription VOD. No Purchase Order required only the offer. The date of the purchase order is updated to current time.

POST api/Purchase/{affiliateId}/PurchaseOrderItem/FVOD/{offerId}?includeMediaItem={includeMediaItem}

Use to create a new Purchase Order Item for Free VOD. No Purchase Order required only the offer. The date of the purchase order is updated to current time.

PUT api/Purchase/{affiliateId}/{paymentProvider}/UpdateAccount

Updates customer account with given provider

POST api/Purchase/{affiliateId}/ChargeCustomerBasket

Charges a customers basket.

GET api/Purchase/{affiliateIs}/{purchaseOrderId}?affiliateId={affiliateId}&withPOIs={withPOIs}

Returns a given Purchase Order with or without POIs

GET api/Purchase/{affiliateId}/ValidateBundleOffer/{collectionId}?includeMediaItem={includeMediaItem}

Validates basket for bundle offer and return offer price of each item in the basket and total basket price

POST api/Purchase/{affiliateId}/{paymentProvider}/CreateAccount

Creates the customer account with provider.

POST api/Purchase/{affiliateId}/DEBUG/GetToken?useOld={useOld}

DEBUG Generates one-off payment token

POST api/Purchase/{affiliateId}/CurrentPurchaseOrdersLimit

Use to get number of purchase orders that still can be made by a customer in current period. If null, there is no limit for purchase orders amount.

GET api/Purchase/{affiliateId}/GetCustomerPaymentDetail/{paymentProvider}

Gets customer payment details from payment provider

GET api/Purchase/{affiliateId}/VerifyVoucher/{voucherCode}?collectionId={collectionId}

Voucher verification