---
title: "Upserts a candidates settings"
method: PUT
path: "/candidate/{candidate_id}/settings"
tags: ["Candidate Settings"]
---

# Upserts a candidates settings

`PUT /candidate/{candidate_id}/settings`

## Request body

- CandidateProfileSettingsDef
  - `profile_editable` boolean, required
  - `employment_history_editable` boolean
  - `employment_skills_editable` boolean
  - `professional_registration_editable` boolean
  - `professional_reference_editable` boolean
  - `available_shifts_enabled` boolean

## Response `200`

The replaced data of candidate settings

- CandidateSettingsPutResponse
  - `_id` string, required
  - `updated_at` string, date-time, required
  - `created_at` string, date-time, required
  - `__v` integer, required
  - `candidate_id` string, required — The id of the candidate
  - `profile_editable` boolean, required — Set profile editable or not for candidate
  - `user_status` 'active' | 'inactive' | 'awaiting_verification' | 'gdpr_revoked'
  - `invitation_status` 'used' | 'not_used'
  - `employment_history_editable` boolean, required
  - `employment_skills_editable` boolean, required
  - `professional_registration_editable` boolean, required
  - `professional_reference_editable` boolean, required
  - `available_shifts_enabled` boolean

## Other responses

- `400` — Validation errors caused by missing or invalid headers, paths or payloads
- `401` — Failed to authenticate the user making the request
- `405` — Method not supported Error. Returned if an unsupported http method is used.
- `406` — Not acceptable, Content type not supported
- `default` — unexpected error

---

[API](https://skmtc.dev/staffshift/apis/staffshift-api-gateway.md) · [All operations](https://skmtc.dev/staffshift/apis/staffshift-api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/staffshift/staffshift-api-gateway/revisions/6e2cb83db3a9/schema)
