Create Candidates
/unified/ats/candidates
Query Parameters
Refer Specifying query parameters in Truto APIs
The job's unique identifier
1 supported1 required
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
applicantlead
1 supported
Show Truto-specific parameters
The ID of the integrated account to use for the request.
62f44730-dd91-461e-bd6a-aedd9e0ad79dThe format of the response.
unifiedreturns the response with unified mappings applied.rawreturns the unprocessed, raw response from the remote API.normalizedapplies the unified mappings and returns the data in a normalized format.streamreturns 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.
unifiedunifiedrawnormalizedstream
Excludes the remote_data attribute from the response.
Array of fields to exclude from the response.
truto_exclude_fields[]=id&truto_exclude_fields[]=nameQuery parameters to pass to the underlying API without any transformations. Refer this guide to see how to structure the query parameters.
remote_query[foo]=barRequest Body
Refer Writing data using Unified APIs
The candidate's attachments
The attachment's unique identifier
The attachment's application
1 property
Unique identifier of the application
The attachment's type
The attachment's candidate
1 property
Unique identifier of the candidate
The date and time of the attachment's creation
The attachment's file_name
The attachment's file_url
The attachment's job
1 property
Unique identifier of the job
The type of the attachment. If resume, set the value to resume, else leave it blank.
The date and time of the attachment's last update
The url of the attachment
The candidate's company
1 supported
The candidate's emails
1 supported
The candidate's email
The candidate's email type
The candidate's first_name
1 supported
1 supported1 required
The group_id of the job_form_field
The name of the job_form_field
The value for the job_form_field
The candidate's last_name
1 supported
1 supported
The candidate's locations
1 supported
The candidate's phone numbers
1 supported
The extension of the phone number
The candidate's phone number
The candidate's phone number type
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.
The candidate's tags
1 supported
The tag's unique identifier
The tag's name
The candidate's title
Response Body
The candidate's unique identifier
1 supported
The candidate's applications
1 supported
The date and time of the application's creation
The application's attachments
9 properties
The attachment's unique identifier
The attachment's application
1 property
Unique identifier of the application
The attachment's type
The attachment's candidate
1 property
Unique identifier of the candidate
The date and time of the attachment's creation
The attachment's file_name
The attachment's file_url
The attachment's job
1 property
Unique identifier of the job
The date and time of the attachment's last update
The application's candidate
1 property
Unique identifier of the candidate
The date and time of the application's creation
The application's credited_to
4 properties
3 properties
Email of the user
Whether the email is primary
Type of the email
First name of the user
Unique identifier of the user
Last name of the user
The application's current_stage
5 properties
The date and time of the application's current_stage's creation
The application's current_stage's unique identifier
The application's current_stage's job
1 property
Unique identifier of the job
The application's current_stage's name
The date and time of the application's current_stage's last update
The application's unique identifier
The application's job
1 property
Unique identifier of the job
The application's reject_reason
The date and time of the application's rejection
The application's source
2 properties
The application's source's unique identifier
The application's source's name
The date and time of the application's last update
The candidate's attachments
The attachment's unique identifier
The attachment's application
1 property
Unique identifier of the application
The attachment's type
The attachment's candidate
1 property
Unique identifier of the candidate
The date and time of the attachment's creation
The attachment's file_name
The attachment's file_url
The attachment's job
1 property
Unique identifier of the job
The date and time of the attachment's last update
Whether the candidate can email
The candidate's company
1 supported
The date and time of the phone number's creation
1 supported
The candidate's emails
1 supported
The candidate's email
The candidate's email type
The candidate's first_name
1 supported
Whether the candidate is_private
1 supported
The candidate's last_interaction date
1 supported
The candidate's last_name
1 supported
The candidate's locations
1 supported
The user's full name
1 supported
The candidate's phone numbers
1 supported
The extension of the phone number
The candidate's phone number
The candidate's phone number type
Raw data returned from the remote API call.
The candidate's tags
1 supported
The tag's unique identifier
The tag's name
The candidate's title
The date and time of the phone number's last update
1 supported
The candidate's urls
1 supported
The candidate's URL type
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())