sort accepts lastInteraction, created, or name — invalid values silently fall back to created. Sorting by lastInteraction is indexed but can get slow above ~10k contacts; prefer created for the default list view.curl --location '/users/me/contacts?limit=&offset=&sort=' \
--header 'Authorization: Bearer <token>'{
"contacts": [
{
"firstName": "string",
"lastName": "string",
"phoneNumber": "string",
"email": "string",
"address": "string",
"notes": "string",
"companyName": "string",
"tags": [
"string"
],
"avatar": "string",
"isFavorite": true,
"source": "MOBILE",
"lifecycleStage": "lead",
"doNotCall": true,
"doNotSms": true,
"id": "string",
"stats": {
"totalIncomingCalls": 0,
"totalOutboundCalls": 0,
"totalSmsMessages": 0,
"lastCallDate": "string",
"upcomingAppointments": 0
},
"latestNote": {
"content": "string",
"createdAt": "string"
},
"suggestedLifecycleStage": "string"
}
],
"pagination": {
"total": 0,
"limit": 0,
"offset": 0
},
"aggregations": {
"uniqueCompanies": 0,
"companies": [
"string"
]
}
}