---
title: "List groups"
url: "https://earlyaccess.developers.bynder.com/apis/groups-1/versions/8b5e3751-b1f6-4df8-9f5d-f494f76062f0/operations/listGroups"
---

> Full API specification: https://earlyaccess.developers.bynder.com/apis/groups-1/versions/8b5e3751-b1f6-4df8-9f5d-f494f76062f0.md

# List groups

`GET` `/api/1/groups`

Operation ID: `listGroups`

Returns a paginated list of groups with member count. Requires the **GROUPMANAGEMENT** security role.

## Query parameters

- `search_term` (string, optional) - Filter groups by matching name.
- `ids[]` (array, optional) - Filter by specific group IDs (hyphens in the UUIDs are optional).
- `sort` (string, optional) - Sort field and direction. Prefix with `-` for descending order (e.g. `-name`).
- `start` (integer, optional) - Page number (1-based).
- `limit` (integer, optional) - Number of results per page.

## Responses

- `200` - Successful response
- `400` - Unsupported `sort` value.
- `401` - Missing or invalid authentication. The response body is empty.
- `403` - The authenticated user does not have the **GROUPMANAGEMENT** security role.
- `422` - Validation error (e.g. `start` less than 1, `limit` outside 1–1000, malformed group ID in `ids[]`).

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Groups
  version: 1.0.0
servers:
  - url: https://{your-bynder-domain}/
paths:
  /api/1/groups:
    get:
      description: |
        Returns a paginated list of groups with member count.

        Requires the **GROUPMANAGEMENT** security role.
      operationId: listGroups
      parameters:
        - description: Filter groups by matching name.
          in: query
          name: search_term
          required: false
          schema:
            type: string
        - description: Filter by specific group IDs (hyphens in the UUIDs are optional).
          in: query
          name: ids[]
          required: false
          schema:
            items:
              format: uuid
              type: string
            type: array
        - description: Sort field and direction. Prefix with `-` for descending order
            (e.g. `-name`).
          in: query
          name: sort
          required: false
          schema:
            default: name
            enum:
              - name
              - description
              - -name
              - -description
            type: string
        - description: Page number (1-based).
          in: query
          name: start
          required: false
          schema:
            default: 1
            minimum: 1
            type: integer
        - description: Number of results per page.
          in: query
          name: limit
          required: false
          schema:
            default: 20
            maximum: 1000
            minimum: 1
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  items:
                    items:
                      $ref: "#/components/schemas/Group"
                    type: array
                  metadata:
                    properties:
                      nextPage:
                        description: Relative URL of the next page, or null if on the last page.
                        type:
                          - string
                          - "null"
                      prevPage:
                        description: Relative URL of the previous page, or null if on the first page.
                        type:
                          - string
                          - "null"
                    type: object
                type: object
          description: Successful response
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unsupported `sort` value.
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "422":
          description: Validation error (e.g. `start` less than 1, `limit` outside 1–1000,
            malformed group ID in `ids[]`).
      security:
        - permanentToken:
            - GROUPMANAGEMENT
        - OAuth2:
            - GROUPMANAGEMENT
      summary: List groups
      tags:
        - Groups (Preferred)
security:
  - permanentToken:
      - GROUPMANAGEMENT
  - OAuth2:
      - GROUPMANAGEMENT
components:
  schemas:
    Group:
      example:
        description: Everyone in the marketing department
        id: 0397e4bd-33fe-4b8f-a51d-4c2f1d9b6c1a
        name: Marketing
        user_count: 12
      properties:
        description:
          type:
            - string
            - "null"
        id:
          format: uuid
          type: string
        name:
          type: string
        user_count:
          description: Number of members in the group.
          type: integer
      type: object
    ErrorResponse:
      properties:
        detail:
          properties:
            error:
              description: Human-readable description of the error.
              type: string
          type: object
      type: object
  responses:
    Unauthorized:
      description: Missing or invalid authentication. The response body is empty.
    Forbidden:
      description: The authenticated user does not have the **GROUPMANAGEMENT**
        security role.
  securitySchemes:
    permanentToken:
      in: header
      name: Authorization
      type: apiKey
    OAuth2:
      flows:
        authorizationCode:
          authorizationUrl: https://{your-auth-url}
          scopes:
            GROUPMANAGEMENT: Grants permission to manage groups`
          tokenUrl: https://{your-bynder-domain}/v6/authentication/oauth2/token
        clientCredentials:
          scopes:
            GROUPMANAGEMENT: Grants permission to manage groups
          tokenUrl: https://{your-bynder-domain}/v6/authentication/oauth2/token
      type: oauth2
```
