In this article, you can read about how to update candidate data, remove candidates or nested objects, and manage candidate files via the API.
Update Candidate
Updating candidates is done through the POST method. The operation must be set to update and scope to candidate. The field candidateId is required — see Candidates: Retrieving Candidate Data via the API for the full list of updatable fields.
POST
https://api.recman.io/v2/post/Update Candidate – Nested Objects
To update a nested object — education, experience, employment, and so on — you must provide both candidateId and the nested object's own ID (e.g. educationId, employmentId), together with the field(s) you want to change. All sub-fields listed in Candidates: Creating Candidates and Nested Data via the API are available here — only the required ID differs (required for update/delete, not insert).
Update Candidate – Phone List
Phone numbers are updated the same way they are inserted — pass the phoneList field with the phone type (mobile, office, or home) and its new prefix/number.
Update Candidate – Associated Users
Provide the full new userIds array to change which users are associated with the candidate.
Update Candidate – Employee
If an employee object already exists on the candidate, submitting it again with the update operation (or even insert — see note in the previous article) will update the existing data rather than create a duplicate.
Update Candidate – Employment
Provide employmentId together with the fields to change, using the same sub-fields documented for employment in the creating article.
Delete Candidate
Deleting data is done through the POST method, with the operation set to delete. All delete operations across the different scopes work the same way.
To delete a candidate and all of its data, only candidateId is required.
| scope | candidate required |
| operation | delete required |
| candidateId | 1209594 required |
Remove fields vs. delete
If you want to remove the value of a simple field (e.g. email) or a field connected to a nested object, use the update operation instead. The delete operation is specifically for removing a nested object (e.g. an education entry) or removing a single value from an array field (e.g. one department from departmentIds).
Delete Candidate – Nested Objects
To delete a segment such as an education, experience, or skill entry, provide both the candidateId and the ID of the nested object you want to remove (e.g. education.id).
Delete a Specific Value Within an Object Field
To remove one or more values from an array field — such as a connected department or a driver's license type — provide the candidateId together with the field and the value(s) to remove. This follows the same structure as update/insert, only with the delete operation.
| Field | Example value to remove |
|---|---|
| departmentIds | [231, 232] |
| driversLicense | ['TRUCK'] |
Delete Candidate – Employments
Provide candidateId and the employmentId of the employment record to remove.
Delete Candidate – Phone List
Provide candidateId and the phone type (mobile, office, or home) to remove.
Delete Candidate – Associated Users
Provide candidateId and the userIds to disassociate from the candidate.
Get Candidate Files
GET
https://api.recman.io/v2/get/?key={{api_key}}
&scope=candidateFile&candidateId=5856609Download Candidate's Files
GET
https://api.recman.io/v2/get/?key={{api_key}}
&scope=candidateFile&candidateId=5856609&fileId=10721970&download=1Update Candidate File
POST
| scope | candidateFile required |
| operation | update required |
| candidateId | 5856609 required |
| fileId | 10721970 required |
| name | renamed_cv.pdf optional — new file name |
Delete Candidate File
POST
| scope | candidateFile required |
| operation | delete required |
| candidateId | 5856609 required |
| fileId | 10721970 required |
What's next
Continue with Candidates: Retrieving Candidate Data via the API for lookup and search options, or Candidates: Creating Candidates and Nested Data via the API to insert new records.