UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 299 kB
{"openapi":"3.0.0","servers":[{"url":"/api"}],"info":{"description":"An Orchestration Layer that takes ISL services and packages them in a more targeted way for front-end applications.\nThis in turn makes client integration easier and reduces the complexity and size of front-end applications.\n\nRocket is also customisable - allowing UI engineers to ‘remix’ the existing back-end services into something that\nbest suits the application they are developing.\n","title":"Rocket Services","version":"3.730.300-ref-1-39-0","x-apisguru-categories":["entertainment"],"x-origin":[{"format":"openapi","url":"https://isl.britbox.co.uk/api/spec","version":"3.0"}],"x-providerName":"britbox.co.uk"},"paths":{"/account":{"get":{"description":"Get the details of an account along with the profiles and entitlements under it.","operationId":"getAccount","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"patch":{"description":"Update the details of an account.\n\nWith the exception of the address, this supports partial updates, so you can send just the\nproperties you wish to update.\n\nWhen the address is provided any properties which are omitted from the address will be cleared.\n","operationId":"updateAccount","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountUpdateRequest"}}},"description":"Updated account details.","required":true},"responses":{"204":{"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Settings"]}],"tags":["account"]},"x-serviceId":"account"},"/account/billing/methods":{"get":{"description":"Get the available payment methods under an account.","operationId":"getPaymentMethods","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PaymentMethod"},"type":"array"}}},"description":"The list of available payment methods."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"post":{"description":"Add a new payment method to an account.","operationId":"addPaymentMethod","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPaymentMethodRequest"}}},"description":"Registration details for a new payment method.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentMethod"}}},"description":"The created payment method."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Commerce"]}],"tags":["account"]},"x-serviceId":"billing"},"/account/billing/methods/{id}":{"delete":{"description":"Remove a payment method from an account.","operationId":"removePaymentMethod","parameters":[{"description":"The id of the payment method to remove.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"204":{"description":"Payment method removed."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Commerce"]}],"tags":["account"]},"get":{"description":"Get a payment method under an account.","operationId":"getPaymentMethod","parameters":[{"description":"The id of the payment method to get.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentMethod"}}},"description":"The payment method requested."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"x-serviceId":"billing"},"/account/billing/purchases":{"get":{"description":"Get a list of all purchases made under an account.","operationId":"getPurchases","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Purchase"},"type":"array"}}},"description":"A list of all purchases made under the account."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Commerce"]}],"tags":["account"]},"post":{"description":"Purchase a plan or item offer.\nThe result of a successful transaction is a new entitlement.\n","operationId":"makePurchase","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseRequest"}}},"description":"Details of a plan or item purchase.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entitlement"}}},"description":"The entitlement for the purchased plan or item."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Commerce"]}],"tags":["account"]},"x-serviceId":"billing"},"/account/billing/subscriptions/{id}":{"delete":{"description":"Cancel a plan subscription.\n\nA cancelled subscription will continue to be valid until the subscription\nexpiry date or next renewal date.\n","operationId":"cancelSubscription","parameters":[{"description":"The identifier of the current active subscription membership of the account.\n","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"204":{"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Commerce"]}],"tags":["account"]},"put":{"description":"Renew a cancelled subscription or switch subscription to a different plan.\n\nWhen renewing a cancelled subscription membership, hit this endpoint with\nthe id of subscription to renew.\n\nTo switch plans provide the id of the current active subscription membership\nof the account, and in the query specify the id of the plan to switch to.\n","operationId":"updateSubscription","parameters":[{"description":"The identifier of the current subscription membership\nassociated with the account.\n","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"The id of the plan to switch to if switching plans.","in":"query","name":"planId","schema":{"type":"string"}},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"204":{"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Commerce"]}],"tags":["account"]},"x-serviceId":"billing"},"/account/devices":{"get":{"description":"Get all devices registered under this account.\n\nAlso includes information around device registration and deregistration limits.\n","operationId":"getDevices","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDevices"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"post":{"description":"Register a playback device under an account.\n\nIf a device with the same id already exists a `409` conflict will be returned.\n","operationId":"registerDevice","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceRegistrationRequest"}}},"description":"Registration details for a new playback device.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Device"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"A device with the provided id already exists."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"x-serviceId":"device"},"/account/devices/authorization":{"post":{"description":"Authorize a device from a generated device authorization code.\n\nThis is the second step in the process of authorizing a device by pin code.\n\nFirstly the device must request a generated authorization code via the\n`/authorization/device/code` endpoint.\n\nThis endpoint then authorizes the device associated with the code to sign in\nto a user account. Typically this endpoint will be called from a page\npresented in the web app under the account section.\n\nOnce authorized, the device will then be able to sign in to that account\nvia the `/authorization/device` endpoint, without needing to provide the \ncredentials of the user.\n","operationId":"authorizeDevice","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceAuthorizationCode"}}},"description":"The generated device authorization code.","required":true},"responses":{"204":{"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"x-serviceId":"itvAuth"},"/account/devices/{id}":{"delete":{"description":"Deregister a playback device from an account.","operationId":"deregisterDevice","parameters":[{"description":"The unique identifier for the registered device e.g. serial number.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"204":{"description":"Device deregistered."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"get":{"description":"Get a registered device.","operationId":"getDevice","parameters":[{"description":"The unique identifier for the registered device e.g. serial number.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Device"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"x-serviceId":"device"},"/account/devices/{id}/name":{"put":{"description":"Rename a device","operationId":"renameDevice","parameters":[{"description":"The unique identifier for this registered device e.g. serial number.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"The new name for the device.","in":"query","name":"name","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"204":{"description":"Device renamed."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"x-serviceId":"device"},"/account/entitlements":{"get":{"description":"Get all entitlements under the account.\n\nThis list is returned under the call to get account information so a call here is\nonly required when wishing to refresh a local copy of entitlements.\n","operationId":"getEntitlements","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Entitlement"},"type":"array"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"x-serviceId":"entitlement"},"/account/items/{id}/videos":{"get":{"description":"Get the video files associated with an item given maximum resolution, device type\nand one or more delivery types.\n\nThis endpoint accepts an Account Catalog token, however if when requesting\nplayback files you receive an *403 status code with error code 1* then the file\nyou're requesting is classification restricted. This means you should switch\nto target the `/account/items/{id}/videos-guarded` endpoint, passing it an Account\nPlayback token. If not already obtained, this token can be requested via the\n`/itv/pinauthorization` endpoint with an account level pin.\n\nFor convenience you may also access free / public files through this endpoint\ninstead of the /items/{id}/videos endpoint, when authenticated.\n\nReturns an array of video file objects which each include a url to a video.\n\nThe first entry in the array contains what is predicted to be the best match.\nThe remainder of the entries, if any, may contain resolutions below what was\nrequests. For example if you request HD-720 the response may also contain\nSD entries.\n\nIf you specify multiple delivery types, then the response array will insert\ntypes in the order you specify them in the query. For example `stream,progressive`\nwould return an array with 0 or more stream files followed by 0 or more progressive files.\n\nIf no files are found a 404 is returned.\n","operationId":"getItemMediaFiles","parameters":[{"description":"The identifier of the item whose video files to load.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/MediaFileDelivery"},{"$ref":"#/components/parameters/MediaFileResolution"},{"$ref":"#/components/parameters/MediaFileFormats"},{"$ref":"#/components/parameters/Device"},{"$ref":"#/components/parameters/Subscription"},{"$ref":"#/components/parameters/Segments"},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MediaFile"},"type":"array"}}},"description":"The list of video files available.\nThe first entry containing what is predicted to be the best match.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"x-serviceId":"media"},"/account/items/{id}/videos-guarded":{"get":{"description":"Get the video files associated with an item given maximum resolution, device type\nand one or more delivery types.\n\nThis endpoint is identical to the `/account/items/{id}/videos` however it expects\nan Account Playback token. This token, and in association this endpoint, is specifically\nfor use when playback files are classification restricted and require an account\nlevel pin to access them.\n\nReturns an array of video file objects which each include a url to a video.\n\nThe first entry in the array contains what is predicted to be the best match.\nThe remainder of the entries, if any, may contain resolutions below what was\nrequests. For example if you request HD-720 the response may also contain\nSD entries.\n\nIf you specify multiple delivery types, then the response array will insert\ntypes in the order you specify them in the query. For example `stream,progressive`\nwould return an array with 0 or more stream files followed by 0 or more progressive files.\n\nIf no files are found a 404 is returned.\n","operationId":"getItemMediaFilesGuarded","parameters":[{"description":"The identifier of the item whose video files to load.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/MediaFileDelivery"},{"$ref":"#/components/parameters/MediaFileResolution"},{"$ref":"#/components/parameters/MediaFileFormats"},{"$ref":"#/components/parameters/Device"},{"$ref":"#/components/parameters/Subscription"},{"$ref":"#/components/parameters/Segments"},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MediaFile"},"type":"array"}}},"description":"The list of video files available.\nThe first entry containing what is predicted to be the best match.\n"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Playback"]}],"tags":["account"]},"x-serviceId":"media"},"/account/nonce":{"get":{"description":"Generate a new account nonce.\n\nA nonce may be required to help sign a response from a third party\nservice which will be passed back to these services.\n\nFor example a Facebook single-sign-on request initiated by a client\napplication may first get a nonce from here to include in the request.\nFacebook will then include the nonce in the auth token it issues. This\ntoken can be passed back to our services and the nonce checked for validity.\n","operationId":"generateNonce","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountNonce"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Catalog"]}],"tags":["account"]},"x-serviceId":"account"},"/account/password":{"put":{"description":"Change the password of an account.\n\nThe expected token scope is Settings.\n","operationId":"changePassword","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"description":"The new account password & ITV profile token.","required":true},"responses":{"204":{"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Settings"]}],"tags":["account"]},"x-serviceId":"itvPassword"},"/account/pin":{"put":{"description":"Change the pin of an account.","operationId":"changePin","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePinRequest"}}},"description":"The new account pin.","required":true},"responses":{"204":{"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"accountAuth":["Settings"]}],"tags":["account"]},"x-serviceId":"itvAccount"},"/account/profile":{"get":{"description":"Get the details of the active profile, including watched, bookmarked and rated items.","operationId":"getProfile","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileDetail"}}},"description":"Details of the active profile."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"profileAuth":["Catalog"]}],"tags":["profile"]},"x-serviceId":"profile"},"/account/profile/bookmarks":{"get":{"description":"Get the map of bookmarked item ids (itemId => creationDate) under the active profile.","operationId":"getBookmarks","parameters":[{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":{"format":"date-time","type":"string"},"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"profileAuth":["Catalog"]}],"tags":["profile"]},"x-serviceId":"itvNightwatch"},"/account/profile/bookmarks/list":{"get":{"description":"Returns the list of bookmarked items under the active profile.","operationId":"getBookmarkList","parameters":[{"description":"The page of items to load. Starts from page 1.","in":"query","name":"page","schema":{"format":"int32","minimum":1,"type":"integer"}},{"description":"The number of items to return in a page.","in":"query","name":"page_size","schema":{"format":"int32","maximum":50,"minimum":1,"type":"integer"}},{"$ref":"#/components/parameters/ListOrder"},{"$ref":"#/components/parameters/ItemType"},{"$ref":"#/components/parameters/Device"},{"$ref":"#/components/parameters/Subscription"},{"$ref":"#/components/parameters/Segments"},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemList"}}},"description":"The list of items requested."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"profileAuth":["Catalog"]}],"tags":["profile"]},"x-serviceId":"itvNightwatch"},"/account/profile/bookmarks/{itemId}":{"delete":{"description":"Unbookmark an item under the active profile.","operationId":"deleteItemBookmark","parameters":[{"description":"The identifier of the bookmark to delete.","in":"path","name":"itemId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"204":{"description":"Bookmark deleted."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"profileAuth":["Catalog"]}],"tags":["profile"]},"get":{"description":"Get the bookmark for an item under the active profile.","operationId":"getItemBookmark","parameters":[{"description":"The id of the item to get the bookmark for.","in":"path","name":"itemId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bookmark"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"profileAuth":["Catalog"]}],"tags":["profile"]},"put":{"description":"Bookmark an item under the active profile.\n\nCreates one if it doesn't exist, overwrites one if it does.\n","operationId":"bookmarkItem","parameters":[{"description":"The id of the item to bookmark.","in":"path","name":"itemId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"#/components/parameters/Language"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bookmark"}}},"description":"Bookmark created."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Bad request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Invalid access token."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Forbidden."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Not found."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Unsupported Media Type"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Internal server error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceError"}}},"description":"Service error."}},"security":[{"profileAuth":["Catalog"]}],"tags":["profile"]},"x-serviceId":"itvNightwatch"},"/account/profile/continue-watching/list":{"get":{"description":"Returns a list of items which have been watched but not completed under the active\nprofile.\n\nMultiple episodes under the same show may be watched or in progress, however only a\nsingle item belonging to a particular show will be included in the returned list.\n\nThe next episode to continue watching for a particular show will be the most recent\nincompletely watched episode, or the next episode following the most recently\ncompletely watched episode. Based on the specified `show_item_type` type, either the next\nepisode, the season of the next episode, or the show will be included in the list.\n","operationId":"getContinueWatchingList","parameters":[{"description":"The item type to be returned for continue watching items belonging to a show.\n\nMultiple episodes under the same show may be watched or in progress, however only a\nsingle item belonging to a particular show will be included in the returned list.\n\nThe next episode to continue watching for a particular show will be the most recent\nincompletely watched episode, or the next episode following the most recently\ncompletely watched episode. Based on the specified `show_item_type` type, either the next\nepisode, the season of the next episode, or the show will be included in the list.\n\nIf `episode` is specified, then only the next episode to continue watching for a\nshow will be returned.\n\nIf `season` is specified, then only the season of the next episode will be returned.\n\nIf `show` is specified, then only the show of the next episode will be returned\n\nThe recommended value of this parameter should reflect the desitination the\nuser will be sent to when they select this item in the list. So if a user will\nbe sent to the show detail page then this should be `show` and you can use\nthe `include` parameter to get metadata about the episode or season if needed\n","in":"query","name":"show_item_type","schema":{"default":"episode","enum":["episode","season","show"],"type":"string"}},{"description":"Include one opr more ancestor/children for items belonging to a show. Extra items\nwill be populated in the `listData` property of the list\n\nIf no value is specified no dependencies are included.\n\nIf `episode` is specified, then the next episode will be added for season/show\nitems. Has no effect if `show_item_type` is set to `episode`.\n\nIf `season` is specified, then the season of the next episode will be added for\nepisode/show items. Has no effect if `show_item_type` is set to `season`.\n\nIf `show` is specified, then the show of the next episode will be added for\nepisode/season items. Has no effect if `show_item_type` is set to `show`.\n","explode":false,"in":"query","name":"include","schema":{"default":[],"items":{"enum":["episode","season","show"],"type":"string"},"type":"array"},"style":"form"},{"description":"The page of items to load. Starts from page 1.","in":"query","name":"page","schema":{"default":1,"format":"int32","minimum":1,"type":"integer"}},{"description":"The number of items to return in a page.","in":"query","name":"page_size","schema":{"default":12,"format":"int32","maximum":50,"minimum":1,"type":"integer"}},{"description":"The maximum rating (inclusive) of an item returned, e.g. 'auoflc-pg'.","in":"query","name":"max_rating","schema":{"type":"string"}},{"$ref":"#/components/parameters/Device"},{"$ref":"#/components/parameters/Subscription"},{"$ref":"#/components/parameters/Segments"},{"$ref":"#/components/parameters/FeatureFlags"},{"$ref":"