---
title: "Update multiple budget members"
method: PUT
path: "/v3/spend/budgets/{budgetId}/members/bulk"
tags: ["budgets"]
---

# Update multiple budget members

`PUT /v3/spend/budgets/{budgetId}/members/bulk`

## Request

- Base URL: `https://gateway.stage.bill.com/connect`
- URL: `https://gateway.stage.bill.com/connect/v3/spend/budgets/{budgetId}/members/bulk`
- Auth: none declared

Update details about multiple user members assigned to an existing budget.

## Path parameters

- `budgetId` string, required: BILL-generated ID or UUID of the budget

## Headers

- `apiToken` string, nullable: Access token for Spend & Expense API authentication

## Request body

- BudgetMemberBulkUpsertRequestDto: Update multiple budget members
  - `members` BudgetMemberBulkUpsertDto[], required: List of budget member updates
    - `userId` string, required: BILL-generated ID or UUID of the user
    - `limit` number: Funds assigned to the user in the current budget period. **Note**: This field is required when `shareBudgetFunds` is set as `false`.
    - `recurringLimit` number: Funds assigned to the user in all future budget periods. **Note**: This field is required when `shareBudgetFunds` is set as `false`.
    - `role` 'MEMBER' | 'OWNER' | 'OBSERVER': Budget user role
    - `shareBudgetFunds` boolean: Set as `true` to share all the budget funds with the user. **Note**: You cannot set this field as `true` when either `limit` or `recurringLimit` is set.

## Response `200`

Update multiple budget members response

- SpendStatusDto: Simple DTO to respond to requests with a status of "success".
  - `status` string: Status of the request, e.g. "SUCCESS"

## Other responses

- `4XX`: List of errors.
- `5XX`: List of errors.

---

[API](https://skmtc.dev/bill/apis/bill-v3-api.md) - [All operations](https://skmtc.dev/bill/apis/bill-v3-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bill/apis/bill-v3-api/revisions/54edddceb0a5?raw)
