Skip to main content
GET
Get candidate

First time? Set up Authentication

Learn how to authenticate your API requests with your API key.
Returns candidate metadata plus a talent payload processed through the same contact-visibility rules as the product UI. Contact objects are not returned directly: visible emails are exposed as talent.emails, and visible sanitized phone numbers are exposed as talent.phones. While enrichment is pending, talent.contactsLoading.email and talent.contactsLoading.phone indicate loading state.

Path parameters

string
required
Candidate id belonging to the API key workspace.

Response

When success is true, data contains:
  • candidate — id, statusHandle, createdAt, sourcingId, talentId
  • talent — secured talent fields plus emails, phones, and contactsLoading. Internal LinkedIn/email/WhatsApp interaction flags are not returned.
  • lastActivityAt, lastActivityDirection, lastActivityChannel, lastActivityContent, replyStatus — latest outreach activity, see below
The response does not expose internal workspaceId or userId fields.

Outreach activity

The same three fields as List candidates, computed with the same rules, so a candidate returns identical values from both endpoints. They aggregate every channel (LinkedIn, email, WhatsApp, SMS) across legacy and dynamic sequences, scoped to the outreach performed by the user who owns the API key (messages and invitations sent by other members of the workspace are not taken into account). replyStatus stays REPLIED even if you sent a follow-up after the talent replied (lastActivityDirection then becomes OUTBOUND). An accepted LinkedIn invitation counts as an inbound activity but not as a reply.

Errors