curl --request POST \
--url https://partner-api.taptalent.io/v1/partner/candidates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phone": "+1234567890",
"resume": "https://example.com/resumes/john-doe.pdf",
"currentJobTitle": "Software Engineer",
"currentCompany": "Tech Corp",
"city": "San Francisco",
"country": "United States",
"skills": [
"JavaScript",
"React",
"Node.js"
],
"linkedin": "https://linkedin.com/in/johndoe",
"coverLetter": "I am interested in joining your team...",
"gender": "Male",
"dateOfBirth": "1995-05-15",
"nationality": "American",
"industry": "Technology",
"category": "Engineering",
"jobId": 12345,
"shouldParseResume": true,
"majors": "Computer Science",
"summary": "Experienced software engineer with 5+ years...",
"languages": [
"English",
"Spanish"
],
"educations": [
{
"degree": "Bachelor's",
"university": "University of California",
"graduation_year": "2019"
}
],
"workExperiences": [
{
"title": "Senior Software Engineer",
"company": "Tech Corp",
"start_date": "2020-01-01",
"responsibilities": [
"Led development of...",
"Managed team of 5 engineers"
]
}
],
"projectExperiences": [
{
"title": "E-commerce Platform",
"technology_used": "React, Node.js, PostgreSQL",
"summary": [
"Built a full-stack e-commerce platform...",
"Implemented payment gateway integration"
]
}
],
"certifications": [
{
"name": "AWS Certified Solutions Architect",
"provider": "Amazon Web Services"
}
],
"githubUrl": "https://github.com/johndoe"
}
EOF{
"status": "success",
"data": {
"candidate": {
"id": 12345,
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phone": "+1234567890",
"currentJobTitle": "Software Engineer",
"currentCompany": "Tech Corp",
"city": "San Francisco",
"country": "United States",
"skills": [
"JavaScript",
"React",
"Node.js"
],
"resume": "https://storage.example.com/resumes/john-doe.pdf",
"coverLetter": "I am interested in joining your team...",
"majors": [
"Computer Science"
],
"summary": "Experienced software engineer with 5+ years...",
"languages": [
"English",
"Spanish"
],
"educations": [
{
"degree": "Bachelor's",
"field": "Computer Science",
"institution": "University of California",
"startDate": "2015-09-01",
"endDate": "2019-06-01"
}
],
"workExperiences": [
{
"title": "Senior Software Engineer",
"company": "Tech Corp",
"location": "San Francisco, CA",
"startDate": "2020-01-01",
"endDate": null,
"description": "Led development of..."
}
],
"projectExperiences": [
{
"name": "E-commerce Platform",
"description": "Built a full-stack e-commerce platform...",
"technologies": [
"React",
"Node.js",
"PostgreSQL"
]
}
],
"certifications": [
{
"name": "AWS Certified Solutions Architect",
"issuer": "Amazon Web Services",
"issueDate": "2022-03-15",
"expiryDate": "2025-03-15"
}
],
"githubUrl": "https://github.com/johndoe",
"linkedin": "https://linkedin.com/in/johndoe",
"gender": "Male",
"dateOfBirth": "1995-05-15",
"nationality": "American",
"industry": "Technology",
"category": "Engineering"
},
"jobCandidateId": 67890,
"isExisting": false,
"isAlreadyInJob": false
}
}Add a candidate
Create a new candidate in your company.
- Duplicate email handling: if a candidate with the same email
already exists, the existing candidate is returned with
isExisting: trueinstead of creating a duplicate. - Job association: if
jobIdis provided, the candidate is associated with that job andjobCandidateIdis returned; resume scoring is automatically enabled (consumes credits). If the candidate is already in the job,isAlreadyInJobistruein the response. - Resume parsing: by default (
shouldParseResume: true), a providedresumeURL is downloaded, stored, and parsed asynchronously (consumes credits). The webhook eventsresume.single_parse.completedandresume.single_parse.failedare sent when parsing completes or fails. - Scoring without parsing: if
shouldParseResumeisfalseandjobIdis provided, you must includecity,country,educations, andworkExperiencesfor scoring to work; otherwise the request fails withMISSING_SCORING_FIELDS(the missing field names are listed indetails.missingFields). - Response structure: all miscellaneous fields (educations, workExperiences, etc.) are flattened to the top level of the returned candidate object.
- Validation: all fields are validated against a schema; invalid requests return detailed field-specific error messages.
curl --request POST \
--url https://partner-api.taptalent.io/v1/partner/candidates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phone": "+1234567890",
"resume": "https://example.com/resumes/john-doe.pdf",
"currentJobTitle": "Software Engineer",
"currentCompany": "Tech Corp",
"city": "San Francisco",
"country": "United States",
"skills": [
"JavaScript",
"React",
"Node.js"
],
"linkedin": "https://linkedin.com/in/johndoe",
"coverLetter": "I am interested in joining your team...",
"gender": "Male",
"dateOfBirth": "1995-05-15",
"nationality": "American",
"industry": "Technology",
"category": "Engineering",
"jobId": 12345,
"shouldParseResume": true,
"majors": "Computer Science",
"summary": "Experienced software engineer with 5+ years...",
"languages": [
"English",
"Spanish"
],
"educations": [
{
"degree": "Bachelor's",
"university": "University of California",
"graduation_year": "2019"
}
],
"workExperiences": [
{
"title": "Senior Software Engineer",
"company": "Tech Corp",
"start_date": "2020-01-01",
"responsibilities": [
"Led development of...",
"Managed team of 5 engineers"
]
}
],
"projectExperiences": [
{
"title": "E-commerce Platform",
"technology_used": "React, Node.js, PostgreSQL",
"summary": [
"Built a full-stack e-commerce platform...",
"Implemented payment gateway integration"
]
}
],
"certifications": [
{
"name": "AWS Certified Solutions Architect",
"provider": "Amazon Web Services"
}
],
"githubUrl": "https://github.com/johndoe"
}
EOF{
"status": "success",
"data": {
"candidate": {
"id": 12345,
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phone": "+1234567890",
"currentJobTitle": "Software Engineer",
"currentCompany": "Tech Corp",
"city": "San Francisco",
"country": "United States",
"skills": [
"JavaScript",
"React",
"Node.js"
],
"resume": "https://storage.example.com/resumes/john-doe.pdf",
"coverLetter": "I am interested in joining your team...",
"majors": [
"Computer Science"
],
"summary": "Experienced software engineer with 5+ years...",
"languages": [
"English",
"Spanish"
],
"educations": [
{
"degree": "Bachelor's",
"field": "Computer Science",
"institution": "University of California",
"startDate": "2015-09-01",
"endDate": "2019-06-01"
}
],
"workExperiences": [
{
"title": "Senior Software Engineer",
"company": "Tech Corp",
"location": "San Francisco, CA",
"startDate": "2020-01-01",
"endDate": null,
"description": "Led development of..."
}
],
"projectExperiences": [
{
"name": "E-commerce Platform",
"description": "Built a full-stack e-commerce platform...",
"technologies": [
"React",
"Node.js",
"PostgreSQL"
]
}
],
"certifications": [
{
"name": "AWS Certified Solutions Architect",
"issuer": "Amazon Web Services",
"issueDate": "2022-03-15",
"expiryDate": "2025-03-15"
}
],
"githubUrl": "https://github.com/johndoe",
"linkedin": "https://linkedin.com/in/johndoe",
"gender": "Male",
"dateOfBirth": "1995-05-15",
"nationality": "American",
"industry": "Technology",
"category": "Engineering"
},
"jobCandidateId": 67890,
"isExisting": false,
"isAlreadyInJob": false
}
}Authorizations
Company-scoped API key. Production keys are prefixed sk_live_,
sandbox keys sk_test_, each followed by 22 base62 characters
(pattern ^sk_(live|test)_[0-9A-Za-z]{22}$). Generate keys in the
TapTalent dashboard under Account Settings → Developers → API Key
Management; a key is shown once at generation and old keys are
invalidated immediately on regeneration.
Body
Request body for creating a candidate. Note that the nested request objects (educations, workExperiences, projectExperiences, certifications) use different field names than the corresponding response objects — see each Input schema's description.
Candidate's first name (min 1, max 200 characters).
1 - 200Candidate's last name (min 1, max 200 characters).
1 - 200Candidate's email address (must be valid email format, max 500 characters).
500Candidate's phone number.
URL to candidate's resume file (must start with http:// or
https://). If provided and shouldParseResume is true, the resume
will be downloaded, stored, and parsed.
Candidate's current job title.
Candidate's current company name.
City location. Required (together with country, educations,
and workExperiences) when jobId is provided and
shouldParseResume is false.
Country. Required (together with city, educations, and
workExperiences) when jobId is provided and
shouldParseResume is false.
Array of skills (max 200 characters each) or a comma-separated string. Arrays will be converted to comma-separated strings.
200LinkedIn profile URL.
Cover letter text.
Gender. Must be one of: "male", "female", "other", "Male", "Female", "Other".
male, female, other, Male, Female, Other Date of birth (ISO 8601 format).
Nationality.
Industry.
Category.
Job ID to associate the candidate with. If provided, resume scoring will be automatically enabled (consumes credits).
Whether to parse the resume. Default: true. Set to false if
you're providing parsed data directly (educations,
workExperiences, etc.). If false and jobId is provided,
city, country, educations, and workExperiences are
required for scoring to work.
Majors/fields of study (comma-separated string or single value). Note: a string on input, but returned as an array of strings in responses.
Professional summary (max 5000 characters).
5000Array of language strings (max 100 characters each).
100Array of education objects. Required (together with city,
country, and workExperiences) when jobId is provided and
shouldParseResume is false.
Show child attributes
Show child attributes
GitHub profile URL (must be valid URL).
Array of certification objects.
Show child attributes
Show child attributes
Array of work experience objects. Required (together with city,
country, and educations) when jobId is provided and
shouldParseResume is false.
Show child attributes
Show child attributes
Array of project experience objects.
Show child attributes
Show child attributes
Was this page helpful?
.png?fit=max&auto=format&n=lKy84_BssSCy2hcz&q=85&s=ac7c949427cc2893306f6036415f087e)