---
title: "Set member credit limits in bulk"
method: PUT
path: "/api/workspace/members/bulk/credit-limit"
---

# Set member credit limits in bulk

`PUT /api/workspace/members/bulk/credit-limit`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/workspace/members/bulk/credit-limit`
- Auth: HTTP bearer

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Sets or removes the credit limits of up to 200 members at once, the same way as [Set member credit limit](/api-reference/set-member-credit-limit).

A limit can't be more than the workspace's monthly credits. Viewers can't have a limit, since they can't use credits, but you can remove one. The workspace owner is never limited.

Every item is checked before anything changes. If any item can't be applied, nothing changes and the request returns a `400` whose `detail.errors` lists each rejected item with its `email`, a `message`, and an `error_code` when there is one. A member who isn't in the workspace, or a change you couldn't make on the single-member endpoint, is reported there rather than as a `403` or `404`.

A `200` has one entry in `results` per item, in request order. An item whose member changed while the request ran comes back with `status` `skipped` and wasn't applied. Count only `success` entries as done. A member who became a viewer, or whose membership changed, is skipped and keeps their limit.

Member credit limits need the Business plan or higher. Below it, this returns a `402`.

This is limited to 5 requests per minute, shared by [Update workspace member roles in bulk](/api-reference/update-workspace-member-roles-in-bulk), [Remove workspace members in bulk](/api-reference/remove-workspace-members-in-bulk), and [Set member credit limits in bulk](/api-reference/set-member-credit-limits-in-bulk). A signed-in session has its own limit, and every personal access token for the workspace shares one. Some workspaces have a different limit.

<Note>Call this as an owner or admin of the workspace, with a personal access token for that workspace sent as a Bearer token, or from a signed-in session. A read-only token is refused, and workspace API keys aren't accepted.</Note>

## Query parameters

- `workspaceId` string, required: ID of the workspace. With a personal access token, use the token's workspace. Get it from `organization_id` in [Get app](/api-reference/get-app).

## Request body

- BulkUpdateMemberCreditLimitRequest: Credit limits to apply in one request.
  - `items` BulkMemberCreditLimitItem[], required: The credit limits, 1 to 200. Each email can appear once.
    - `email` string, required: Email of the member, exactly as `email` in [List workspace members](/api-reference/list-workspace-members) returns it. Matching is exact, including case.
    - `credit_limit` integer, nullable: Most credits the member can use in the workspace each month, at least 1. `null`, or leaving it out, removes their own limit, so the workspace default applies.

## Response `200`

The outcome for each member.

- BulkMemberOperationResponse: The outcome of each item.
  - `results` BulkMemberResult[], required: One entry per item, in request order.
    - `email` string, required: Email of the member.
    - `status` 'success' | 'skipped', required: `success` when the change was applied, `skipped` when the member changed while the request ran and nothing was applied.
    - `message` string, required: Short explanation. Its wording can change, so don't parse it.

## Other responses

- `400`: At least one item can't be applied, and nothing changed. `detail.errors` lists each one.
- `401`: Missing or invalid credentials.
- `402`: The workspace's plan doesn't include member credit limits.
- `403`: You aren't an owner or admin of the workspace, your token is for a different workspace or is read-only, or your credential can't be used on this endpoint.
- `409`: Your workspace requires an unlocked SSO session.
- `422`: Validation Error
- `429`: Rate limit exceeded.

## Changes

> 58 revisions in range; 1 not diffed.

- **2026-10-12** `5e139db2e643`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-10-06** `dddf17e0f9f0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/adexad/apis/base44-app-management-api/changes/api/workspace/members/bulk/credit-limit/put.md)

---

[API](https://skmtc.dev/adexad/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/adexad/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adexad/apis/base44-app-management-api/revisions/fa29e915c226?raw)
