Update Candidate
Nested custom-field value policy
When the request contains linked parent and child custom fields, use invalid_linked_custom_field_value_policy to control what happens when a child value is hidden by, or does not match, its effective parent value.
| Value | Behaviour |
|---|---|
keep | Preserves invalid child values. This is the default when the property is omitted. |
clear | Stores invalid non-file child values as null. File values are always retained. |
The operation completes successfully under either policy. A child-only update is evaluated against the parent value already stored on the record. A parent update also re-evaluates its descendants.
JSON example
{
"invalid_linked_custom_field_value_policy": "clear",
"custom_fields": [
{ "id": 12, "value": "EMEA" },
{ "id": 13, "value": "Germany" }
]
}Custom-field request IDs are the public IDs returned as id by GET /v1/custom-field. Use that endpoint to discover each child field's dependency, including the parent field's public parent_field_id, the visible_when values that make the child visible, and any allowed_child_options for dropdown or multiselect child fields.
The response envelope and entity response fields are unchanged; only the resulting child value may be retained or returned as null according to the selected policy.
Update the details of an existing candidate by their unique slug.
Request
PUT
PUT /v1/candidate/:slug
Path Parameter
- slug
stringReplace
:slugwith the candidate's unique slug in the request URL.
Body
- first_name
string>= 1 characters (required)
- last_name
string>= 1 characters (required)
- gender_id
integerAllowed Values:
0 => Not Available,
1 => Male,
2 => Female - email
string>= 1 characters
- phone
string>= 1 characters
- date_of_birth
stringFormat: YYYY-MM-DD (e.g., 1990-01-01)
- resume
file - owner_id
integerrequired
- created_by
integer - city
string>= 1 characters
- state
string>= 1 characters
- country
string>= 1 characters
- language_ids
stringComma-separated values:- [1,2,3]
- skill
stringComma-separated values:- [PHP,MySql,ReactJS]
- source
string>= 1 characters
- address
string>= 1 characters
- current_position
string>= 1 characters
- experience
integer - graduation_date
stringFormat: YYYY-MM-DD (e.g., 1990-01-01)
- current_salary
number - notice_period
integer - salary_type
integerSalary type of the candidate.
Allowed Values:
1 => "Annual",
2 => "Monthly",
3 => "Weekly",
4 => "Daily",
5 => "Hourly" - expected_salary
number - nationality
string>= 1 characters
- description
string>= 1 characters
- profile_xing_url
string>= 1 characters
- profile_linkedin_url
string>= 1 characters
- last_organization
string>= 1 characters
- current_organization
string>= 1 characters
- education_specialization
string>= 1 characters
- qualification_id
integer - university
string>= 1 characters
- industry_id
integer - currency_id
integer - willing_to_relocate
integerIs the candidate willing to relocate?
Allowed Values:
"1" => Yes,
"0" => No - available_from
stringFormat: YYYY-MM-DD (e.g., 1990-01-01)
- tags
stringComma-separated values:- [Java,Leadership]
- custom fields:
Array[object]For Example:
"id": 1,
"value": "textfeild" - invalid_linked_custom_field_value_policy
stringOptional. Allowed values:
keep,clear. Default:keep. Controls whether invalid linked child custom-field values are retained or cleared.
Response
201
Body
- id
numberExample: 48
- first_name
stringExample: John
- last_name
stringExample: Doe
- slug
stringExample: candidate_0d25558c1a77fc2d7d98
- full_name
stringExample: John Doe
- email
stringExample: johndoe@example.com
- phone
stringExample: 1234567890
- resume
stringExample: resume.pdf
- profile_picture
stringExample: anjali.jpg
- education_specialization
stringExample: Computer Science
- university
stringExample: Harvard University
- current_position
stringExample: Software Engineer
- current_organization
stringExample: XYZ Inc
- last_organization
stringExample: ABC Corp
- willing_to_relocate
numberExample: 0
- available_from
stringExample: 2024-09-01
- tags
stringExample: [frontend, developer, javascript]
- skill
stringExample: [JavaScript, React]
- experience
numberExample: 5
- graduation_date
stringExample: 2015-05-15
- current_salary
numberExample: 70000
- expected_salary
numberExample: 90000
- notice_period
numberExample: 30
- salary_type
integerExample: 1
- description
stringExample: Experienced software engineer with a focus on frontend development.
- source
stringExample: LinkedIn
- nationality
stringExample: American
- address
stringExample: 123 Main St
- language
stringExample: Hindi
- city
stringExample: Indore
- state
stringExample: Madhya Pradesh
- country
stringExample: USA
- industry
integerExample: 1
- gender
objectExample:
"id": 1,
"label": "female" - owner
objectExample:
"id": 1,
"email": "Rohan@abc.com",
"first_name": "Rohan",
"last_name": "Sharma",
"full_name": "Rohan Sharma",
"role": "Admin",
"phone": null - currency
objectExample:
"id": 1,
"country": "usa",
"code": "ALL",
"currency": "dollar",
"symbol": "$" - qualification
stringExample: btech
- socials
objectExample:
"linked_in": "https://www.linkedin.com/in/johndoe",
"xing": "https://www.xing.com/profile/John_Doe" - created_at
string (ISO 8601 date)Example: 2015-05-15T00:00:00Z
- updated_at
string (ISO 8601 date)Example: 2015-05-15T00:00:00Z
- created_by
objectExample:
"id": 1,
"email": "Rohan@abc.com",
"first_name": "Rohan",
"last_name": "Sharma",
"full_name": "Rohan Sharma",
"role": "Admin",
"phone": null - updated_by
objectExample:
"id": 1,
"email": "Rohan@abc.com",
"first_name": "Rohan",
"last_name": "Sharma",
"full_name": "Rohan Sharma",
"role": "Admin",
"phone": null - custom fields:
objectExample:
"id": 1,
"field_name": "textfeild",
"field_type": "string",
"value": "anjali"
401
Body
- unauthorised
400
Body
- Unprocessable Entity
Response Example
{
"id": 51,
"first_name": "Jo",
"last_name": "Doe",
"slug": "candidate_732999f1fc491eebbed0",
"full_name": "Jo Doe",
"email": "john.doe@example.com",
"phone": "+1234567890",
"resume": "",
"profile_picture": "",
"education_specialization": "",
"university": "",
"current_position": "",
"current_organization": "",
"last_organization": "",
"willing_to_relocate": 0,
"available_from": null,
"tags": "",
"skill": "",
"experience": 5,
"graduation_date": null,
"current_salary": 0,
"expected_salary": 80000,
"notice_period": 1,
"salary_type": null,
"description": "",
"source": "",
"nationality": "",
"address": "123 Main St, Anytown, USA",
"language": "",
"city": "Anytown",
"state": "NY",
"country": "USA",
"industry": 0,
"gender": {
"id": 0,
"label": "Not Available"
},
"owner": {
"id": 1,
"email": "Rohan@abc.com",
"first_name": "Rohan",
"last_name": "Sharma",
"full_name": "Rohan Sharma",
"role": "Admin",
"phone": null
},
"currency": {
"id": 1,
"country": "Albania",
"code": "ALL",
"currency": "Leke",
"symbol": "Lek"
},
"qualification": 0,
"socials": {
"linkedin": "",
"xing": ""
},
"created_at": "2024-08-23T16:51:23.000Z",
"updated_at": "2024-08-23T16:51:51.000Z",
"created_by": {
"id": 1,
"email": "Rohan@abc.com",
"first_name": "Rohan",
"last_name": "Sharma",
"full_name": "Rohan Sharma",
"role": "Admin",
"phone": null
},
"updated_by": {
"id": 1,
"email": "Rohan@abc.com",
"first_name": "Rohan",
"last_name": "Sharma",
"full_name": "Rohan Sharma",
"role": "Admin",
"phone": null
},
"custom_fields": [
{
"id": 1,
"field_name": "C Text asasa",
"field_type": "text",
"value": "Some custom value"
},
{
"id": 2,
"field_name": "C Date",
"field_type": "date",
"value": null
}
]
}