Skip to content

Candidates

Applicant CRM: contact info, tags, status, and resume storage for scheduling.

Key APIs

MethodPathPurpose
GET/v1/candidatesPaginated list with interview counts
POST/v1/candidatesCreate candidate (optional staged resume key)
GET/v1/candidates/:idGet candidate
PATCH/v1/candidates/:idUpdate profile
POST/v1/candidates/:id/blacklistMark blacklisted
POST/v1/candidates/:id/activateMark active
POST/v1/candidates/:id/resumeAttach resume from temp upload key
GET/v1/candidates/:id/resumePresigned download URL

Business Rules

  • Email is unique per workspace; blacklisted candidates cannot be scheduled.
  • Scheduling requires parsed resume text on the candidate record.
  • Resume full text is never returned in API responses (used internally for interviews).

Dependencies

  • S3 (upload, move, presigned download)
  • OpenAI (optional structured parse via files flow)

Sophia AI Interview Platform — Internal Documentation