bitwarden/server · error · BadRequestException

Provider seat minimums must be at least 0.

Error message

Provider seat minimums must be at least 0.

What it means

Error "Provider seat minimums must be at least 0." thrown in bitwarden/server.

Source

Thrown at bitwarden_license/src/Commercial.Core/Billing/Providers/Services/ProviderBillingService.cs:734

                subscription.Status);

            throw new BillingException();
        }
        catch (StripeException stripeException) when (stripeException.StripeError?.Code ==
                                                      ErrorCodes.CustomerTaxLocationInvalid)
        {
            throw new BadRequestException(
                "Your location wasn't recognized. Please ensure your country and postal code are valid.");
        }
    }

    public async Task UpdateSeatMinimums(UpdateProviderSeatMinimumsCommand command)
    {
        var (provider, updatedPlanConfigurations) = command;

        if (updatedPlanConfigurations.Any(x => x.SeatsMinimum < 0))
        {
            throw new BadRequestException("Provider seat minimums must be at least 0.");
        }

        var subscription = await subscriberService.GetSubscriptionOrThrow(provider);

        var subscriptionItemOptionsList = new List<SubscriptionItemOptions>();

        var providerPlans = await providerPlanRepository.GetByProviderId(provider.Id);

        foreach (var updatedPlanConfiguration in updatedPlanConfigurations)
        {
            var (updatedPlanType, updatedSeatMinimum) = updatedPlanConfiguration;

            var providerPlan =
                providerPlans.Single(providerPlan => providerPlan.PlanType == updatedPlanType);

            if (providerPlan.SeatMinimum != updatedSeatMinimum)
            {
                var priceId = ProviderPriceAdapter.GetPriceId(provider, subscription, updatedPlanType);

View on GitHub (pinned to e93b962371)

Solutions

  1. Set every provider plan seat minimum to 0 or a positive value and resubmit.
  2. Check the request payload for omitted seat fields that serialize as negative defaults, and explicitly set them to 0.

When it happens

Trigger: Thrown when a request attempts to set a provider plan's seat minimum to a negative value while creating or updating a provider subscription.

Common situations: See trigger scenarios.


AI-assisted analysis of bitwarden/server@e93b962371 (2026-08-13). Data as JSON: /api/errors/6731ec47cadffb08. Report an issue: GitHub.