---
title: "Async ingest a single candidate"
method: POST
path: "/api/v2/postings/{posting_id}/candidates/async"
tags: ["Candidates"]
---

# Async ingest a single candidate

`POST /api/v2/postings/{posting_id}/candidates/async`

Queue a candidate for async processing through the interviewer's workflow. Returns an ingestion ID to track the job.

## Path parameters

- `posting_id` string, required

## Headers

- `X-API-KEY` string, nullable
- `Authorization` string, nullable
- `X-Workspace-Id` string, nullable

## Request body

- CandidateIngestRequest
  - `name` string, required — Candidate full name
  - `email` string, required — Candidate email address
  - `phone_number` string, nullable — Candidate phone number (E.164 format)
  - `metadata` object, nullable — 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.
  - `data` object, nullable — Additional candidate data

## Response `202`

Successful Response

- SingleResponseAsyncIngestResponse
  - `data` AsyncIngestResponse, required — Response after queuing an async ingest job.
    - `object` 'ingestion' — Object type identifier.
    - `ingestion_id` string, required — Unique identifier for this ingestion job.
    - `status` string — Status of the ingestion job.
  - `meta` object, nullable — Optional metadata. Shape varies by endpoint.

## Other responses

- `401` — Invalid or missing API key.
- `404` — Resource not found.
- `422` — Validation Error
- `429` — Rate limit exceeded.

---

[API](https://skmtc.net/heymilo/apis/heymilo-public-api.md) · [All operations](https://skmtc.net/heymilo/apis/heymilo-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/heymilo/heymilo-public-api/revisions/a93ca9c2c777/schema)
