Skip to main content

Create a candidate

POST

/partner/v1.0/workday/candidates


Creates a new candidate invitation in the Pulsifi system.

To create a new candidate, the job must be published and have an active status in the Pulsifi system.


Headers

  • Accept : application/json
  • Content-Type : application/json
  • Authorization : Bearer {access_token}


Body

ext_job_id string Required
Workday job ID.

ext_candidate_id string Required
Workday candidate ID.

ext_application_id string Required
Workday candidate application ID.

email string (max 255 char) Required
The candidate's email address.

first_name string (max 255 char) Required
The candidate's first name.

last_name nullable string (max 255 char) Optional
The candidate's last name.

resume_base64 string (base64) Optional
Base64-encoded resume file content.

work_experiences array object Optional
A list of the candidate's work experiences. Max item of 10.
Child Parameters
role string (max 255 char) Required
Role title of the candidate in the organization.

organization string (max 255 char) Required
Name of the organization.

is_current boolean Required
Indicates whether the candidate is currently working at the organization.

responsibility_achievement nullable string (max 1000 char) Optional
Responsibilities and achievements of the candidate in the organization.

start_date string (YYYY-MM) Required
Start date of the work experience.

end_date nullable string (YYYY-MM) Optional
End date of the work experience.


Response

200 OK.

Parameters
candidate_id string (uuid)
The unique identifier for the candidate in the Pulsifi system.

ext_job_id string
Workday job ID.

ext_candidate_id string
Workday candidate ID.

ext_application_id boolean
Workday candidate application ID.

email string
The candidate's email address.

first_name string
The candidate's first name.

last_name string
The candidate's last name.

status enum (default is invited)
The status of the candidate's assessment.
  • pending
  • completed
  • failed

invitation_link string (URL)
A URL that the candidate can use to access the Pulsifi assessment.

invitation_expired_at string (UTC Date)
The expiration date and time of the invitation link.

created_at string (UTC Date)
The date and time when the invitation was created (in UTC format).


API Error Codes:

  • 400 - JOB_NOT_FOUND: The job does not exist on the Pulsifi platform.
  • 400 - NOT_ACTIVE_JOB: The job is not active; its status is either draft or closed.
  • 400 - UNABLE_TO_UPDATE_ACTIVE_JOB: Active jobs cannot be updated.
  • 400 - JOB_IS_CLOSED: The job has already been closed.
POST /partner/v1.0/workday/candidates
curl -X POST 'https://staging.api.pulsifi.me/partner/v1.0/workday/candidates' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-d '{
"ext_job_id": "<workday_job_id>",
"ext_candidate_id": "<workday_candidate_id>",
"ext_application_id": "<workday_application_id>",
"email": "johndoe@gmail.com",
"first_name": "John",
"last_name": "Doe",
"resume_base64": "base64 string",
"work_experiences": [
{
"organization": "Pulsifi",
"role": "Software Engineer",
"is_current": true,
"start_date": "2022-10",
"end_date": "2024-10",
"responsibilities_achievements": "Developing APIs."
}
]
}
'
Response
{
"candidate_id": "string",
"ext_job_id": "<workday_job_id>",
"ext_candidate_id": "<workday_candidate_id>",
"ext_application_id": "<workday_application_id>",
"email": "johndoe@gmail.com",
"first_name": "John",
"last_name": "Doe",
"status": "invited",
"invitation_link": "string",
"invitation_expired_at": "2024-12-31T23:59:59Z",
"created_at": "2024-09-02T10:30:00Z"
}