# Vacancy API

API for managing job vacancies. Supports creating, updating, duplicating, closing, and deleting vacancies, as well as managing their features (add, update, sort, and configure job automations). Includes endpoints to query vacancies by company, ID, or reference code. All endpoints require authentication via Bearer token or API Key.

Version: 3.0

## Servers

Development server
```
https://k8s-exp-api-dev.hunty.cloud
```

Production server
```
https://k8s-exp-api-stg.hunty.cloud
```

## Security

### bearer

Type: http
Scheme: bearer
Bearer Format: JWT

### x-auth-api-key

Type: apiKey
In: header
Name: x-auth-api-key

## Download OpenAPI description

 - [Vacancy API](https://docs.hunty.cloud/_bundle/apis/vacancy/index.yaml)

## Vacancy

 - [POST /v3/vacancies/company/{companyId}](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_createvacancy_v3.md): Creates a new vacancy for the specified company with the provided details.
 - [GET /v3/vacancies/company/{companyId}](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_getvacanciesbycompany_v3.md): Retrieves a paginated list of vacancies for a company. Supports filtering by search, statusCodes, areaIds, locationIds, countries and createdByUserIds.
 - [PATCH /v3/vacancies/{vacancyId}/company/{companyId}](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_updatevacancy_v3.md): Updates the vacancy with the specified ID for the given company.
 - [GET /v3/vacancies/{vacancyId}/company/{companyId}](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_getvacancybyid_v3.md): Retrieves the vacancy details for the specified vacancy ID and company ID.
 - [DELETE /v3/vacancies/{vacancyId}/company/{companyId}](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_deletevacancy_v3.md): Deletes the vacancy with the specified ID for the given company.
 - [POST /v3/vacancies/{vacancyId}/company/{companyId}/features](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_addfeaturetovacancy_v3.md): Adds a new feature to the specified vacancy for the given company.
 - [POST /v3/vacancies/{vacancyId}/company/{companyId}/features/{featureId}/task-list/regenerate](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_regenerateinterviewtasklist_v3.md): Triggers AI-based task list generation for the specified interview feature. If the result differs from the current task list, the version is incremented and the previous tasks are moved to history.
 - [PATCH /v3/vacancies/{vacancyId}/company/{companyId}/features/{featureId}](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_updatefeature_v3.md): Updates the specified feature within the given vacancy and company.
 - [DELETE /v3/vacancies/{vacancyId}/company/{companyId}/features/{featureId}](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_deletefeature_v3.md): Removes the specified feature from the given vacancy and company.
 - [PUT /v3/vacancies/{vacancyId}/company/{companyId}/features/{featureId}/data](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_updatefeaturedata_v3.md): Fully replaces the .data field of the specified feature. The body must include the feature code and the complete data object for that feature type.
 - [POST /v3/vacancies/{vacancyId}/company/{companyId}/features/{featureId}/duplicate-form](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_duplicateformintofeature_v3.md): Duplicates an existing company form (from any vacancy) and assigns the resulting draft to the given Form V2 feature. MOVE_TO_STEP targets are cleared; MOVE_TO_VACANCY targets are preserved as-is.
 - [PATCH /v3/vacancies/{vacancyId}/company/{companyId}/features/{featureId}/actions/{actionId}](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_updatefeatureactiontemplate_v3.md): Updates the templateId of the specified action within the given feature, vacancy, and company.
 - [PUT /v3/vacancies/{vacancyId}/company/{companyId}/features/sort](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_sortfeatures_v3.md): Replaces the order of all features within a vacancy. The body must include an entry for every feature of the vacancy.
 - [PUT /v3/vacancies/{vacancyId}/company/{companyId}/job-automations](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_updatevacancyjobautomations_v3.md): Fully replaces the .jobAutomations field of the specified vacancy.
 - [PUT /v3/vacancies/{vacancyId}/company/{companyId}/features/{featureId}/job-automations](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_updatefeaturejobautomations_v3.md): Fully replaces the .jobAutomations field of the specified feature. The body must include the feature code and the complete jobAutomations object for that feature type.
 - [POST /v3/vacancies/{vacancyId}/company/{companyId}/duplicate](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_duplicatevacancy_v3.md): Creates a copy of an existing vacancy. All fields are copied except: a new id and shortCode are assigned, features receive new ids. Name and refCode default to "(Copy)" suffix and null respectively, b
 - [PATCH /v3/vacancies/{vacancyId}/company/{companyId}/close](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_closevacancy_v3.md): Closes the vacancy with the specified ID for the given company.
 - [GET /v3/vacancies/company/{companyId}/refcode/{refCode}](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_getvacancybyrefcode_v3.md): Retrieves the vacancy details for the specified reference code and company ID.
 - [POST /v3/vacancies/{vacancyId}/company/{companyId}/features/{featureId}/interviewv2/questions/build](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_buildinterviewquestion_v3.md): Computes the AI criteria and rubric for a single question of the specified interview-v2 (V2) feature and returns them WITHOUT persisting. For DISQUALIFIER and QUALIFYING types the Question Planner gen
 - [POST /v3/vacancies/{vacancyId}/company/{companyId}/features/{featureId}/interviewv2/plan](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_generateinterviewv2plan_v3.md): Triggers the interview planner agent for the specified interview-v2 (V2) feature using the current vacancy state. Works for first-time generation (empty plan) and regeneration (existing plan). The gen
 - [POST /v3/vacancies/{vacancyId}/company/{companyId}/features/{featureId}/interviewv2/questions/validate](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_validateinterviewquestion_v3.md): Validates a recruiter-edited question, completion criteria and scoring rubric for the interview-v2 (V2) plan and returns the consistency result WITHOUT persisting. For DISQUALIFIER and QUALIFYING type
 - [GET /v3/vacancies/{vacancyId}/company/{companyId}/features/healthstatus](https://docs.hunty.cloud/apis/vacancy/vacancy/vacancyv3controller_getvacancyfeatureshealthstatus_v3.md): Retrieves the health status of features for the specified vacancy ID and company ID.
