---
title: "Add/update candidate property value"
method: PUT
path: "/candidates/{id}/properties/{propertyId}"
tags: ["candidates"]
deprecated: true
---

# Add/update candidate property value

`PUT /candidates/{id}/properties/{propertyId}`

## Request

- Base URL: `https://api.smartrecruiters.com`
- URL: `https://api.smartrecruiters.com/candidates/{id}/properties/{propertyId}`
- Auth: one of:
  - API key in header `x-smarttoken`
  - OAuth 2
    - Authorization code: `https://www.smartrecruiters.com/identity/oauth/allow`
    - Token URL: `https://api.smartrecruiters.com/identity/oauth/token` scopes: `candidates_manage`

> **Deprecated.**

Please use `PUT /candidates/{id}/jobs/{jobId}/properties` instead. Set a candidate property value for the candidate.
Below you can find a list of value examples, dependent on different candidate property types.
* **BOOLEAN**
```
{ "value": true }
```
Value has to be `true` or `false`.
* **COUNTRY**
```
{ "value": "us" }
```
Value has to be lowercase string in ISO 3166-1 alpha-2 format.
* **CURRENCY**
```
{
  "value": {
    "code": "GBP",
    "value": 23232
  }
}
```
Code of value is a currency code in ISO 4217 format.
* **DATE**
```
{ "value": "2015-11-17T23:00:00.000Z" }
```
* **NUMBER, PERCENT**
```
{ "value": 42 }
```
* **REGION**
```
{ "value": "us-wa" }
```
Value has to be lowercase string in ISO 3166-2 compatible format.
* **SINGLE_SELECT**
```
{ "value": "f6fe768f-b5e6-4794-9938-c2f42ab0a572" }
```
Value has to be an id of candidate property value (provided by GET /configuration/candidate-properties/{propertyId}/values).
* **TEXT**
```
{ "value": "Example text" }
```
* **USER**
```
{ "value": "50fe861de4b00265edec6775" }
```
Value has to be a valid user id

To reset a value for any of the above types, please pass
```
{}
```

## Request body

- CandidatePropertyInputValue
  - `value` union: string, number, boolean or object depending on property
    - string
    - number
    - boolean
    - object

## Response `204`

Property successfully updated.

## Other responses

- `400`: with codes * **COUNTRY_NOT_FOUND** when candidate property of COUNTRY type and country with provided code does not exist, * **REGION_NOT_FOUND** when candidate property of REGION type and region with provided code does not exist, * **USER_NOT_FOUND** when candidate property of USER type and user with provided id does not exist, * **CURRENCY_NOT_FOUND** when candidate property of CURRENCY type and currency with provided code does not exist, * **INVALID_TEXT_FORMAT** when candidate property of TEXT type and its value contains forbidden characters * **INVALID_EMAIL_FORMAT** when candidate property of TEXT type (with enabled email validation) and its value contains invalid email address * **INVALID_TEXT_PATTERN_FORMAT** when candidate property of TEXT type (with enabled custom text pattern validation) and its value contains value that does not match the pattern * **INVALID_NUMBER_RANGE** when candidate property of NUMBER type (with enabled application fields date and number range validation) and its value is not in the defined range * **INVALID_DATE_RANGE** when candidate property of DATE type (with enabled application fields date and number range validation) and its value is not in the defined range * **INACCESSIBLE_FIELD** when candidate property cannot be set due to its own configuration * **MULTI_SELECT_NOT_SUPPORTED_ON_DEPRECATED_ENDPOINT** when candidate property type is MULTI_SELECT (use `PUT /candidates/{id}/jobs/{jobId}/properties` instead)
- `403`: Candidate properties access denied
- `404`: with code **PROPERTY_NOT_FOUND** when candidate property does not exist

---

[API](https://skmtc.dev/smartrecruiters/apis/candidates-api.md) - [All operations](https://skmtc.dev/smartrecruiters/apis/candidates-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smartrecruiters/apis/candidates-api/revisions/8fde9b33d46d?raw)
