---
title: "Get users by contact"
url: "https://docs.signnow.com/docs/users/operations/get-v2-crm-contact-id-users"
type: "endpoint"
section: "users"
slug: "users/operations/get-v2-crm-contact-id-users"
method: "GET"
path: "/v2/crm/contacts/{contact_id}/users"
operation_id: "get-v2-crm-contact-id-users"
authorization: "bearer"
---

# Get users by contact

`GET /v2/crm/contacts/{contact_id}/users`

This endpoint allows API users to get the users who have access to a CRM contact.

## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `contact_id` | string | Yes | ID of the CRM contact. |

## Query Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `per_page` | string | No | How many search items to view per page. Allowed values: positive integers from 1 to 100. |
| `page` | integer | No | How many pages to fit the results in. Allowed values: any positive integer starting from 1. |

## Responses

### 200

List of users who have access to the contact.

**Example** (`Successful response`)

```json
{
  "data": [
    {
      "id": "c2fbe5919b42cc30f418c031665450d203c081a1",
      "email": "user@example.com",
      "permission": {
        "created_at": 1792671820,
        "permission": "owner",
        "updated_at": 1792671820
      }
    },
    {
      "id": "6cfe15ef88f73f3d44baac3cbbfc4c4f1c52e14a",
      "email": "user@example.com",
      "permission": {
        "created_at": 1792671823,
        "permission": "view_only",
        "updated_at": 1792671823
      }
    }
  ],
  "meta": {
    "pagination": {
      "count": 2,
      "links": [],
      "total": 2,
      "per_page": 15,
      "total_pages": 1,
      "current_page": 1
    }
  }
}
```

**Example** (`With include=contacts`)

```json
{
  "data": [
    {
      "id": "c2fbe5919b42cc30f418c031665450d203c081a1",
      "email": "user@example.com",
      "contacts": {
        "data": {
          "id": "6dbcc7271f8b2fe4a571c84ae87a1e396eb2c70c",
          "meta": {
            "created_at": 1778667639,
            "updated_at": 1792665967,
            "interacted_at": 1792665967
          },
          "email": "user@example.com",
          "phone": {
            "number": null,
            "country_code": null
          },
          "address": {
            "city": null,
            "state": null,
            "street": null,
            "country": null,
            "zip_code": null,
            "apartment": null
          },
          "company": {
            "name": null,
            "job_title": null
          },
          "last_name": "Doe",
          "first_name": "John",
          "description": null
        }
      },
      "permission": {
        "created_at": 1792671820,
        "permission": "owner",
        "updated_at": 1792671820
      }
    },
    {
      "id": "6cfe15ef88f73f3d44baac3cbbfc4c4f1c52e14a",
      "email": "user@example.com",
      "contacts": {
        "data": {
          "id": "cba9de6255b79a23ae3bf496bc064f335a37e68c",
          "meta": {
            "created_at": 1785845554,
            "updated_at": 1792575594,
            "interacted_at": 1792575594
          },
          "email": "user@example.com",
          "phone": {
            "number": null,
            "country_code": null
          },
          "address": {
            "city": null,
            "state": null,
            "street": null,
            "country": null,
            "zip_code": null,
            "apartment": null
          },
          "company": {
            "name": null,
            "job_title": null
          },
          "last_name": "Smith",
          "first_name": "Jane",
          "description": null
        }
      },
      "permission": {
        "created_at": 1792671823,
        "permission": "view_only",
        "updated_at": 1792671823
      }
    }
  ],
  "meta": {
    "pagination": {
      "count": 2,
      "links": [],
      "total": 2,
      "per_page": 15,
      "total_pages": 1,
      "current_page": 1
    }
  }
}
```

### 400

* Request with any of cases: invalid token, expired token, empty header, authorization = null, authorization without value
* Request with incorrect per_page parameter type
* Request with incorrect per_page parameter value
* Request with incorrect per_page parameter value 2
* Request with incorrect page parameter type
* Request with incorrect page parameter value
* Request with incorrect include name

**Example** (`Authorization issues`)

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

**Example** (`Incorrect include name`)

```json
{
  "code": 2740084,
  "message": "Include must be `contacts`"
}
```

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

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

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

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

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

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

**Example** (`Incorrect `per_page` parameter value`)

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

**Example** (`Incorrect `per_page` parameter value 2`)

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

## Code Examples

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

### cURL

```bash
curl -X GET \
  "https://api.signnow.com/v2/crm/contacts/{contact_id}/users" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN"
```

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