---
title: "Recruitment - Add a candidate to a vacancy and score it"
method: POST
path: "/recruitment/vacancies/{VacancyPublicId}/candidates/manual"
tags: ["Exato - Recruitment"]
---

# Recruitment - Add a candidate to a vacancy and score it

`POST /recruitment/vacancies/{VacancyPublicId}/candidates/manual`

## Request

- Base URL: `https://api.exato.digital`
- URL: `https://api.exato.digital/recruitment/vacancies/{VacancyPublicId}/candidates/manual`
- Auth: API key in header `token`

Recruitment - Add a candidate to a vacancy and score it

## Path parameters

- `vacancy_public_id` string, required

## Query parameters

- `test_mode` boolean
- `lightweight` boolean

## Request body `application/x-www-form-urlencoded`

- object
  - `linkedin_url` string: Candidate LinkedIn profile URL — fetched + scored.
  - `cpf` string: Candidate CPF — reuses an existing candidate in the base (and their stored LinkedIn) when present.
  - `full_name` string: Candidate full name (optional).
  - `email` string: Candidate email (optional).
  - `resume_file_base64` string: CV file (base64 PDF/DOCX/TXT) — uploaded to S3 and scored. Alternative to resume_blob_ref.
  - `resume_file_extension` string: CV file extension (e.g. .pdf, .docx). Defaults to .pdf when resume_file_base64 is set.
  - `resume_blob_ref` string: Pre-uploaded CV reference (s3://...) — alternative to resume_file_base64.

## Response `200`

Success

- AddAndScoreCandidateResponse: AddAndScoreCandidateResponse
  - `api_result_type` string
  - `message` string
  - `result_type_code` integer
  - `result` AddAndScoreCandidateResult: AddAndScoreCandidateResult
    - `application_public_id` string
    - `candidate_public_id` string
    - `score_queued` boolean
    - `vacancy_public_id` string

---

[API](https://skmtc.dev/exato/apis/backend-apis.md) - [All operations](https://skmtc.dev/exato/apis/backend-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/exato/apis/backend-apis/revisions/c25e99bad8a4?raw)
