Skip to main content
POST

Authorizations

Authorization
string
header
required

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

application/json

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.

firstName
string
required

Candidate's first name (min 1, max 200 characters).

Required string length: 1 - 200
lastName
string
required

Candidate's last name (min 1, max 200 characters).

Required string length: 1 - 200
email
string<email>
required

Candidate's email address (must be valid email format, max 500 characters).

Maximum string length: 500
phone
string

Candidate's phone number.

resume
string<uri>

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.

currentJobTitle
string

Candidate's current job title.

currentCompany
string

Candidate's current company name.

city
string

City location. Required (together with country, educations, and workExperiences) when jobId is provided and shouldParseResume is false.

country
string

Country. Required (together with city, educations, and workExperiences) when jobId is provided and shouldParseResume is false.

skills

Array of skills (max 200 characters each) or a comma-separated string. Arrays will be converted to comma-separated strings.

Maximum string length: 200
linkedin
string

LinkedIn profile URL.

coverLetter
string

Cover letter text.

gender
enum<string>

Gender. Must be one of: "male", "female", "other", "Male", "Female", "Other".

Available options:
male,
female,
other,
Male,
Female,
Other
dateOfBirth
string<date>

Date of birth (ISO 8601 format).

nationality
string

Nationality.

industry
string

Industry.

category
string

Category.

jobId
integer

Job ID to associate the candidate with. If provided, resume scoring will be automatically enabled (consumes credits).

shouldParseResume
boolean
default:true

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
string

Majors/fields of study (comma-separated string or single value). Note: a string on input, but returned as an array of strings in responses.

summary
string

Professional summary (max 5000 characters).

Maximum string length: 5000
languages
string[]

Array of language strings (max 100 characters each).

Maximum string length: 100
educations
object[]

Array of education objects. Required (together with city, country, and workExperiences) when jobId is provided and shouldParseResume is false.

githubUrl
string<uri>

GitHub profile URL (must be valid URL).

certifications
object[]

Array of certification objects.

workExperiences
object[]

Array of work experience objects. Required (together with city, country, and educations) when jobId is provided and shouldParseResume is false.

projectExperiences
object[]

Array of project experience objects.

Response

Candidate created (or existing candidate returned when the email already exists).

Success envelope for the create-candidate endpoint.

status
enum<string>
required

Response status ("success").

Available options:
success
data
object
required