Skip to main content
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 for that.
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

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.
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.
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.