Сценарий из mcp-everything. Актуально на 2026-10-24.
Заявка на подбор согласована во внутренней системе — вакансия появляется в Хантфлоу.
curl -X POST https://api.huntflow.ru/v2/accounts/<account_id>/vacancies \
-H "Authorization: Bearer $HF_TOKEN" -H 'Content-Type: application/json' \
-d '{
"position": "Python-разработчик",
"company": "Отдел разработки",
"money": "200 000 – 300 000 ₽",
"requirements": "<ul><li>Python 3, FastAPI</li></ul>",
"fill_quotas": [{"deadline": "2026-12-01", "applicants_to_hire": 2}]
}'
https://api.huntflow.ru/v2https://sandbox.huntflow.devhttps://api.huntflow.aiТип: Bearer-токен
Токен создаётся в настройках Хантфлоу: «Настройки» → «API» → «Добавить токен»; выдаётся пара access_token и refresh_token. Все запросы передают заголовок Authorization: Bearer <access_token>.
access_token действует 7 дней, refresh_token — 14 дней; если refresh-токен не использовать 14 дней, пару нужно создать заново.401 с type: authorization_error и detail: token_expired — тогда вызывайте POST /token/refresh.| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
account_id |
path | integer | да | ID организации |
count |
query | integer | нет | Элементов на странице, по умолчанию 30 |
page |
query | integer | нет | Номер страницы, по умолчанию 1 |
mine |
query | boolean | нет | Только вакансии, с которыми работает текущий пользователь |
state |
query | string | нет | Состояние вакансии (можно несколько) |
Также: GET/PUT/PATCH/DELETE /accounts/{account_id}/vacancies/{vacancy_id}; этапы подбора — GET /accounts/{account_id}/vacancies/statuses.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
account_id |
path | integer | да | ID организации |
position |
body | string | да | Название вакансии |
company |
body | string | нет | Отдел или компания |
account_division |
body | integer | нет | ID подразделения |
account_region |
body | integer | нет | ID региона |
money |
body | string | нет | Зарплата |
priority |
body | integer | нет | Приоритет |
hidden |
body | boolean | нет | Скрыть от коллег, по умолчанию false |
state |
body | string | нет | Состояние, по умолчанию OPEN |
coworkers |
body | array | нет | ID коллег, работающих с вакансией |
body |
body | string | нет | Обязанности (HTML) |
requirements |
body | string | нет | Требования (HTML) |
conditions |
body | string | нет | Условия (HTML) |
files |
body | array | нет | ID прикреплённых файлов |
fill_quotas |
body | array | да | Квота найма: deadline, applicants_to_hire (один элемент) |
account_id берётся из GET /accounts.GET /accounts/{account_id}/vacancies/statuses, причины отказа — из /rejection_reasons, источники резюме — из /applicants/sources.search_by_cursor.action_logs) и производственного календаря.Если этого недостаточно — официальная документация: https://api.huntflow.ru/v2/docs Вся интеграция одним документом: https://mcp-everything.ru/integrations/huntflow.md