Legacy-compatible union search across the authenticated user's CTI
phonebook and the centralized phonebook. Requires the phonebook
capability. Results are returned in a {count, rows, last_sync_at}
envelope.
Ordering (issue #7124): with no sort (the current default for
nethvoice-cti and phone-island) the legacy order "company ASC, name ASC"
is preserved so existing callers are not affected.
Query parameters
-
Result shape. Omit for a flat person+company list;
personreturns only real-name contacts;companygroups results by company.Values are
personorcompany. -
Sort key (issue #7124).
surnameis an alias oflastname;namean alias ofdisplayname. Any other/absent value keeps the legacy default ordering.Values are
firstname,lastname,surname,company,displayname, orname. -
Visibility filter. Alias:
sharing.Values are
all,public,private, orgroup. -
Alias of
visibility.Values are
all,public,private, orgroup. -
Page size. When provided, pagination is applied. Providing
offsetwithoutlimitis a 400 error.Minimum value is
0. -
Row offset for pagination (default 0). Requires
limit.Minimum value is
0. Default value is0.
curl \
--request GET 'https://middleware.example.com/api/phonebook/search/{term}' \
--header "Authorization: Bearer $ACCESS_TOKEN"
{
"count": 42,
"rows": [
{
"id": 42,
"owner_id": "string",
"type": "string",
"name": "string",
"company": "string",
"homeemail": "string",
"workemail": "string",
"homephone": "string",
"workphone": "string",
"cellphone": "string",
"fax": "string",
"title": "string",
"notes": "string",
"homestreet": "string",
"homepob": "string",
"homecity": "string",
"homeprovince": "string",
"homepostalcode": "string",
"homecountry": "string",
"workstreet": "string",
"workpob": "string",
"workcity": "string",
"workprovince": "string",
"workpostalcode": "string",
"workcountry": "string",
"url": "string",
"extension": "string",
"speeddial_num": "string",
"firstname": "string",
"lastname": "string",
"job": "string",
"facebook": "string",
"instagram": "string",
"linkedin": "string",
"workphone2": "string",
"cellphone2": "string",
"otherphone": "string",
"otheremail": "string",
"source": "cti",
"contacts": "string"
}
],
"last_sync_at": "2026-05-04T09:42:00Z"
}
{
"code": 42,
"message": "string",
"error": "string"
}
{
"code": 42,
"message": "string",
"error": "string"
}