Candidate Object Schema

The candidate object contains the metadata about a candidate

FieldField TypeDescription
idIntegerUnique ID of the candidate
first_nameStringFirst name of the candidate
last_nameStringLast name of the candidate
emailStringEmail ID of the candidate
phoneStringPhone number of the candidate
descriptionStringA brief description about the candidate.
resume.file_nameStringFile name of the resume.
resume.contentStringContents of the file in a Base64 encoded format. This field is available only for creating and editing resumes on a candidate.
A hyperlink which links to location where the resume can be downloaded.

(read only)
Timestamp of when the candidate was added to Trakstar Hire

(read only)
Timestamp of when the candidate details were last updated.
profile_dataArray of objectsIn 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": "" }]
source StringThis 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
(read only)
An object representing the user who created the candidate which is the form
{ "id": 1, "email": "[email protected]", "name": "John Doe" }
(read only)
An object representing the user who is assigned to the candidate
opening_id IntegerUnique Id of the Opening to which the candidate belongs
stage_id IntegerUnique 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": ""
      "name": "Twitter",
      "value": ""
      "name": "Current Location",
      "value": "Silicon Valley, California"