---
title: "Dry run a group update."
method: PUT
path: "/groups/{groupId}/dry-run.json"
tags: ["Groups"]
---

# Dry run a group update.

`PUT /groups/{groupId}/dry-run.json`

## Request

- Base URL: `https://passbolt.local`
- URL: `https://passbolt.local/groups/{groupId}/dry-run.json`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/passbolt/apis/passbolt-api/docs/groups/:groupId/dry-run.json/put.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `groupId` string, uuid, required

## Request body

- GroupUpdate
  - `name` string, required
  - `groups_users` object[], required
    - `id` string, uuid: GroupUser relationship ID (required for updating existing users or marking for deletion)
    - `user_id` string, uuid: User ID (required for adding new users to the group)
    - `is_admin` boolean: Whether the user is a group administrator
    - `delete` boolean: Whether to remove the user from the group
  - `secrets` object[]
    - `resource_id` string, uuid, required
    - `user_id` string, uuid, required
    - `data` string, required

## Response `200`

Operation is successful.

- object
  - `header` Header, required
    - `id` string, uuid, required
    - `status` 'success' | 'error', required
    - `servertime` integer, required
    - `action` string, uuid, required
    - `message` string, required
    - `url` string, uri, required
    - `code` integer, required
  - `body` GroupUpdateDryRun, required
    - `dry-run` object, required
      - `SecretsNeeded` object[], required
        - `Secret` object, required
          - `resource_id` string, uuid, required
          - `user_id` string, uuid, required
      - `Secrets` object[], required
        - `Secret` object, required
          - `id` string, uuid, required
          - `resource_id` string, uuid, required
          - `user_id` string, uuid, required
          - `data` string, required

## Other responses

- `400`: The dry-run failed.
- `401`: Authentication required.
- `404`: Not found

## Changes

- **2026-05-11** `42a16e4f2677`: 2 info
  - added the new optional request property `groups_users/items/id`
  - the request property `groups_users/items/user_id` became optional
- **2025-06-25** `829cf48ab700`: 2 breaking
  - the `body/dry-run/Secrets` response's property type changed from `object` to `array` for status `200`
  - the `body/dry-run/Secrets` response's property type changed from `object` to `array` for status `400`

[Operation history](https://skmtc.dev/passbolt/apis/passbolt-api/changes/groups/:groupId/dry-run.json/put.md)

---

[API](https://skmtc.dev/passbolt/apis/passbolt-api.md) - [All operations](https://skmtc.dev/passbolt/apis/passbolt-api/llms.txt) - [OpenAPI document](https://skmtc.dev/passbolt/apis/passbolt-api/revisions/8d72215e2274?raw)
