/// <summary>
        /// Performs a subscription upgrade.
        /// </summary>
        /// <param name="newEntity">The subscription upgrade to perform.</param>
        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
        /// <returns>The subscription upgrade result.</returns>
        public async Task <UpgradeResult> CreateAsync(Upgrade newEntity, CancellationToken cancellationToken = default)
        {
            newEntity.AssertNotNull(nameof(newEntity));

            return(await Partner.ServiceClient.PostAsync <Upgrade, UpgradeResult>(
                       new Uri(
                           string.Format(
                               CultureInfo.InvariantCulture,
                               $"/{PartnerService.Instance.ApiVersion}/{PartnerService.Instance.Configuration.Apis.PostSubscriptionUpgrade.Path}",
                               Context.Item1,
                               Context.Item2),
                           UriKind.Relative),
                       newEntity,
                       cancellationToken).ConfigureAwait(false));
        }