Scheduling
Telling us when the candidate is expected.
curl -X POST https://hiring-api.experthire.cloud/v1/assessments/$ASSESSMENT_ID/schedule \
-H "Authorization: Bearer $EH_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"start_at": 1767225600, "time_zone": "Asia/Kolkata"}'
Still a placeholder: $ASSESSMENT_ID, $EH_SECRET_KEY. Add them under Your values above.
{
"object": "assessment_schedule",
"assessment_id": "3b8e1d02-5c77-4c2a-8a41-9b2f7e6d4c10",
"status": "scheduled",
"start_at": 1767225600,
"end_at": 1767227400,
"livemode": false
}
We record the start and derive the end from the assessment's length, including the intro
buffer where one applies. time_zone is used in the candidate's reminders.
Calling it again on an already-scheduled assessment reschedules it.
There is no slots endpoint
Deliberately. There is no availability model behind this: we do not check capacity, recruiter calendars or conflicts. Offering slots would imply a guarantee that does not exist.
Pick the time in your own scheduler and tell us the result.
If you would rather not schedule at all
You do not have to. An assessment with a launch link works whenever the candidate opens it. Scheduling exists for the case where you want the time on record and reflected in the customer's dashboard and the candidate's reminders.
Rescheduling
Post to the same endpoint again with a new start_at. There is no separate reschedule
call. The response tells you it happened:
{
"object": "assessment_schedule",
"status": "scheduled",
"start_at": 1748955600,
"end_at": 1748957400,
"rescheduled": true,
"reschedule_count": 1
}
Cancelling
POST /v1/assessments/{id}/cancel withdraws it. Cancelling one that is already cancelled
returns it unchanged, so retrying is safe.
The credit comes back only if the assessment was never taken, meaning it is still
pending or scheduled and has no outcome. Once a candidate has attended, the work is
done and there is nothing to return.
Resume screens
A resume_screen has no call to attend, so scheduling one returns
unsupported_operation. Cancelling one works normally.