Rocket Services
An Orchestration Layer that takes ISL services and packages them in a more targeted way for front-end applications. This in turn makes client integration easier and reduces the complexity and size of front-end applications.
Rocket is also customisable - allowing UI engineers to ‘remix’ the existing back-end services into something that best suits the application they are developing.
- Homepage
- https://api.apis.guru/v2/specs/britbox.co.uk/3.730.300-ref-1-39-0.json
- Provider
- britbox.co.uk
- OpenAPI version
- 3.0.0
- Spec (JSON)
- https://api.apis.guru/v2/specs/britbox.co.uk/3.730.300-ref-1-39-0/openapi.json
- Spec (YAML)
- https://api.apis.guru/v2/specs/britbox.co.uk/3.730.300-ref-1-39-0/openapi.yaml
Tools (123)
Extracted live via the executor SDK.
-
account.addPaymentMethodAdd a new payment method to an account.
-
account.authorizeDeviceAuthorize a device from a generated device authorization code.
This is the second step in the process of authorizing a device by pin code.
Firstly the device must request a generated authorization code via the
/authorization/device/codeendpoint.This endpoint then authorizes the device associated with the code to sign in to a user account. Typically this endpoint will be called from a page presented in the web app under the account section.
Once authorized, the device will then be able to sign in to that account via the
/authorization/deviceendpoint, without needing to provide the credentials of the user. -
account.cancelSubscriptionCancel a plan subscription.
A cancelled subscription will continue to be valid until the subscription expiry date or next renewal date.
-
account.changePasswordChange the password of an account.
The expected token scope is Settings.
-
account.changePinChange the pin of an account.
-
account.createProfileCreate a new profile under the active account.
-
account.deleteProfileWithIdDelete a profile with a specific id under the active account.
Note that you cannot delete the primary profile.
-
account.deregisterDeviceDeregister a playback device from an account.
-
account.generateNonceGenerate a new account nonce.
A nonce may be required to help sign a response from a third party service which will be passed back to these services.
For example a Facebook single-sign-on request initiated by a client application may first get a nonce from here to include in the request. Facebook will then include the nonce in the auth token it issues. This token can be passed back to our services and the nonce checked for validity.
-
account.getAccountGet the details of an account along with the profiles and entitlements under it.
-
account.getDeviceGet a registered device.
-
account.getDevicesGet all devices registered under this account.
Also includes information around device registration and deregistration limits.
-
account.getEntitlementsGet all entitlements under the account.
This list is returned under the call to get account information so a call here is only required when wishing to refresh a local copy of entitlements.
-
account.getItemMediaFilesGet the video files associated with an item given maximum resolution, device type and one or more delivery types.
This endpoint accepts an Account Catalog token, however if when requesting playback files you receive an 403 status code with error code 1 then the file you're requesting is classification restricted. This means you should switch to target the
/account/items/{id}/videos-guardedendpoint, passing it an Account Playback token. If not already obtained, this token can be requested via the/itv/pinauthorizationendpoint with an account level pin.For convenience you may also access free / public files through this endpoint instead of the /items/{id}/videos endpoint, when authenticated.
Returns an array of video file objects which each include a url to a video.
The first entry in the array contains what is predicted to be the best match. The remainder of the entries, if any, may contain resolutions below what was requests. For example if you request HD-720 the response may also contain SD entries.
If you specify multiple delivery types, then the response array will insert types in the order you specify them in the query. For example
stream,progressivewould return an array with 0 or more stream files followed by 0 or more progressive files.If no files are found a 404 is returned.
-
account.getItemMediaFilesGuardedGet the video files associated with an item given maximum resolution, device type and one or more delivery types.
This endpoint is identical to the
/account/items/{id}/videoshowever it expects an Account Playback token. This token, and in association this endpoint, is specifically for use when playback files are classification restricted and require an account level pin to access them.Returns an array of video file objects which each include a url to a video.
The first entry in the array contains what is predicted to be the best match. The remainder of the entries, if any, may contain resolutions below what was requests. For example if you request HD-720 the response may also contain SD entries.
If you specify multiple delivery types, then the response array will insert types in the order you specify them in the query. For example
stream,progressivewould return an array with 0 or more stream files followed by 0 or more progressive files.If no files are found a 404 is returned.
-
account.getPaymentMethodGet a payment method under an account.
-
account.getPaymentMethodsGet the available payment methods under an account.
-
account.getProfileWithIdGet the summary of a profile with a specific id under the active account.
-
account.getPurchasesGet a list of all purchases made under an account.
-
account.makePurchasePurchase a plan or item offer. The result of a successful transaction is a new entitlement.
-
account.registerDeviceRegister a playback device under an account.
If a device with the same id already exists a
409conflict will be returned. -
account.removePaymentMethodRemove a payment method from an account.
-
account.renameDeviceRename a device
-
account.requestEmailVerificationRequest that the email address tied to an account be verified.
This will send a verification email to the email address of the primary profile containing a link which, once clicked, completes the verification process via the /verify-email endpoint.
Note that when an account is created this email is sent automatically so there's no need to call this directly.
If the user doesn't click the link before it expires then this endpoint can be called to request a new verification email. In the future it may also be used if we add support for changing an account email address.
-
account.updateAccountUpdate the details of an account.
With the exception of the address, this supports partial updates, so you can send just the properties you wish to update.
When the address is provided any properties which are omitted from the address will be cleared.
-
account.updateProfileWithIdUpdate the summary of a profile with a specific id under the active account.
This supports partial updates so you can send just the properties you wish to update.
-
account.updateSubscriptionRenew a cancelled subscription or switch subscription to a different plan.
When renewing a cancelled subscription membership, hit this endpoint with the id of subscription to renew.
To switch plans provide the id of the current active subscription membership of the account, and in the query specify the id of the plan to switch to.
-
app.getAppConfigGet the global configuration for an application. Should be called during app statup.
This includes things like device and playback rules, classifications, sitemap and subscriptions.
You have the option to select specific configuration objects using the 'include' parameter, or if unspecified, getting all configuration.
-
app.getItvPageReturns a page with the specified id.
This is a cut down version for low memory devices.123
If targeting the search page you must url encode the search term as a parameter using the
qkey. For example if your browser path looks like/search?q=thethen what you pass to this endpoint would look like/itv/page?path=/search%3Fq%3Dthe. -
app.getPageReturns a page with the specified id.
If targeting the search page you must url encode the search term as a parameter using the
qkey. For example if your browser path looks like/search?q=thethen what you pass to this endpoint would look like/page?path=/search%3Fq%3Dthe. -
authorization.generateDeviceAuthorizationCodeGet a generated device authorization code.
This is the first step in the process of authorizing a device by pin code. The device will make a request to this endpoint providing a unique identifier for the device such as a serial number. This endpoint will then return a generated code which is tied to the given device.
The code may subsequently be used to authorize the device to sign in to an account via the
/account/devices/authorizationendpoint. Typically this will be from a page presented in the web app under the account section.Once authorized, the device will then be able to sign in to that account via the
/authorization/deviceendpoint, without needing to provide the credentials of the user. -
authorization.getAccountTokenRequest one or more
Accountlevel authorization tokens each with a chosen scope.Tokens are used to access restricted service endpoints. These restricted endpoints will require a specific token type (e.g Account) with a specific scope (e.g. Catalog) before access is granted.
For convenience, where a Profile level token with the same scope exists it will also be returned.
Authorization with pin is not supported on this endpoint anymore. Use
/itv/pinauthorizationendpoint instead. -
authorization.getAccountTokenByCodeGet Catalog tokens for an account using a device authorization code. Where a Profile level token of Catalog scope exists it will also be returned.
This is the final step in the process of authorizing a device by pin code.
Firstly the device must request a generated authorization code via the
/authorization/device/codeendpoint.The code is subsequently used to authorize the device to sign in to a given account via the
/account/devices/authorizationendpoint. Typically this will be from a page presented in the web app under the account section.Once authorized, this endpoint will allow the device to sign in without needing to provide the credentials of the user.
-
authorization.getProfileTokenRequest one or more
Profilelevel authorization tokens each with a chosen scope.Tokens are used to access restricted service endpoints. These restriced endpoints will require a specific token type (e.g Profile) with a specific scope (e.g. Catalog) before access is granted.
-
authorization.refreshTokenRefresh an account or profile level authorization token which is marked as refreshable.
-
authorization.signOutWhen a user signs out of an application we need to clear some basic cookies we assigned them during token authorization.
-
authorization.singleSignOnExchange a third party single-sign-on token for our own authorization tokens.
-
bt.assignTokenAssigns an UserToken to a profile on the ITV side. Currently throws an exception.
-
bt.checkUserTokenChecks a provided token for BT eligible user.
-
bt.getPlanByTokenReturns all the plans available for BT flow including additional description data.
-
bt.getPlansReturns all the plans available for BT flow including additional description data.
-
content.getAnonNextPlaybackItemIdentical to GET /account/profile/items/{itemId}/next route but for users that are not logged in i.e. this endpoint does not require authorisation
-
content.getItemReturns the details of an item with the specified id.
-
content.getItemChildrenListReturns the List of child summary items under an item.
If the item is a Season then the children will be episodes and ordered by episode number.
If the item is a Show then the children will be Seasons and ordered by season number.
Returns 404 if no children found.
-
content.getItemDownloadablesReturns the details of an item with the specified id.
-
content.getItemRelatedListReturns the list of items related to the parent item.
Note for now, due to the size of the list being unknown, only a single page will be returned.
-
content.getItemsMediaClipFilesGet the media clip files associated with items.
-
content.getListReturns a list of items under the specified item list
-
content.getListsReturns an array of item lists with their first page of content resolved.
-
content.getPlansIdReturns the details of a Plan with the specified id.
-
content.getPublicItemMediaFilesGet the free / public video files associated with an item given maximum resolution, device type and one or more delivery types.
Returns an array of video file objects which each include a url to a video.
The first entry in the array contains what is predicted to be the best match. The remainder of the entries, if any, may contain resolutions below what was requests. For example if you request HD-720 the response may also contain SD entries.
If you specify multiple delivery types, then the response array will insert types in the order you specify them in the query. For example
stream,progressivewould return an array with 0 or more stream files followed by 0 or more progressive files.If no files are found a 404 is returned.
-
content.getSchedulesReturns schedules for a defined set of channels over a requested period.
Schedules are requested in hour blocks and returned grouped by the channel they belong to.
For example, to load 12 hours of schedules for channels
4343and5234, on 21/2/2017 starting from 08:00.Please remember that
dateandhourcombined represent a normal datetime, so they should be converted to UTC on the client - this will help to avoid issues with EPG schedules near midnight.If a channel id is passed which doesn't exist then this endpoint will return an empty schedule list for it. If instead we returned 404, this would invalidate all other channel schedules in the same request which would be unfriendly for clients presenting these channel schedules.
-
content.searchSearch the catalog of items and people.
-
ee.assignMsisdnAssigns a msisdn to a profile on ITV side.
-
ee.checkEeBtEligibilityCheck whether or not a user is eligible for switching to Bt or EE offers.
-
ee.createPinRequestCreates a PIN request that will send an SMS to the given msisdn. This call is to validate MSISDN entered by a user not comming through EE network. This call should be followed by POST ee/pin.
-
ee.createTokenReturns a token for later calls to EE API. TTL is one hour. Recommended is FE refreshes this token before each call.
-
ee.getEePlansReturns all the plans available for EE flow including additional description data.
-
ee.getEligibleOffersReturns eligible partner specific offers for the querying partner for an EE MSISDN. This call is supposed to be called after we have MSISDN accired. This call should be followed by POST /ee/msisdn.
-
ee.getPlanReturns the plan description for EE flow including additional description data.
-
ee.validatePinRequestValidate PIN request created by calling POST /ee/pin This call is to validate MSISDN entered by a user not comming through EE network. This call should be called after PUT /ee/pin. This call should be followed by POST /ee/offers.
-
itv.activateSaveOfferActivates the discount for a user. Only Stripe platform is currently supported.
-
itv.changeCardDetailsChange payment card details.
-
itv.changeEmailChange email address related to account/profile.
The expected token scope is Settings.
-
itv.changeMarketingChange marketing preferences related to account/profile.
The expected token scope is Settings.
-
itv.checkPreviousEntitlementsCheck whether the user has been previously entitled.
-
itv.checkVoucherValidates the coupon/voucher for specified payment platform.
-
itv.confirmPurchaseConfirms purchase and returns the details of purchased subscription for specified payment platform.
-
itv.confirmPurchaseStrongConfirms purchase and returns the details of purchased subscription for specified payment platform.
-
itv.confirmPurchaseWithOfferConfirms purchase and returns the details of purchased subscription for specified payment platform.
-
itv.deleteAccountDelete account in compliance with GDPR.
The expected token scope is Settings.
-
itv.deleteItvPurchasePlatformCancel a plan subscription.
A cancelled subscription will continue to be valid until the subscription expiry date or next renewal date.
-
itv.executeTransactionSends request to execute specified transaction.
-
itv.getAccountTokenWithPinProvides authorization with parental control pin.
Returns an array containing account token with Playback scope.
Requires access token with Catalog scope.
Pin must be a 4-digit string
-
itv.getBillingHistoryReturns the list of billing records for specified payment platform.
-
itv.getCardDetailsGet payment card details.
-
itv.getCurrentEntitlementReturns current entitlement.
-
itv.getCurrentSubscriptionReturns the details of current subscription for specified payment platform.
-
itv.getEntitlementsHistoryReturns the state of subscription for any payment platform.
-
itv.getFeatureFlagGets info whether or not a feature is enabled or disabled using a feature flag. Feature flags are set as a custom field within PM. It also supports custom feature flag data if needed. Such data can be return as well.
-
itv.getFullPriceRenewalReturns full price renewal state and reason for specific user.
-
itv.getItvItemsummaryExternalIdRedirects to corresponding Axis Item details page.
-
itv.getItvPlansPlatformReturns the plans available for specified payment platform.
-
itv.getItvProfileReturns the ITV profile object.
-
itv.getItvProfileTokenReturns the ITV profile token.
-
itv.getItvRokuPlansGets available Roku plans.
-
itv.getPublicPreviewReturns public preview for Samsung based on the page '/samsung-preview' configured in PresentationManager. There is a hard limit of max 40 items to be returned. It splits evenly items count into the page rows, remaining items are added into the first row.
-
itv.getRecommendedListGet the list of recommended items under the active profile.
-
itv.getSaveOfferChecks the provided coupon id for a user. Only Stripe platform is currently supported.
-
itv.getSubscriptionStateReturns the state of subscription for any payment platform.
-
itv.getSubscriptionStatusReturns status of latest payment intent.
-
itv.getUpcomingInvoiceReturns an upcoming invoice
-
itv.getVoucherByIdChecks the provided coupon id for a user. Only Stripe platform is currently supported.
-
itv.googlePaySubscriptionGet the list of recommended items under the active profile.
-
itv.resubscribeResubscription for a user.
-
itv.updatePaymentIntentStrongChange payment method details.
-
itv.updatePaymentMethodStrongChange payment method details.
-
itv.updateProfileUpdate ITV profile.
The expected token scope is Settings.
-
itv.upgradePlanUpgrades the plan for the current user.
-
profile.bookmarkItemBookmark an item under the active profile.
Creates one if it doesn't exist, overwrites one if it does.
-
profile.deleteItemBookmarkUnbookmark an item under the active profile.
-
profile.deleteWatchedRemove the watched status of items under the active profile. Passing in specific
itemIds to theitem_idsquery parameter will cause only these items to be removed. If this list is missing all watched items will be removed -
profile.getBookmarkListReturns the list of bookmarked items under the active profile.
-
profile.getBookmarksGet the map of bookmarked item ids (itemId => creationDate) under the active profile.
-
profile.getContinueWatchingListReturns a list of items which have been watched but not completed under the active profile.
Multiple episodes under the same show may be watched or in progress, however only a single item belonging to a particular show will be included in the returned list.
The next episode to continue watching for a particular show will be the most recent incompletely watched episode, or the next episode following the most recently completely watched episode. Based on the specified
show_item_typetype, either the next episode, the season of the next episode, or the show will be included in the list. -
profile.getItemBookmarkGet the bookmark for an item under the active profile.
-
profile.getItemRatingGet the rating info for an item under the active profile.
-
profile.getItemWatchedStatusGet the watched status info for an item under the active profile.
-
profile.getNextPlaybackItemReturns the next item to play given a source item id.
For an unwatched show it returns the first episode available to the account.
For a watched show it returns the last incompletely watched episode by the profile, or the episode that immediately follows the last completely watched episode or nothing.
For an episode it always returns the immediately following episode, if available to the account, or nothing.
If the response does not contain a
nextproperty then no item was found. -
profile.getProfileGet the details of the active profile, including watched, bookmarked and rated items.
-
profile.getRatingsGet the map of rated item ids (itemId => rating out of 10) under the active profile.
-
profile.getRatingsListReturns the list of rated items under the active profile.
-
profile.getWatchedGet the map of watched item ids (itemId => last playhead position) under the active profile.
-
profile.getWatchedListReturns the list of watched items under the active profile.
-
profile.rateItemRate an item under the active profile.
Creates one if it doesn't exist, overwrites one if it does.
-
profile.setItemWatchedStatusRecord the watched playhead position of a video under the active profile.
Can be used later to resume a video from where it was last watched.
Creates one if it doesn't exist, overwrites one if it does.
-
registration.registerRegister a new user, creating them an account.
Registration, when successful, will return an array of access tokens so the user is immediately signed in.
It returns Catalog and Commerce scoped tokens for both Account and Profile. The Commerce ones are intended to allow the purchase of a subscription plan in the step after registration, without the user being prompted to enter their username and password again.
An email will also be sent with a link they need to click to confirm their email address. This confirmation is done via the /verify-email endpoint.
-
support.forgotPasswordRequest the password of an account's primary profile be reset.
Should be called when a user has forgotten their password.
This will send an email with a password reset link to the email address of the primary profile of an account.
The link, once clicked, should take the user to the "reset-password" page of the website. Here they will enter their new password and submit to the /reset-password endpoint here, along with the password reset token provided in the original link.
-
support.getSubscriptionDataReturns the details of subscription data for a user with specified id.
-
support.resetPasswordWhen a user requests to reset their password via the /request-password-reset endpoint, an email is sent to the email address of the primary profile of the account. This email contains a link with a reset token as query parameter. The link should take the user to the "reset-password" page of the website.
From the reset-password page a user should enter the new password they wish to use. It should then be submitted to this endpoint, along with the reset token from the email link. The token should be provided in the body as resetToken property.
-
support.verifyEmailWhen an account is created an email is sent to the email address of the new account. This contains a link, which once clicked, verifies the email address of the account is correct.
The link contains a token as a query parameter which should be passed as the authorization bearer token to this endpoint to complete email verification.
The token has en expiry, so if the link is not clicked before it expires, the account holder may need to request a new verification email be sent. This can be done via the endpoint /account/request-email-verification.
-
openapi.previewSpecPreview an OpenAPI document before adding it as a source
-
openapi.addSourceAdd an OpenAPI source and register its operations as tools