<!-- Source: https://docs.vinsi.ai/api-docs/crm-contacts -->
# Get Contacts

List CRM contacts in your organization. Send paginated=true for a paged response ({ items, total, page, pageSize, counts }); without it the endpoint returns a plain array of the newest 1,000 contacts (10,000 with lite=true). Paged filters: search (name, email, phone, company, title, state, source, address), activeTab (leads | customers | archived | my | all, default leads), filterLeadStatus / filterType / filterSource (comma-separated lists), filterOwner (user ID, or __unassigned__), filterDisposition, filterCreated (today | week | month | 3months, applied to lastWorkDate), companyId, sortBy (contactName, email, phone, title, company, state, leadStatus, type, disposition, source, createdAt, updatedAt, lastWorkDate, assignedTo), sortDir (asc | desc). pageSize defaults to 10 and is capped at 100 (500 with lite=true, which returns a smaller set of fields).

```http
GET https://dashboard.vinsi.ai/api/crm/contacts
```

## Authentication

Send your API key in the `x-api-key` header. Create keys in the VINSI dashboard under Settings → API Keys.

## Headers

| Name | Type | Required |
|---|---|---|
| Content-Type | string | yes (application/json) |
| x-api-key | string | yes |

## Query parameters

| Name | Required | Example |
|---|---|---|
| paginated | no | true |
| page | no | 1 |
| pageSize | no | 25 |
| search | no | morgan |
| activeTab | no | leads |
| filterLeadStatus | no | New,Contacted |
| filterType | no | lead |
| filterSource | no | Website |
| filterOwner | no | cmexampleuser0000000000001 |
| filterDisposition | no | Callback Requested |
| filterCreated | no | month |
| companyId | no | 318 |
| sortBy | no | createdAt |
| sortDir | no | desc |
| lite | no | false |

## Example request

```bash
curl -X GET 'https://dashboard.vinsi.ai/api/crm/contacts' \
  -H 'x-api-key: YOUR_API_KEY'
```

## Example response

```json
{
  "items": [
    {
      "id": 1042,
      "firstName": "Alex",
      "lastName": "Morgan",
      "email": "alex.morgan@example.com",
      "phone": "+15555550142",
      "company": "Acme Dental",
      "leadStatus": "New",
      "type": "lead",
      "source": "Website",
      "ownerId": "cmexampleuser0000000000001",
      "createdAt": "2026-09-10T17:22:57.000Z",
      "updatedAt": "2026-09-12T15:04:11.000Z",
      "ext": "",
      "disposition": "",
      "lastWorkDate": null,
      "state": "CA",
      "phone2": "",
      "phone2Ext": "",
      "phone3": "",
      "phone3Ext": "",
      "title": "Office Manager",
      "isUnsubscribed": false,
      "unsubscribedAt": null,
      "email2": "",
      "companyId": 318,
      "address": "100 Main St",
      "city": "San Diego",
      "zip": "92101",
      "country": "US",
      "avatarUrl": null
    }
  ],
  "total": 1,
  "page": 1,
  "pageSize": 25,
  "counts": {
    "my": 1,
    "all": 214,
    "leads": 180,
    "customers": 30,
    "archived": 4
  }
}
```

