Skip to main content
POST
/
api
/
v2
/
postings
/
{posting_id}
/
candidates
Ingest a single candidate
curl --request POST \
  --url https://api.heymilo.ai/api/v2/postings/{posting_id}/candidates \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '
{
  "name": "<string>",
  "email": "<string>",
  "phone_number": "+12065551234",
  "metadata": {
    "ats_stage": "phone_screen",
    "external_id": "candidate_xyz"
  },
  "data": {}
}
'
{
  "data": {
    "interview_id": "<string>",
    "interview_url": "<string>",
    "posting_id": "<string>",
    "object": "candidate",
    "candidate": {
      "interview_id": "<string>",
      "posting_id": "<string>",
      "name": "<string>",
      "email": "<string>",
      "status": "<string>",
      "object": "candidate",
      "candidate_id": "cand_def456",
      "score": 78.5,
      "interview_url": "https://candidates.heymilo.io/acme/i/D536A69A4090E13F",
      "workflow": {
        "steps": [
          {
            "step_id": "<string>",
            "order": 123,
            "status": "<string>",
            "started": true,
            "completed": true,
            "knocked_out": false,
            "last_updated_at": 1739713800
          }
        ],
        "all_complete": true,
        "last_activity_at": 1739715600
      },
      "agent_summary": {
        "resume": {
          "resume_score": 3.8,
          "is_eligible": true,
          "resume_link": "https://cdn.heymilo.io/resumes/abc123.pdf"
        },
        "web_interview": {
          "score": 82,
          "highlights": [
            "<string>"
          ],
          "audio_recording_link": "<string>",
          "video_recording_link": "<string>"
        },
        "sms": {
          "is_eligible": true,
          "criteria_passed": [
            "<string>"
          ],
          "criteria_failed": [
            "<string>"
          ],
          "messages_sent": 8
        },
        "form": {
          "is_complete": true,
          "is_eligible": true,
          "questions_answered": 5,
          "total_questions": 7
        }
      },
      "shortlisted": false,
      "dismissed": false,
      "metadata": {
        "ats_stage": "phone_screen",
        "external_id": "candidate_xyz"
      },
      "data": {},
      "interviewed_at": 1739713800,
      "created_at": 1739612400
    }
  },
  "meta": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.heymilo.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-API-KEY
string
header
required

API key for authentication. Pass your key in the X-API-KEY header.

Headers

X-API-KEY
string
required

Path Parameters

posting_id
string
required

Body

application/json
name
string
required

Candidate full name

Example:

"Jane Doe"

email
string
required

Candidate email address

Example:

"jane.doe@example.com"

phone_number
string | null

Candidate phone number (E.164 format)

Example:

"+12065551234"

metadata
Metadata · object

Set of key-value pairs for storing additional information on the candidate. Up to 50 keys, each key max 40 chars, each value max 500 chars.

Example:
{
"ats_stage": "phone_screen",
"external_id": "candidate_xyz"
}
data
Data · object

Additional candidate data

Response

Successful Response

data
IngestCandidateResponse · object
required

Response after successfully ingesting a candidate.

meta
Meta · object

Optional metadata. Shape varies by endpoint.