---
title: "Create a group."
method: POST
path: "/groups.json"
tags: ["Groups"]
---

# Create a group.

`POST /groups.json`

## Request

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

Please note that only users with Admin role can create a group.

## Request body

- GroupAdd
  - `name` string, required
  - `groups_users` object[], required
    - `user_id` string, uuid, required
    - `is_admin` boolean, 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` GroupIndexAndView, required
    - `id` string, uuid, required
    - `name` string, required
    - `deleted` boolean, required
    - `created` string, date-time, required
    - `modified` string, date-time, required
    - `created_by` string, uuid, required
    - `modified_by` string, uuid, required
    - `my_group_user` GroupsUsersIndexAndView
      - `id` string, uuid, required
      - `group_id` string, uuid, required
      - `user_id` string, uuid, required
      - `is_admin` boolean, required
      - `created` string, date-time, required
      - `user` UserIndexAndView
        - `is_mfa_enabled` boolean
        - `id` string, uuid, required
        - `role_id` string, uuid, required
        - `username` string, required
        - `active` boolean, required
        - `deleted` boolean, required
        - `created` string, date-time, required
        - `modified` string, date-time, required
        - `disabled` string, date-time, required
        - `profile` object
          - `id` string, uuid, required
          - `user_id` string, uuid, required
          - `first_name` string, required
          - `last_name` string, required
          - `created` string, date-time, required
          - `modified` string, date-time, required
          - `avatar` object, required
            - `id` string, uuid
            - `profile_id` string, uuid
            - `created` string, date-time
            - `modified` string, date-time
            - `url` object, required
              - …
        - `groups_users` GroupsUsersIndexAndView (recursive)
        - `gpgkey` Gpgkey
          - `id` string, uuid, required
          - `user_id` string, uuid, required
          - `armored_key` string, required
          - `bits` integer, required
          - `uid` string, required
          - `key_id` string, required
          - `fingerprint` string, required
          - `type` 'RSA' | 'ECC', required
          - `expires` string, date-time, required
          - `deleted` boolean, required
          - `created` string, date-time, required
          - `modified` string, date-time, required
        - `role` Role
          - `id` string, uuid, required
          - `name` 'admin' | 'guest' | 'user', required
          - `description` string, required
          - `created` string, date-time, required
          - `modified` string, date-time, required
        - `missing_metadata_key_ids` string[]
        - `last_logged_in` string, date-time
    - `groups_users` GroupsUsersIndexAndView[]
      - `id` string, uuid, required
      - `group_id` string, uuid, required
      - `user_id` string, uuid, required
      - `is_admin` boolean, required
      - `created` string, date-time, required
      - `user` UserIndexAndView
        - `is_mfa_enabled` boolean
        - `id` string, uuid, required
        - `role_id` string, uuid, required
        - `username` string, required
        - `active` boolean, required
        - `deleted` boolean, required
        - `created` string, date-time, required
        - `modified` string, date-time, required
        - `disabled` string, date-time, required
        - `profile` object
          - `id` string, uuid, required
          - `user_id` string, uuid, required
          - `first_name` string, required
          - `last_name` string, required
          - `created` string, date-time, required
          - `modified` string, date-time, required
          - `avatar` object, required
            - `id` string, uuid
            - `profile_id` string, uuid
            - `created` string, date-time
            - `modified` string, date-time
            - `url` object, required
              - …
        - `groups_users` GroupsUsersIndexAndView (recursive)
        - `gpgkey` Gpgkey
          - `id` string, uuid, required
          - `user_id` string, uuid, required
          - `armored_key` string, required
          - `bits` integer, required
          - `uid` string, required
          - `key_id` string, required
          - `fingerprint` string, required
          - `type` 'RSA' | 'ECC', required
          - `expires` string, date-time, required
          - `deleted` boolean, required
          - `created` string, date-time, required
          - `modified` string, date-time, required
        - `role` Role
          - `id` string, uuid, required
          - `name` 'admin' | 'guest' | 'user', required
          - `description` string, required
          - `created` string, date-time, required
          - `modified` string, date-time, required
        - `missing_metadata_key_ids` string[]
        - `last_logged_in` string, date-time
    - `user_count` integer

## Other responses

- `400`: Bad request
- `401`: Authentication required.

---

[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)
