List contacts
Lists the contacts in your CRM, a page at a time. Archived contacts are left out.
Search by name or email to find someone before you add them, and filter
by company_id to list everyone you know at one company.
Filtering
-
filter[name]— searches contact names, matching anywhere in the name and ignoring case. filter[email]— searches email addresses the same way.-
filter[company_id]— one or more company ids. Returns the contacts linked to those companies.
Query Parameters
- Type: integerpage[number]min:1
Page to return, starting at 1.
- Type: integerpage[size]min:1max:100
Records per page. Defaults to 25; anything above 100 is reduced to 100.
- Type: stringfilter[name]
Searches contact names, matching anywhere in the name and ignoring case.
- Type: stringfilter[email]
Searches email addresses, matching anywhere in the address and ignoring case.
- Type: stringfilter[company
_id] One or more company ids, comma-separated or repeated. Returns the contacts linked to those companies.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
Request Example for get/public-api/v1/contacts
curl https://app.hellobonsai.com/public-api/v1/contacts \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
"data": [
{
"id": 7,
"name": "Alex Johnson",
"email": "alex@example.com",
"job_title": "CTO",
"phone_number": "+1-415-555-0100",
"archived_at": "2026-04-14T09:12:04.000Z",
"created_at": "2026-04-14T09:12:04.000Z",
"company_ids": [
42
],
"default_company_id": 42,
"url": "https://app.hellobonsai.com/contacts/7"
}
],
"meta": {
"request_id": "b1f0d2c4-7a9e-4c3b-8d5f-1e2a3b4c5d6e",
"pagination": {
"page": 1,
"page_size": 25,
"has_more": true
}
}
}