Candidate Object Schema
The candidate object contains the metadata about a candidate
Field | Field Type | Description |
---|---|---|
id | Integer | Unique ID of the candidate |
first_name | String | First name of the candidate |
last_name | String | Last name of the candidate |
String | Email ID of the candidate | |
phone | String | Phone number of the candidate |
description | String | A brief description about the candidate. |
resume.file_name | String | File name of the resume. |
resume.content | String | Contents of the file in a Base64 encoded format. This field is available only for creating and editing resumes on a candidate. |
resume.file_url | Url (readonly) | A hyperlink which links to location where the resume can be downloaded. For example: Response Headers: Content-Disposition: attachment |
created_date | Timestamp (read only) | Timestamp of when the candidate was added to Trakstar Hire |
updated_date | Timestamp (read only) | Timestamp of when the candidate details were last updated. |
profile_data | Array of objects | In addition to the details above, Trakstar Hire allows you to add custom metadata to candidates. For example, you want to specify a candidate's github profile, or his salary expectation, then the the profile data will look like [{ "name" : "github profile", "value": "https://github.com/johndoe" }] Please note that editing the profile data via PATCH request will result in an automatic change of the field type to large_text . |
source | String | This represents the source to which a candidate is attributed to in Trakstar Hire. For example, if the candidate came from a job board called Acme Inc. then the source will be Acme Inc. |
source_type | String (read only) | Represents the source type. In cases when a candidate is created using the api, it will be API |
created_by | Object (read only) | An object representing the user who created the candidate which is the form{ "id": 1, "email": "[email protected]", "name": "John Doe" } |
assigned_to | Object (read only) | An object representing the user who is assigned to the candidate |
opening_id | Integer | Unique Id of the Opening to which the candidate belongs |
stage_id | Integer | Unique Id of the Stage to which the candidate belongs |
stage_name | String (read only) | Name of the Stage to which the candidate belongs |
state | String (read only) | Describes the state in which the candidate is. Can be one of ['in_process' 'hired' 'rejected' 'declined_offer' 'onhold' 'withdrawn' 'spam' 'archived' 'onhold_prospecting' 'did_not_convert'] |
state_metadata | Object (read only) | Additional information pertaining to a state. Like, HIRED or REJECTED are end states for a candidate. So, once you mark a candidate as one of the two states, you normally would have a reason. All the more important when you reject the said candidate.The state_metadata holds that extra reason and explanation information. "state_metadata": { "reason": "Not a fit", "explanation": "Underqualified" }, |
Example Candidate Object
{
"updated_date": 1473159406,
"first_name": "richard",
"last_name": "hendricks",
"description": "Test from API",
"resume": {
"content": "SGVsbG8gbXkgbmFtZSBpcyBhc2h3aW4uIGdpdmUgbWUgYSBqb2Iu",
"file_name": "hendricks resume.txt"
},
"email": "[email protected]",
"opening_id": 136691,
"created_date": 1473159405,
"source": "Email",
"source_type": "Upload",
"id": 11200501,
"stage_id": 12,
"stage_name": "Screening",
"assigned_to": {
"email": "[email protected]",
"id": 129021,
"name": "Hannibal Smith"
},
"state_metadata": {
"reason": "Not a fit",
"explanation": "Underqualified"
},
"created_by": null,
"phone": "8011290883",
"state": "in_process",
"profile_data": [
{
"name": "Linkedin",
"value": "https://www.linkedin.com/us/rhendricks"
},
{
"name": "Twitter",
"value": "https://twitter.com/rhendricks"
},
{
"name": "Current Location",
"value": "Silicon Valley, California"
}
]
}