Skip to main content
POST
Initiate AI Call
Use the same ats_job_id across multiple requests to call additional candidates on an existing campaign project.

Dynamic Variables

Both first_message and instructions support variable substitution using the {{variable_name}} syntax. first_message is optional and defaults to "Hello" if not provided.

Built-in Variables

These are automatically resolved from the candidate, project, and sender context:

WhatsApp Template Variables

When using whatsapp_notifications, the template_variables object accepts two value types:
  1. Built-in resolver reference{"body_1": "{{candidate_first_name}}"} resolves automatically using candidate/job/sender data.
  2. Literal text{"body_2": "Thursday, 21 May 2026, 6:00 PM..."} is passed through as-is.

Candidate Custom Fields

Each candidate object accepts an optional custom_fields object containing key-value pairs. These fields are stored on the candidate record.

Working Hours

When schedule_at is not provided, calls are scheduled immediately. Use call_settings.working_hours to restrict when calls can be placed.
  • enabled: true (default) or false to bypass working-hours checks.
  • Each day is a list of shifts with start_minute and end_minute in minutes from midnight UTC.
  • If the current time is outside all configured shifts, the call is delayed until the start of the next available shift.
  • schedule_at is always respected as-is and skips working-hours adjustment.

Example Request

Example Response

Authorizations

x-tidyhire-api-key
string
header
required

Your Tidyhire API key

Body

application/json
ats_job_id
string
required

A unique job identifier from your ATS. Must match a RIA campaign project.

Required string length: 1 - 200
Example:

"ats-job-12345"

candidates
object[]
required

List of candidates to call. Minimum 1, maximum 50 per request.

Required array length: 1 - 50 elements
instructions
string
required

AI behavior instructions for the call. Supports the same built-in variable substitution as first_message.

Minimum string length: 1
Example:

"You are a recruiter for {{sender_company}}. Screen the candidate about their experience with distributed systems."

first_message
string
default:Hello

Opening message the AI speaks when the candidate answers. Optional — defaults to "Hello". Supports built-in variables like {{candidate_first_name}} and {{sender_company}}.

Minimum string length: 1
Example:

"Hello {{candidate_first_name}}, this is {{sender_company}} calling."

assistant_settings
object

AI assistant configuration for the call. Defaults to a female English voice with standard recruiter behaviour. Book a call with the team to customize.

extract_variables
object[]

Optional data points to extract from the conversation. The AI will attempt to capture these values during the call.

call_settings
object

Optional retry policy, working hours, and WhatsApp notification configuration.

schedule_at
string<date-time>

ISO 8601 datetime to schedule the call for later. If omitted, the call is initiated immediately.

Example:

"2026-05-27T10:00:00Z"

Response

Success.

success
boolean
Example:

true

data
object
Last modified on August 11, 2026