> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langdock.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Set Included User Plans

> Set one Business or Business Max plan for up to 500 members in a single call

List active human members, change a plan, and set the extra usage limit. Amounts are euros.

The calls use the workspace API key's `BILLING_API` scope. Writes run as the key's service account owner. This API does not invite or deactivate members. Use the [User Management API](https://docs.langdock.com/en/developer/user-management-api/user-management-overview.md) for that.

> [!NOTE]
>
> Call these routes when `GET /billing/v1/mode` returns `ai-models-included`. Dedicated deployments always return `bring-your-own-keys`, including when Langdock manages the model keys. The other mode returns `409` with `code` `BILLING_MODE_MISMATCH`.

## Base URL

```
https://api.langdock.com/billing/v1/ai-models-included/users/plan/bulk
```

## Prerequisites

* **API key** with the `BILLING_API` scope
* The key owner is a service account that has not been deleted and has an active Admin membership
* `USER_MANAGEMENT_API` on the same key when you need `email`, `name`, or an email filter

## Change plans in bulk

`POST /users/plan/bulk` sets one plan for 1 to 500 member ids.

```json theme={null}
{
  "userIds": [
    "11111111-1111-4111-8111-111111111111",
    "55555555-5555-4555-8555-555555555555"
  ],
  "plan": "business_max"
}
```

```json theme={null}
{
  "plan": "business_max",
  "updatedUserIds": ["11111111-1111-4111-8111-111111111111"],
  "alreadyOnPlanUserIds": ["55555555-5555-4555-8555-555555555555"]
}
```

Repeated ids count once. If any id is not an active human member of the workspace, the call returns `400` with those ids in `details.userIds` and changes nothing. Members already on the plan are listed in `alreadyOnPlanUserIds` and stay unchanged.

Each member who moves onto a plan with no free seat left adds a billed seat. The seat change is saved before the subscription update is sent to Stripe.

Usage requests follow the same rules as a single plan change: `business_max` closes linked pending requests, and `business` closes none. This call does not take `usageRequestId`.

> [!NOTE]
>
> Langdock intentionally blocks browser-origin requests to protect your API key and ensure your applications remain secure. For more information, please see our guide on [API Key Best Practices](https://docs.langdock.com/en/admin/ai-adoption-and-rollout/best-practices/api-key-best-practices.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.