List activities
The Activity Log of a candidate: emails, calls, meetings, notes and stage moves, newest first.
GET https://cotlet.dev/api/v1/recruiterflow/candidates/{candidate_id}/activities
Returns the Activity Log of one candidate, newest first. type filters by note, call, email, meeting, custom or stage_change. Emails appear only when Google or Outlook is connected under Settings > Permissions in Recruiterflow. Each entry has the user and a timestamp; email entries say whether they were incoming or outgoing. Meetings are summaries, not transcripts.
Parameters
| Name | Type | Description |
|---|---|---|
| candidate_id string required | string | Candidate id from list_candidates or list_job_candidates. |
| type enum | enum | note, call, email, meeting, custom or stage_change. |
| since date | date | Only entries on or after this date. |
| limit integer | integer | 1 to 50. Default: 25. |
Request
curl https://cotlet.dev/api/v1/recruiterflow/candidates/candidate_8c41d2/activities \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("recruiterflow", "list_activities", {"candidate_id":"candidate_8c41d2"}) const result = await cotlet.call('recruiterflow', 'list_activities', {"candidate_id":"candidate_8c41d2"}); cotlet call recruiterflow list_activities --data '{"candidate_id":"candidate_8c41d2"}' Example response
{
"activities": [
{
"type": "email",
"direction": "incoming",
"subject": "Re: Senior Backend Engineer at Northwind Labs",
"at": "2026-10-21T08:05:00Z",
"user": null
},
{
"type": "stage_change",
"from": "Sourced",
"to": "Phone Screen",
"at": "2026-10-14T11:00:00Z",
"user": "Dana Reyes"
}
]
}