---
title: "Get a candidate profile snapshot"
method: GET
path: "/candidates/{id}/profile"
tags: ["Candidates"]
---

# Get a candidate profile snapshot

`GET /candidates/{id}/profile`

## Request

- Base URL: `https://api.cavuno.com/v1`
- URL: `https://api.cavuno.com/v1/candidates/{id}/profile`
- Auth: HTTP bearer

Returns the canonical candidate sync snapshot: identity, profile scalars, and collections. Excludes credentials, resume storage internals, applications, messages, saved jobs, and consent state. Requires `candidates.read`.

## Path parameters

- `id` string, required: The candidate id.

## Response `200`

Successful response.

- CandidateSyncSnapshot
  - `id` string, required: Unique identifier for the candidate.
  - `email` string, required: The candidate's email address.
  - `displayName` string, nullable, required: The candidate's display name.
  - `revision` integer, required: Monotonic Candidate lifecycle revision.
  - `profileRevision` integer, required: Monotonic profile-projection revision.
  - `deactivatedAt` string, date-time, nullable, required: ISO 8601 timestamp when sign-in was disabled, or `null` when active.
  - `profile` object, required
    - `headline` string, nullable, required
    - `bio` string, nullable, required
    - `location` string, nullable, required
    - `countryCode` string, nullable, required
  - `skills` string[], required
  - `languages` CandidateSyncSnapshotLanguage[], required
    - `name` string, required
    - `proficiency` string, required
    - `sortOrder` integer, required
  - `experience` CandidateSyncSnapshotExperience[], required
    - `title` string, required
    - `companyName` string, required
    - `companyUrl` string, nullable, required
    - `location` string, nullable, required
    - `employmentType` string, nullable, required
    - `locationType` string, nullable, required
    - `foundVia` string, nullable, required
    - `startDate` string, required
    - `endDate` string, nullable, required
    - `description` string, nullable, required
    - `experienceSkills` string[], nullable, required
    - `sortOrder` integer, required
  - `education` CandidateSyncSnapshotEducation[], required
    - `institutionName` string, required
    - `institutionUrl` string, nullable, required
    - `degree` string, nullable, required
    - `fieldOfStudy` string, nullable, required
    - `grade` string, nullable, required
    - `activitiesAndSocieties` string, nullable, required
    - `startDate` string, nullable, required
    - `endDate` string, nullable, required
    - `description` string, nullable, required
    - `sortOrder` integer, required

## Other responses

- `404`: Candidate not found.
- `422`: Candidate has more related records than this endpoint supports.

## Changes

- **2026-10-19** `c34152c38176`: 2 info
  - added the optional property `error/upgrade` to the response with the `404` status
  - added the optional property `error/upgrade` to the response with the `422` status

[Operation history](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/changes/candidates/:id/profile/get.md)

---

[API](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api.md) · [All operations](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/revisions/d5974dabff14?raw)
