---
title: "Get the list of groups"
url: "https://docs.signnow.com/docs/contact-groups/operations/get-v2-crm-groups"
type: "endpoint"
section: "contact-groups"
slug: "contact-groups/operations/get-v2-crm-groups"
method: "GET"
path: "/v2/crm/groups"
operation_id: "get-v2-crm-groups"
authorization: "bearer"
---

# Get the list of groups

`GET /v2/crm/groups`

Allows users to retrieve the list of groups.

## Authorization

bearer

## Query Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `filters: id` | string | No | Format: `filters=[{"id":{"type":"in","value": ["01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]}}]` |
| `filters: name` | string | No | Format: `filters=[{"name":{"type":"like","value":"My group"}}]` |
| `per_page` | string | No | How many search items to view per page. Allowed values: positive integers from 1 to 100. |
| `page` | string | No | How many pages to fit the results in. Allowed values: any positive integer starting from 1. |

## Header Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `Accept` | string | No | application/json |

## Responses

### 200

Success

**Example** (`Success`)

```json
{
  "data": [
    {
      "id": "8fXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "name": "My group",
      "created_at": 1672242682,
      "updated_at": 1672242682
    }
  ],
  "meta": {
    "pagination": {
      "count": 10,
      "links": {
        "next": "https://example.com/v2/crm/groups?per_page=10&page=3",
        "previous": "https://example.com/v2/crm/groups?per_page=10&page=1"
      },
      "total": 50,
      "per_page": 15,
      "total_pages": 5,
      "current_page": 2
    }
  }
}
```

### 400

* Request with any of these cases: invalid token of user, expired token of user, empty header, authorization = null, authorization without value
* Request with incorrect `per_page` parameter type
* Request with `per_page` less than 0
* Request with `per_page` more than 100
* Request with incorrect `page` parameter type
* Request with `page` less than 0
* Request without `filter` parameters value or type
* Request with invalid type of `filter` parameter type
* Request with invalid expression of `email` filter parameter type
* Request with invalid type of `email` filter parameter value
* Request with invalid expression of `name` filter parameter type
* Request with invalid type of `name` filter parameter value
* Request with invalid filter format
* Request with invalid `sort` value
* Request with invalid `sort` order value
* Request with invalid `sort` format (expected array)
* Request with invalid `sort` format (more than one field for sorting)


**Example** (`Invalid sort value`)

```json
{
  "code": 27400906,
  "message": "The `sort` key must be one of the following values:` created_at`, `full_name`, `company_name`, `email`, `last_interaction_at`"
}
```

**Example** (`Authorization issues`)

```json
{
  "code": 1537,
  "message": "invalid_token"
}
```

**Example** (`Invalid filter format`)

```json
{
  "code": 0,
  "message": "Wrong filters format."
}
```

**Example** (`Incorrect `per_page` type`)

```json
{
  "code": 27400901,
  "message": "Query parameter `per_page` must be a digit"
}
```

**Example** (`Invalid `sort` order value`)

```json
{
  "code": 27400907,
  "message": "The `sort` value must be one of the following values: `asc, desc`"
}
```

**Example** (`Incorrect `page` parameter type`)

```json
{
  "code": 27400904,
  "message": "Query parameter `page` must be a digit"
}
```

**Example** (`Request with `page` less than 0`)

```json
{
  "code": 27400905,
  "message": "Query parameter `page` must be more than 0"
}
```

**Example** (`Invalid data type of `type` filter`)

```json
{
  "code": 27400052,
  "message": "Invalid filter format, filter `type` should be string"
}
```

**Example** (`Invalid type of email filter value`)

```json
{
  "code": 27400054,
  "message": "The `email` filter value should be of type string"
}
```

**Example** (`Invalid type of `name` filter value`)

```json
{
  "code": 27400056,
  "message": "The `first_name` filter value should be of type string"
}
```

**Example** (`Request with `per_page` less than 0`)

```json
{
  "code": 27400902,
  "message": "Query parameter `per_page` must be more than 0"
}
```

**Example** (`Invalid sort format (expected array)`)

```json
{
  "code": 0,
  "message": "Expected array, but got {{ type }}: {{ value }}"
}
```

**Example** (`Request with `per_page` more than 100`)

```json
{
  "code": 27400903,
  "message": "Query parameter `per_page` must be less than or equal 100"
}
```

**Example** (`Invalid expression of email filter type`)

```json
{
  "code": 27400053,
  "message": "The `email` filter expression should be `=` or `like`"
}
```

**Example** (`Invalid expression of `name` filter type`)

```json
{
  "code": 27400055,
  "message": "The `first_name` filter expression should be equal to `like`"
}
```

**Example** (`Invalid `sort` format (more than one field)`)

```json
{
  "code": 27400908,
  "message": "The `sort` must contain only one field for sorting"
}
```

**Example** (`Request without `filter` parameters value or type`)

```json
{
  "code": 27400051,
  "message": "Invalid filter format, filter must have `type` and `value` fields"
}
```

### 404

Contact does not exist or does not belong to authorized user

**Example** (`Contact does not exist or does not belong to authorized user`)

```json
{
  "code": 27404001,
  "message": "Contact `contactUniqueId` not found"
}
```

## Code Examples

> Replace `$SIGNNOW_ACCESS_TOKEN` and any `{placeholder}` values before running.

### cURL

```bash
curl -X GET \
  "https://api.signnow.com/v2/crm/groups" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN"
```

---
*Full reference: https://docs.signnow.com/docs/contact-groups/operations/get-v2-crm-groups*
