Send exam invitations to candidates via API.
The Invitations API allows you to send exam invitations programmatically. Integrate with your ATS or recruiting workflow to automatically invite candidates when they apply.
/invitations| Name | Type | Required | Description |
|---|---|---|---|
| exam_id | string | Required | ID of exam to invite candidates to |
| candidates | array | Required | Array of candidate email addresses or IDs |
| expires_in_hours | integer | Optional | Invitation expiry (default: 168 hours / 7 days) |
| custom_message | string | Optional | Custom message to include in email |
| send_reminder | boolean | Optional | Send reminder 24h before expiry (default: true) |
curl -X POST https://talentscreens.org/api/v1/invitations \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"exam_id": "exam_abc123",
"candidates": ["candidate@example.com"],
"expires_in_hours": 72,
"custom_message": "We look forward to reviewing your assessment!"
}'{
"invitations": [
{
"id": "inv_def456",
"candidate_id": "cand_xyz789",
"email": "candidate@example.com",
"exam_id": "exam_abc123",
"status": "sent",
"expires_at": "2024-02-15T14:30:00Z",
"invitation_url": "https://talentscreens.org/exam/take?token=..."
}
]
}/invitations| Name | Type | Required | Description |
|---|---|---|---|
| exam_id | string | Optional | Filter by exam ID |
| status | string | Optional | Filter by status: sent, opened, started, completed, expired |
| candidate_id | string | Optional | Filter by candidate ID |
/invitations/{invitation_id}/resend/invitations/{invitation_id}Set appropriate expiry times based on your hiring timeline. Shorter expiry (24-48 hours) increases urgency but may miss candidates who need more time.
Was this article helpful?