Candidates

Get a candidate

GET/v1/integration/candidates/{candidateId}

A screened candidate on a linked job, as webhooks send it. An unscreened candidate, or one from another company, is 404. Requires an API key with the `candidates:read` scope.

Requires an Alfa API key as a bearer token. How API keys work

Path parameters

  • candidateIdstringrequired

    Alfa's id for the candidate: `app_…` or `src_…`.

    at least 1 characters · at most 40 characters

Headers

  • Alfa-Company-Idstring

    The Company ID of the company to act for. Required with a platform key, and that company must have authorized your platform; a company key acts for its own company and can leave it out.

Response body

  • candidateIdstringrequired

    Alfa's id for the candidate: `app_…` for an applicant, `src_…` for a candidate Alfa sourced.

  • externalCandidateIdstring | nullrequired

    Your candidate id, for applicants you sent through applicant intake.

  • externalApplicationIdstring | nullrequired

    Your application id, for applicants you sent through applicant intake.

  • firstNamestring | nullrequired

    First name.

  • lastNamestring | nullrequired

    Last name.

  • emailstring | nullrequired

    Email address.

  • phonestring | nullrequired

    Phone number, when known.

  • linkedinUrlstring | nullrequired

    LinkedIn profile URL, when known.

  • source"application" | "sourced"required

    `application` for an applicant, `sourced` for a candidate Alfa found and approached.

  • status"shortlisted" | "suitable" | "not_suitable" | "sourced_potential"required

    `shortlisted`: a recruiter shortlisted them. `suitable` or `not_suitable`: the screening outcome. `sourced_potential`: a sourced candidate who fits the job.

  • statusUpdatedAtstringrequired

    When the status last changed. Keep the newest one you receive.

  • scorenumber | nullrequired

    The candidate score from 0 to 100; for a sourced candidate, the sourcing score.

  • summarystring | nullrequired

    Alfa's summary of the candidate against the job.

  • resumeUrlstring | nullrequired

    A signed link to the resume PDF, valid for 24 hours. Null when there is none.

  • profileUrlstringrequired

    The candidate's page in Alfa, for signed-in recruiters.

  • jobIdintegerrequired

    Alfa's id for the job.

  • externalJobIdstring | nullrequired

    The ATS job the Alfa job is linked to.

Responses

  • 200Success.
  • 400The request is malformed: invalid JSON, an unexpected body or an unknown query parameter. Problem details
  • 401The bearer token is missing, expired or invalid. Problem details
  • 403The caller may not perform this operation, or has no active organisation. Problem details
  • 404The resource does not exist or is not visible to the caller. Problem details
  • 422The request failed validation; `errors` lists each invalid field. Problem details
  • 429Too many requests, or the AI service is busy. Retry after a short wait. Problem details
  • 500An unexpected error. Quote the `correlationId` to support. Problem details