Skip to content
POST /unified/ats/candidates

Query Parameters

Refer Specifying query parameters in Truto APIs

job_idstring

The job's unique identifier

1 supported1 required
Lever
required
application_sourcestring

Specifies whether the candidate is being created by the applicant (from Job Boards, Public Job Site, etc.) or being added as a lead by a user

Possible values:
applicantlead
1 supported
Lever
supported
Show Truto-specific parameters
integrated_account_idstring · uuid
required·

The ID of the integrated account to use for the request.

Example: 62f44730-dd91-461e-bd6a-aedd9e0ad79d
truto_response_formatstring

The format of the response.

  • unified returns the response with unified mappings applied.
  • raw returns the unprocessed, raw response from the remote API.
  • normalized applies the unified mappings and returns the data in a normalized format.
  • stream returns the response as a stream, which is ideal for transmitting large datasets, files, or binary data. Using streaming mode helps to efficiently handle large payloads or real-time data flows without requiring the entire data to be buffered in memory.

Defaults to unified.

Example: unified
Possible values:
unifiedrawnormalizedstream
truto_ignore_remote_databoolean

Excludes the remote_data attribute from the response.

truto_exclude_fieldsstring[]

Array of fields to exclude from the response.

Example: truto_exclude_fields[]=id&truto_exclude_fields[]=name
remote_queryRecord<string, any>

Query parameters to pass to the underlying API without any transformations. Refer this guide to see how to structure the query parameters.

Example: remote_query[foo]=bar

Request Body

Refer Writing data using Unified APIs

attachmentsobject[]

The candidate's attachments

idstring
required·

The attachment's unique identifier

applicationobject

The attachment's application

1 property
idstring

Unique identifier of the application

attachment_typestring

The attachment's type

candidateobject

The attachment's candidate

1 property
idstring

Unique identifier of the candidate

created_atstring · date-time

The date and time of the attachment's creation

file_namestring

The attachment's file_name

file_urlstring

The attachment's file_url

jobobject

The attachment's job

1 property
idstring

Unique identifier of the job

typestring

The type of the attachment. If resume, set the value to resume, else leave it blank.

updated_atstring · date-time

The date and time of the attachment's last update

urlstring

The url of the attachment

companystring

The candidate's company

1 supported
Lever
supported
emailsobject[]

The candidate's emails

1 supported
Lever
supported
emailstring

The candidate's email

typestring

The candidate's email type

first_namestring

The candidate's first_name

1 supported
Lever
supported
job_form_field_answersobject[]
1 supported1 required
Lever
required
group_idstring

The group_id of the job_form_field

namestring

The name of the job_form_field

valuestring

The value for the job_form_field

last_namestring

The candidate's last_name

1 supported
Lever
supported
links
1 supported
Lever
supported
locationsstring[]

The candidate's locations

1 supported
Lever
supported
phonesobject[]

The candidate's phone numbers

1 supported
Lever
supported
extensionstring

The extension of the phone number

numberstring

The candidate's phone number

typestring

The candidate's phone number type

remote_dataRecord<string, any>

Any additional data that should be passed as part of the request body. This data is not transformed by Truto and is passed as is to the remote API.

tagsobject[]

The candidate's tags

1 supported
Lever
supported
idstring

The tag's unique identifier

namestring

The tag's name

titlestring

The candidate's title

Response Body

idstring
required·

The candidate's unique identifier

1 supported
Lever
supported
applicationsobject[]

The candidate's applications

1 supported
Lever
supported
applied_atstring · date-time

The date and time of the application's creation

attachmentsobject[]

The application's attachments

9 properties
idstring
required·

The attachment's unique identifier

applicationobject

The attachment's application

1 property
idstring

Unique identifier of the application

attachment_typestring

The attachment's type

candidateobject

The attachment's candidate

1 property
idstring

Unique identifier of the candidate

created_atstring · date-time

The date and time of the attachment's creation

file_namestring

The attachment's file_name

file_urlstring

The attachment's file_url

jobobject

The attachment's job

1 property
idstring

Unique identifier of the job

updated_atstring · date-time

The date and time of the attachment's last update

candidateobject

The application's candidate

1 property
idstring

Unique identifier of the candidate

created_atstring · date-time

The date and time of the application's creation

credited_toobject

The application's credited_to

4 properties
emailsobject[]
3 properties
emailstring

Email of the user

is_primaryboolean

Whether the email is primary

typestring

Type of the email

first_namestring

First name of the user

idstring

Unique identifier of the user

last_namestring

Last name of the user

current_stageobject

The application's current_stage

5 properties
created_atstring · date-time

The date and time of the application's current_stage's creation

idstring

The application's current_stage's unique identifier

jobobject

The application's current_stage's job

1 property
idstring

Unique identifier of the job

namestring

The application's current_stage's name

updated_atstring · date-time

The date and time of the application's current_stage's last update

idstring

The application's unique identifier

jobobject

The application's job

1 property
idstring

Unique identifier of the job

reject_reasonstring

The application's reject_reason

rejected_atstring · date-time

The date and time of the application's rejection

sourceobject

The application's source

2 properties
idstring

The application's source's unique identifier

namestring

The application's source's name

updated_atstring · date-time

The date and time of the application's last update

attachmentsobject[]

The candidate's attachments

idstring
required·

The attachment's unique identifier

applicationobject

The attachment's application

1 property
idstring

Unique identifier of the application

attachment_typestring

The attachment's type

candidateobject

The attachment's candidate

1 property
idstring

Unique identifier of the candidate

created_atstring · date-time

The date and time of the attachment's creation

file_namestring

The attachment's file_name

file_urlstring

The attachment's file_url

jobobject

The attachment's job

1 property
idstring

Unique identifier of the job

updated_atstring · date-time

The date and time of the attachment's last update

can_emailboolean

Whether the candidate can email

companystring

The candidate's company

1 supported
Lever
supported
created_atstring · date-time

The date and time of the phone number's creation

1 supported
Lever
supported
emailsobject[]

The candidate's emails

1 supported
Lever
supported
emailstring

The candidate's email

typestring

The candidate's email type

first_namestring

The candidate's first_name

1 supported
Lever
supported
is_privatestring

Whether the candidate is_private

1 supported
Lever
supported
last_interaction_atstring · date-time

The candidate's last_interaction date

1 supported
Lever
supported
last_namestring

The candidate's last_name

1 supported
Lever
supported
locationsstring[]

The candidate's locations

1 supported
Lever
supported
namestring

The user's full name

1 supported
Lever
supported
phonesobject[]

The candidate's phone numbers

1 supported
Lever
supported
extensionstring

The extension of the phone number

numberstring

The candidate's phone number

typestring

The candidate's phone number type

remote_dataRecord<string, any>

Raw data returned from the remote API call.

tagsobject[]

The candidate's tags

1 supported
Lever
supported
idstring

The tag's unique identifier

namestring

The tag's name

titlestring

The candidate's title

updated_atstring · date-time

The date and time of the phone number's last update

1 supported
Lever
supported
urlsobject[]

The candidate's urls

1 supported
Lever
supported
typestring

The candidate's URL type

urlstring

The candidate's URL

curl -X POST 'https://api.truto.one/unified/ats/candidates?integrated_account_id=<integrated_account_id>' \
  -H 'Authorization: Bearer <your_api_token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "first_name": "your_first_name",
  "last_name": "your_last_name",
  "title": "your_title",
  "company": "your_company",
  "locations": [],
  "phones": [],
  "emails": [],
  "tags": [],
  "attachments": [],
  "job_form_field_answers": [],
  "remote_data": {}
}'
const integratedAccountId = '<integrated_account_id>';

const body = {
  "first_name": "your_first_name",
  "last_name": "your_last_name",
  "title": "your_title",
  "company": "your_company",
  "locations": [],
  "phones": [],
  "emails": [],
  "tags": [],
  "attachments": [],
  "job_form_field_answers": [],
  "remote_data": {}
};

const response = await fetch(`https://api.truto.one/unified/ats/candidates?integrated_account_id=${integratedAccountId}`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <your_api_token>',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
});

const data = await response.json();
console.log(data);
import requests

url = "https://api.truto.one/unified/ats/candidates"
headers = {
    "Authorization": "Bearer <your_api_token>",
    "Content-Type": "application/json",
}
params = {
    "integrated_account_id": "<integrated_account_id>"
}
payload = {
    "first_name": "your_first_name",
    "last_name": "your_last_name",
    "title": "your_title",
    "company": "your_company",
    "locations": [],
    "phones": [],
    "emails": [],
    "tags": [],
    "attachments": [],
    "job_form_field_answers": [],
    "remote_data": {}
}

response = requests.post(url, headers=headers, params=params, json=payload)
print(response.json())
import Truto from '@truto/truto-ts-sdk';

const truto = new Truto({
  token: '<your_api_token>',
});

const result = await truto.unifiedApi.create(
  'ats',
  'candidates',
  {
  "first_name": "your_first_name",
  "last_name": "your_last_name",
  "title": "your_title",
  "company": "your_company",
  "locations": [],
  "phones": [],
  "emails": [],
  "tags": [],
  "attachments": [],
  "job_form_field_answers": [],
  "remote_data": {}
},
  { integrated_account_id: '<integrated_account_id>' }
);

console.log(result);
import asyncio
from truto_python_sdk import TrutoApi

truto_api = TrutoApi(token="<your_api_token>")

async def main():
    result = await truto_api.unified_api.create(
        "ats",
        "candidates",
        {
        "first_name": "your_first_name",
        "last_name": "your_last_name",
        "title": "your_title",
        "company": "your_company",
        "locations": [],
        "phones": [],
        "emails": [],
        "tags": [],
        "attachments": [],
        "job_form_field_answers": [],
        "remote_data": {}
},
        {"integrated_account_id": "<integrated_account_id>"}
    )
    print(result)

asyncio.run(main())