Docs
Ctrl K
APICRMContactsGet 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).

Created: September 16, 2026

Updated: September 16, 2026

Overview

GET

https://dashboard.vinsi.ai/api/crm/contacts

Request

Headers

Content-Type

string

application/json
x-api-key

string

REQUIRED

Query Params

paginated

string

OPTIONAL

Example: true

page

string

OPTIONAL

Example: 1

pageSize

string

OPTIONAL

Example: 25

search

string

OPTIONAL

Example: morgan

activeTab

string

OPTIONAL

Example: leads

filterLeadStatus

string

OPTIONAL

Example: New,Contacted

filterType

string

OPTIONAL

Example: lead

filterSource

string

OPTIONAL

Example: Website

filterOwner

string

OPTIONAL

Example: cmexampleuser0000000000001

filterDisposition

string

OPTIONAL

Example: Callback Requested

filterCreated

string

OPTIONAL

Example: month

companyId

string

OPTIONAL

Example: 318

sortBy

string

OPTIONAL

Example: createdAt

sortDir

string

OPTIONAL

Example: desc

lite

string

OPTIONAL

Example: false

Response

{5 items
"items":[1 item
0:{30 items
"id":int1042
"firstName":string"Alex"
"lastName":string"Morgan"
"email":string"alex.morgan@example.com"
"phone":string"+15555550142"
"company":string"Acme Dental"
"leadStatus":string"New"
"type":string"lead"
"source":string"Website"
"ownerId":string"cmexampleuser0000000000001"
"createdAt":string"2026-09-10T17:22:57.000Z"
"updatedAt":string"2026-09-12T15:04:11.000Z"
"ext":string""
"disposition":string""
"lastWorkDate":null
"state":string"CA"
"phone2":string""
"phone2Ext":string""
"phone3":string""
"phone3Ext":string""
"title":string"Office Manager"
"isUnsubscribed":boolfalse
"unsubscribedAt":null
"email2":string""
"companyId":int318
"address":string"100 Main St"
"city":string"San Diego"
"zip":string"92101"
"country":string"US"
"avatarUrl":null
}
]
"total":int1
"page":int1
"pageSize":int25
"counts":{5 items
"my":int1
"all":int214
"leads":int180
"customers":int30
"archived":int4
}
}

Endpoint Explorer

Note: You must be already authenticated on https://dashboard.vinsi.ai/ to use this API tester.

GET

Headers

Content-Type: *
x-api-key: *

Query Params

paginated: *
page: *
pageSize: *
search: *
activeTab: *
filterLeadStatus: *
filterType: *
filterSource: *
filterOwner: *
filterDisposition: *
filterCreated: *
companyId: *
sortBy: *
sortDir: *
lite: *

Response

No response yet. Click Send to test the API.