Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
f194fe4
1.0.1
adanilkina Mar 19, 2026
9c4e448
1.1.0
adanilkina Mar 19, 2026
346d2a0
1.2.0
adanilkina Mar 19, 2026
36f579c
1.3.0
adanilkina Mar 19, 2026
465c0ee
1.4.0
adanilkina Mar 19, 2026
d472e92
1.5.0
adanilkina Mar 19, 2026
249911c
1.6.0
adanilkina Mar 19, 2026
83871d6
1.7.0
adanilkina Mar 19, 2026
b94118f
1.8.0
adanilkina Mar 19, 2026
e0c6caf
1.9.0
adanilkina Mar 19, 2026
a1c3c6e
1.9.1
adanilkina Mar 19, 2026
5e24b40
1.10.0
adanilkina Mar 19, 2026
0f5b2ff
1.11.0
adanilkina Mar 19, 2026
b3300ba
1.11.1
adanilkina Mar 19, 2026
44c1fd6
1.12.0
adanilkina Mar 19, 2026
5e5e843
1.13.0
adanilkina Mar 19, 2026
c62e919
1.13.1
adanilkina Mar 19, 2026
1b310b4
1.13.2
adanilkina Mar 19, 2026
e868955
1.13.3
adanilkina Mar 19, 2026
2bb1301
1.14.0
adanilkina Mar 19, 2026
53bc56f
1.14.1
adanilkina Mar 19, 2026
cec45e5
1.15.0
adanilkina Mar 19, 2026
77b3010
1.15.1
adanilkina Mar 19, 2026
f11518e
1.16.0
adanilkina Mar 19, 2026
ee152a4
1.17.0
adanilkina Mar 19, 2026
0775169
1.17.1
adanilkina Mar 19, 2026
1365174
1.18.0
adanilkina Mar 19, 2026
bd51a0b
1.18.1
adanilkina Mar 19, 2026
91a2157
1.19.0
adanilkina Mar 19, 2026
5579674
1.19.1
adanilkina Mar 19, 2026
9a69139
1.19.2
adanilkina Mar 19, 2026
832294d
1.20.0
adanilkina Mar 19, 2026
6cf19c7
1.21.0
adanilkina Mar 19, 2026
90c22a5
1.22.0
adanilkina Mar 19, 2026
8159ca6
1.23.0
adanilkina Mar 19, 2026
f99eca4
1.24.0
adanilkina Mar 19, 2026
87590d1
1.24.1
adanilkina Mar 19, 2026
f44e14a
1.24.2
adanilkina Mar 19, 2026
bd71d51
1.24.3
adanilkina Mar 19, 2026
1bfca6b
1.25.0
adanilkina Mar 19, 2026
af154f9
1.25.1
adanilkina Mar 19, 2026
d2cb6c2
1.25.2
adanilkina Mar 19, 2026
a759123
1.26.0
adanilkina Mar 19, 2026
bf37c40
1.26.1
adanilkina Mar 19, 2026
1bb7d33
1.26.2
adanilkina Mar 19, 2026
ee503f2
1.27.0
adanilkina Mar 19, 2026
4fc1d09
1.28.0
adanilkina Mar 19, 2026
4511e34
1.29.0
adanilkina Mar 19, 2026
98309a1
1.30.0
adanilkina Mar 19, 2026
b00e064
1.30.1
adanilkina Mar 19, 2026
8d5fa8a
1.31.0
adanilkina Mar 19, 2026
befeda7
1.32.0
adanilkina Mar 19, 2026
5606cd6
1.33.0
adanilkina Mar 19, 2026
990be4f
1.33.1
adanilkina Mar 19, 2026
3adcd58
1.34.0
adanilkina Mar 19, 2026
8c1b763
1.34.1
adanilkina Mar 19, 2026
0b59cc8
1.35.0
adanilkina Mar 19, 2026
2874529
1.36.0
adanilkina Mar 19, 2026
0d897c6
Добавили инструкции по генерации дифов
adanilkina Mar 19, 2026
b12ce2c
1.37.0
doc-renew-app[bot] Mar 27, 2026
c8aacf3
1.37.1
doc-renew-app[bot] Apr 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,15 @@ HeadHunter API — это инструментарий для интеграци

## [OpenAPI](https://api.hh.ru/openapi/redoc)

Доступная в [OpenAPI](https://api.hh.ru/openapi/redoc) документация будет со временем дополняться.
Доступная в [OpenAPI](https://api.hh.ru/openapi/redoc) документация содержит всю актуальную информацию на текущий момент.
Методы, описанные в данной документации и доступные в OpenAPI, имеют соответствующую ссылку.

Спецификация HeadHunter API: [openapi.yml](https://api.hh.ru/openapi/specification/public).
История версий хранится в папке [versions](versions), [/versions/openapi.yml](versions/openapi.yml) содержит общую документацию,
предоставлен для ознакомления, информация в нем может "отставать", поэтому для получения актуальной документации лучше пользоваться страницей https://api.hh.ru/openapi/redoc.
Если не удается посмотреть изменения в файле openapi.yml в конкретном комите ([пример](https://github.com/hhru/api/commit/28745291577c518a72540bc1243415da26cbec64),
github не отображает крупные изменения в виде diff), можно сформировать файл с изменениями самостоятельно по [инструкции](docs/diff_instruction.md).

Актуальная спецификация HeadHunter API: [openapi.yml](https://api.hh.ru/openapi/specification/public).

<a name="content"></a>
## Содержание
Expand Down
31 changes: 31 additions & 0 deletions docs/diff_instruction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Получить diff “как на GitHub” для двух больших файлов документации

## Шаг 1 — Сгенерировать diff через git diff
Убедитесь, что git установлен:

```
git --version
```
Сгенерируйте diff для двух файлов и сохрани в файл:
```
git diff --no-index --minimal --histogram -- file1 file2 > changes.diff
```
где file1 и file2 — пути к сравниваемым файлам, файлы документации можно взять в папке [history](../versions/2026/history)


## Шаг 2 — Установить diff2html и отрисовать diff в HTML
Проверьте, что есть Node.js и npm:
```
node -v
npm -v
```

Сгенерируйте HTML (side-by-side как на GitHub):
```
npx diff2html-cli -i file -o preview -s side -- changes.diff
```

# Результат
После выполнения команды выше файл открывается автоматически, если этого не произошло, то надо открыть файл diff.html самостоятельно.

Также можно воспользоваться онлайн ресурсами, например https://www.oasdiff.com/diff или похожими.
51 changes: 51 additions & 0 deletions versions/2024/changelog_2024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Обновления API

<details>
<summary><strong>1.2.0 (2024-12-24)</strong></summary>

| Эндпоинт | Breaking | Пояснение |
| --- | --- | --- |
| `GET /negotiations` | Да ⚠️ | • изменены поля ответа: items<br>• изменены поля ответа: source |
| `GET /negotiations/active` | Да ⚠️ | • изменены поля ответа: items<br>• изменены поля ответа: source |
| `GET /negotiations/response` | Да ⚠️ | • изменены поля ответа: items |
| `GET /negotiations/{id}` | Да ⚠️ | • изменены поля ответа: source |

</details>

<details>
<summary><strong>1.1.0 (2024-12-17)</strong></summary>

| Эндпоинт | Breaking | Пояснение |
| --- | --- | --- |
| `GET /dictionaries` | Нет | • добавлены поля ответа: employment_form, fly_in_fly_out_duration, work_format, work_schedule_by_days, working_hours |
| `GET /resumes/{resume_id}/similar_vacancies` | Нет | • изменены поля ответа: items<br>• добавлены поля ответа: employment_form, fly_in_fly_out_duration, internship, night_shifts, work_format, work_schedule_by_days, working_hours<br>• изменены поля ответа: employment, schedule, working_days, working_time_intervals, working_time_modes |
| `GET /vacancies` | Нет | • изменены поля ответа: items<br>• добавлены поля ответа: employment_form, fly_in_fly_out_duration, internship, night_shifts, work_format, work_schedule_by_days, working_hours<br>• изменены поля ответа: employment, schedule, working_days, working_time_intervals, working_time_modes |
| `POST /vacancies` | Да ⚠️ | • добавлены поля тела запроса: employment_form, fly_in_fly_out_duration, internship, night_shifts, work_format, work_schedule_by_days, working_hours<br>• изменены поля тела запроса: employment, schedule, working_days, working_time_intervals, working_time_modes<br>• изменены поля ответа: errors<br>• изменены поля ответа: reason |
| `POST /vacancies/drafts` | Нет | • добавлены поля тела запроса: employment_form, fly_in_fly_out_duration, internship, night_shifts, work_format, work_schedule_by_days, working_hours<br>• изменены поля тела запроса: employment, schedule, working_days, working_time_intervals, working_time_modes |
| `GET /vacancies/drafts/{draft_id}` | Нет | • добавлены поля ответа: employment_form, fly_in_fly_out_duration, internship, night_shifts, work_format, work_schedule_by_days, working_hours<br>• изменены поля ответа: employment, schedule, working_days, working_time_intervals, working_time_modes |
| `PUT /vacancies/drafts/{draft_id}` | Нет | • добавлены поля тела запроса: employment_form, fly_in_fly_out_duration, internship, night_shifts, work_format, work_schedule_by_days, working_hours<br>• изменены поля тела запроса: employment, schedule, working_days, working_time_intervals, working_time_modes |
| `GET /vacancies/{vacancy_id}` | Нет | • добавлены поля ответа: employment_form, fly_in_fly_out_duration, internship, night_shifts, work_format, work_schedule_by_days, working_hours<br>• изменены поля ответа: employment, schedule, working_days, working_time_intervals, working_time_modes |
| `PUT /vacancies/{vacancy_id}` | Да ⚠️ | • добавлены поля тела запроса: employment_form, fly_in_fly_out_duration, internship, night_shifts, work_format, work_schedule_by_days, working_hours<br>• изменены поля тела запроса: employment, schedule, working_days, working_time_intervals, working_time_modes<br>• изменены поля ответа: errors<br>• изменены поля ответа: reason |
| `GET /vacancies/{vacancy_id}/related_vacancies` | Нет | • изменены поля ответа: items<br>• добавлены поля ответа: employment_form, fly_in_fly_out_duration, internship, night_shifts, work_format, work_schedule_by_days, working_hours<br>• изменены поля ответа: employment, schedule, working_days, working_time_intervals, working_time_modes |
| `GET /vacancies/{vacancy_id}/similar_vacancies` | Нет | • изменены поля ответа: items<br>• добавлены поля ответа: employment_form, fly_in_fly_out_duration, internship, night_shifts, work_format, work_schedule_by_days, working_hours<br>• изменены поля ответа: employment, schedule, working_days, working_time_intervals, working_time_modes |
| `GET /vacancy_conditions` | Нет | • добавлены поля ответа: employment_form, fly_in_fly_out_duration, work_format, work_schedule_by_days, working_hours<br>• изменены поля ответа: employment, schedule, working_days, working_time_intervals, working_time_modes |

</details>

<details>
<summary><strong>1.0.1 (2024-12-09)</strong></summary>

| Эндпоинт | Breaking | Пояснение |
| --- | --- | --- |
| `GET /negotiations/response` | Нет | • изменены поля ответа: items<br>• добавлены поля ответа: university_acronym |
| `GET /negotiations/{id}` | Нет | • изменены поля ответа: resume<br>• изменены поля ответа: education<br>• добавлены поля ответа: university_acronym |
| `GET /resumes` | Нет | • изменены поля ответа: items<br>• изменены поля ответа: education<br>• добавлены поля ответа: university_acronym |
| `POST /resumes` | Нет | • изменены поля тела запроса: education<br>• добавлены поля тела запроса: university_acronym |
| `GET /resumes/mine` | Нет | • изменены поля ответа: items<br>• изменены поля ответа: education<br>• добавлены поля ответа: university_acronym |
| `GET /resumes/{resume_id}` | Нет | • изменены поля ответа: education<br>• добавлены поля ответа: university_acronym |
| `PUT /resumes/{resume_id}` | Нет | • изменены поля тела запроса: education<br>• изменены поля тела запроса: primary<br>• добавлены поля тела запроса: university_acronym |
| `GET /vacancies/{vacancy_id}/resumes_by_status` | Нет | • изменены поля ответа: already_applied<br>• изменены поля ответа: education<br>• добавлены поля ответа: university_acronym |
| `GET /vacancies/{vacancy_id}/suitable_resumes` | Нет | • изменены поля ответа: items<br>• изменены поля ответа: education<br>• добавлены поля ответа: university_acronym |
| `GET /vacancies/{vacancy_id}/visitors` | Нет | • изменены поля ответа: items<br>• добавлены поля ответа: university_acronym |

</details>
Loading
Loading