Inviting Candidates
There are three ways to get candidates into an assessment: direct invite by email, shared link, or the API/SDK.
Via the dashboard
- Open an assessment and click Invite Candidate
- Enter the candidate's name and email
- Click Send Invite
The candidate receives an email with a unique, one-time access link. The link contains a signed token that expires after 7 days.
Via the REST API
POST /v1/candidates/:assessmentId/invite
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "Jane Smith",
"email": "jane@example.com"
}
// Response
{
"data": {
"sessionId": "...",
"inviteLink": "https://assessment.yourdomain.com/a/your-slug?token=...",
"status": "INVITED"
}
}Via the SDK
const session = await alot.candidates.invite(assessmentId, {
name: 'Jane Smith',
email: 'jane@example.com',
})
console.log(session.inviteLink) // Share this with the candidateInvite email
The invite email includes:
- Assessment title
- Organization name
- Number of stages
- Time limit (if set)
- A call-to-action button linking to the assessment
Shared link (open access)
For public assessments without individual invites, share the assessment's direct URL:
https://assessment.yourdomain.com/a/{slug}Candidates fill in their name and email on arrival. A session is created automatically.
After completion
When a candidate submits their final stage:
- The session is marked
COMPLETED - A short-lived result token is generated
- The candidate is redirected to your configured
redirectUrlwith?result=<token> - If webhooks are enabled (PRO), a
candidate.completedevent is dispatched
Exchange the result token for the full session data via GET /v1/public/results/:token.
Candidate limits
- FREE plan — 50 candidate sessions per calendar month
- PRO plan — unlimited