---
title: "Get a candidate"
method: GET
path: "/v1/candidates/{candidateId}"
tags: ["Candidate"]
---

# Get a candidate

`GET /v1/candidates/{candidateId}`

Returns the candidate's identity, contact details, hiring-team assignments, ATS metadata, and anonymization state. For anonymized candidates, PII fields may be redacted; an unknown or out-of-organization ID returns not found.

## Path parameters

- `candidateId` string, required — a candidate ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.

## Response `200`

Success

- Candidate
  - `id` string, required — Canonical candidate ID (can_ followed by 32 lowercase hexadecimal UUID characters).
  - `name` object, required
    - `full` string, required
    - `given` string, nullable, required
    - `family` string, nullable, required
  - `primary_email` string, email, nullable, required
  - `additional_emails` string[], nullable, required — Additional candidate email addresses. Null means PII was redacted because the candidate is anonymized; an empty array means no additional email addresses.
  - `phone_numbers` string[], nullable, required — Candidate phone numbers. Null means PII was redacted because the candidate is anonymized; an empty array means no phone numbers.
  - `timezone` string, nullable, required
  - `linkedin_url` string, uri, nullable, required
  - `preferred_name` string, nullable, required
  - `recruiter` object, nullable, required
    - `id` string, required — Canonical employee ID (emp_ followed by 32 lowercase hexadecimal UUID characters).
    - `name` string, required
  - `coordinator` object, nullable, required
    - `id` string, required — Canonical employee ID (emp_ followed by 32 lowercase hexadecimal UUID characters).
    - `name` string, required
  - `ats` object, nullable, required
    - `type` 'GREENHOUSE' | 'ASHBY' | 'LEVER' | 'WORKDAY' | 'SMARTRECRUITERS' | 'GEM' | 'KOMBO', required
    - `id` string, required
  - `anonymized` boolean, required
  - `created_at` string, date-time, required — ISO 8601 timestamp.
  - `updated_at` string, date-time, required — ISO 8601 timestamp.
  - `app_url` string, uri, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `409` — Conflict
- `410` — Gone
- `500` — Internal error

---

[API](https://skmtc.dev/modernloop/apis/modernloop-platform-api.md) · [All operations](https://skmtc.dev/modernloop/apis/modernloop-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/modernloop/modernloop-platform-api/revisions/33a0f9f44e4c/schema)
