Returns the candidate's full activity stream on the position — a chronological array of StreamActivity events (e.g. stage moves, notes, interviews, questionnaire activity), each with a type, timestamp, first_of_day flag, and an object payload whose shape varies by event type. To add a note to the stream, use the corresponding POST on this same endpoint.
Switch on type before reading object. Most payloads share a common base — acting_user, candidate_id, company_id, position_id, and candidate/company/position snapshots — and add the fields listed below. Skip any type you do not recognize; new ones are added over time.
type | Fires when | Adds to the base payload |
|---|---|---|
candidateAdded | Candidate is created on the position | — |
candidateStatusUpdated | Candidate changes pipeline stage or status | stage, stage_was, status, status_was, entered_stage, entered_previous_stage |
candidateMoved | Candidate is moved to another position | position_was, position_id_was |
candidateMerged | Candidate profiles are merged | merge, merged_date, position_was, errors |
candidateArchived | Candidate is archived or restored | archived, archived_by |
candidateAssignedPosted | Candidate is assigned to a team member | member |
candidateSalaryUpdated | Salary expectation changes | salary, salary_was |
companyNotePosted | An internal note is posted | body, attachments, mentioned_ids |
candidateInterviewAdded | An interview is scheduled | interview |
candidateInterviewCancel | An interview is cancelled | interview |
candidatePanelInterviewAdded | A panel interview is scheduled | panel_interview |
candidateMeetingTimesProposed | Interview times are proposed to the candidate | proposal |
candidateDocumentAdded | A document is attached | file_name, file_url, file_size, creation_date |
candidateDocumentDeleted | A document is removed | file_name, file_url, file_size, creation_date |
candidateEDocumentCompleted | An e-signature document is fully signed | signatures, signature_template, template_id |
candidateAssessmentSent | An assessment is sent | assessment, service_name, sent_by |
candidateAssessmentCompleted | An assessment result returns | assessment, service_name, completed_date |
questionnaireToCandidatePosted | A questionnaire is sent | name, status, questions, sent_by |
questionnaireResponsePosted | The candidate submits a questionnaire | questionnaire |
candidateReferrerAdded | A referrer is recorded | referrer |
candidateReferrerUpdated | The referrer changes | referrer, referrer_was |
candidateReferrerRemoved | The referrer is cleared | referrer_was |
candidateSourcingMatched | Sourcing matches the candidate to a position | sourcing_result_id, target_position_id, overall_score, recommendation |
candidateSourcingReachedOut | Sourcing outreach is sent | sourcing_result_id, target_position_id, message |
candidateSourcingDeclined | Sourced candidate declines | sourcing_result_id, target_position_id |
candidateSourcingInvited | Sourced candidate is invited | sourcing_result_id, source, imported_candidate_id |
candidateSourcingImported | Sourced candidate is imported | sourcing_result_id, source, source_candidate_id |
linkedInCandidateSync | A LinkedIn sync runs | Does not use the base payload — only candidate_id, company, status, errors |
breezy_onboardingCreateEmployee | Candidate is pushed to Breezy Onboarding | Does not use the base payload — only candidate |
companyBlockedCandidate | An email address is blocked | Does not use the base payload — candidate_email, blocked_candidate, no position context |
companyUnblockedCandidate | An email address is unblocked | Does not use the base payload — candidate_email, blocked_candidate, candidate_data |
Permissions affect which types you receive. The full set above requires the View candidate activity permission, held by Administrators and Hiring Managers by default. A token for a user without it receives only candidateMerged, candidateAdded, candidateAssignedPosted, candidateInterviewAdded, candidateInterviewCancel, candidateMeetingTimesProposed, candidatePanelInterviewAdded, candidateStatusUpdated, candidateMoved, companyNotePosted, candidateArchived, and the block/unblock pair. candidateSalaryUpdated additionally requires View candidate contact details. Many of the remaining types only occur if the company uses that feature, so most integrations see fewer than a dozen in practice.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||

