diff --git a/Candidates/.gitkeep b/Candidates/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/Candidates/post_file.md b/Candidates/post_file.md
new file mode 100644
index 0000000000000000000000000000000000000000..962f6d2ecc98d539d93f0fdf77cd40ba2009563a
--- /dev/null
+++ b/Candidates/post_file.md
@@ -0,0 +1,114 @@
+# Добавить несколько файлов к кандидату - описание запроса
+
+`POST/open-api/objects/candidates/{candidateId}/file`
+
+Этот endpoint позволяет загрузить один файл к существующему кандидату. Для данного запроса необходимо передавать данные, используя многопартные запросы (multipart/form-data).Добавленный файл отобразится на вкладке "Вложения" в карточке кандидата.
+
+# Параметры и тело запроса
+
+## PATH PARAMETRS
+
+| **Id** | **Тип данных** | **Название и Описание** | **Допустимые форматы/значения** |
+| --- | --- | --- | --- |
+| `candidateId` | string | Id кандидата | **Обязательное поле** |
+
+## QUERY PARAMETRS
+
+| Id | Тип данных | Название и Описание | Допустимые форматы/значения |
+| --- | --- | --- | --- |
+| `fileType` | string | Тип файла. Допустимые значения: `resume` - Файл резюме, `avatar` - аватар (фото), `testResultDataFile` - результаты тестов, `documents` - прочие документы, `education` - документы об образовании | **Обязательное поле** |
+
+
+
+## REQUEST BODY SCHEMA
+
+| **Id** | **Тип данных** | **Название и Описание** | **Допустимые форматы/значения** |
+| --- | --- | --- | --- |
+| `file` | string <binary> | Файл. Поддерживаемые расширения - `.pdf`, `.doc`, `.docx`, `.rtf`, `.txt`,`.xls`, `.xlsx`, `.png`, `.jpg`, `.mpeg`, `.mp4`, `.avi`, `.mov`, `.mkv`, `.webm`, `.mp3`, `.midi`, `.wav`, `.pptx`, `.pptm`, `.potx`, `.potm`, `.msg`, `.eml`, `.ics`, `.vcs`. Размер файла - не более 10 Мб. | **Обязательное поле** |
+| | | | |
+
+# Responses
+
+## RESPONSE SCHEMA
+
+| **Id** | **Тип данных** | **Название и Описание** | **Допустимые форматы/значения** |
+| --- | --- | --- | --- |
+| `CandidateId` | string | Id кандидата | **Обязательное поле** |
+| `Result` | object (CandidateFileUploadResult) | Результат | **Обязательное поле** |
+
+Описание объекта `CandidateFileUploadResult`
+
+| **Id** | **Тип данных** | **Название и Описание** | **Допустимые форматы/значения** |
+| --- | --- | --- | --- |
+| `IsOk` | boolean | Успешно ли загружен файл | |
+| `FileId` | string | Id файла | |
+| `FileName` | string | Имя файла | |
+| `ErrorMessage` | string | Сообщение об ошибке | |
+
+# Примеры использования
+
+## Пример cURL запроса на добавление файла резюме к кандидату
+
+```cURL
+curl --location --globoff 'https://api.dev.skillaz.ru/open-api/objects/candidates/{candidateId}/file?fileType=resume' \
+--header 'Authorization: Bearer {token}' \
+--form 'file=@"/C:/Users/login/Рабочий стол/Резюме.pdf"'
+```
+
+## Ответ на успешный запрос
+
+Возвращается код `200 Успешно` с телом вида
+
+```JSON
+{
+ "CandidateId": "65d7105ce9aabc65e414bfc8",
+ "Result": {
+ "IsOk": true,
+ "FileId": "65ef22d38effba47b6cad790",
+ "FileName": "33.jpg",
+ "ErrorMessage": null
+ }
+}
+```
+
+## Примеры частых ошибок
+
+### Пример ошибки - слишком большой файл
+
+В ответе на запрос получите ошибку `400` с расшифровкой вида:
+
+```Json
+{
+ "errors": {
+ "": [
+ "Failed to read the request form. Request body too large. The max request body size is 10485760 bytes."
+ ]
+ },
+ "type": "https://api.skillaz.ru/help/swagger",
+ "title": "Validation error",
+ "status": 400,
+ "detail": "Please refer to the errors property for additional details.",
+ "instance": "/open-api/objects/candidates/65d7105ce9aabc65e414bfc8/file",
+ "requestId": "0HN1S9QQIIL0F:00000002"
+}
+```
+
+### Пример ошибки - не поддерживаемое расширение файла
+
+В ответе на запрос получите ошибку `400` с расшифровкой вида:
+
+```json
+{
+ "Type": "https://api.skillaz.ru/help/swagger",
+ "Title": "Failed to upload file",
+ "Status": 400,
+ "Detail": "allowedToAttachFileTypes. Поддерживаемые расширения - Pdf, Doc, DocX, Rtf, Txt, Xls, Xlsx, Png, Jpg, Mpeg, Mp4, Avi, Mov, Mkv, Webm, Mp3, Midi, Wav, Pptx, Pptm, Potx, Potm, Msg, Eml, Ics, Vcs",
+ "Instance": null,
+ "Extensions": {
+ "requestId": "0HN1S9QQIIL4D:00000001",
+ "externalRequestId": "685761c4680031c3825d94d22d5857e9"
+ }
+}
+```
+
+
diff --git a/Candidates/post_files.md b/Candidates/post_files.md
new file mode 100644
index 0000000000000000000000000000000000000000..33b8aea8fafd85989259277388364c7ed9e78a1c
--- /dev/null
+++ b/Candidates/post_files.md
@@ -0,0 +1,131 @@
+# Добавить несколько файлов к кандидату - описание запроса
+
+`POST /open-api/objects/candidates/{candidateId}/files`
+
+Этот endpoint позволяет загрузить сразу несколько файлов одного типа к существующему кандидату. Для данного запроса необходимо передавать данные, используя многопартные запросы (multipart/form-data). Добавленные файлы отобразятся на вкладке "Вложения" в карточке кандидата.
+
+# Параметры и тело запроса
+
+## PATH PARAMETRS
+
+| **Id** | **Тип данных** | **Название и Описание** | **Допустимые форматы/значения** |
+| --- | --- | --- | --- |
+| `candidateId` | string | Id кандидата | **Обязательное поле** |
+
+## QUERY PARAMETRS
+
+| Id | Тип данных | Название и Описание | Допустимые форматы/значения |
+| --- | --- | --- | --- |
+| fileType | string | Тип файла. Допустимые значения: `resume` - Файл резюме, `avatar` - аватар (фото), `testResultDataFile` - результаты тестов, `documents` - прочие документы, `education` - документы об образовании | **Обязательное поле** |
+
+- List item
+
+## REQUEST BODY SCHEMA
+
+| **Id** | **Тип данных** | **Название и Описание** | **Допустимые форматы/значения** |
+| --- | --- | --- | --- |
+| `files` | string <binary> | Файл. Поддерживаемые расширения - `.pdf`, `.doc`, `.docx`, `.rtf`, `.txt`,`.xls`, `.xlsx`, `.png`, `.jpg`, `.mpeg`, `.mp4`, `.avi`, `.mov`, `.mkv`, `.webm`, `.mp3`, `.midi`, `.wav`, `.pptx`, `.pptm`, `.potx`, `.potm`, `.msg`, `.eml`, `.ics`, `.vcs`. Размер файла - не более 10 Мб. | **Обязательное поле** |
+| | | | |
+
+# Responses
+
+## RESPONSE SCHEMA
+
+| **Id** | **Тип данных** | **Название и Описание** | **Допустимые форматы/значения** |
+| --- | --- | --- | --- |
+| `CandidateId` | string | Id кандидата | **Обязательное поле** |
+| `Results` | Array of objects (CandidateFileUploadResult) | Результаты | **Обязательное поле** |
+
+Описание объекта `CandidateFileUploadResult`
+
+| **Id** | **Тип данных** | **Название и Описание** | **Допустимые форматы/значения** |
+| --- | --- | --- | --- |
+| `IsOk` | boolean | Успешно ли загружен файл | |
+| `FileId` | string | Id файла | |
+| `FileName` | string | Имя файла | |
+| `ErrorMessage` | string | Сообщение об ошибке | |
+
+
+
+# Примеры использования
+
+## Пример cURL запроса на добавление файла резюме к кандидату
+
+```
+curl --location --globoff 'https://api.dev.skillaz.ru/open-api/objects/candidates/{candidateId}/files?fileType=documents' \
+--header 'Authorization: Bearer {token}' \
+--form 'files=@"/C:/Users/login/Рабочий стол/Результат медосмотра.pdf"'
+--form 'files=@"/C:/Users/login/Рабочий стол/Результат полиграфа.pdf"'
+```
+
+## Ответ на успешный запрос
+
+Возвращается код `200 Успешно` с телом вида
+
+```
+{
+ "CandidateId": "65d7105ce9aabc65e414bfc8",
+ "Result": {
+ "IsOk": true,
+ "FileId": "65ef22d38effba47b6cad790",
+ "FileName": "Результат медосмотра.pdf",
+ "ErrorMessage": null
+ },
+ {
+ "IsOk": true,
+ "FileId": "65ef22d38effba47b6cad790",
+ "FileName": "Результат полиграфа.pdf",
+ "ErrorMessage": null
+ }
+}
+```
+
+## Примеры частых ошибок
+
+### Пример ошибки - слишком большой файл
+
+Если хотя бы один файл в запросе превышает 10 Мб - в ответе на запрос получите ошибку `400` с расшифровкой вида:
+
+```
+{
+ "errors": {
+ "": [
+ "Failed to read the request form. Request body too large. The max request body size is 10485760 bytes."
+ ]
+ },
+ "type": "https://api.skillaz.ru/help/swagger",
+ "title": "Validation error",
+ "status": 400,
+ "detail": "Please refer to the errors property for additional details.",
+ "instance": "/open-api/objects/candidates/658af84a22923f1d8581a79c/files",
+ "requestId": "0HN2A9BE55OVM:00000001"
+}
+```
+
+Остальные файлы так же не загрузятся.
+
+### Пример ошибки - не поддерживаемое расширение файла
+
+Если один из файлов имеет неподходящее расширение - в ответе на запрос вы получите код `200 ОК`, но ошибка будет отражена в результате загрузки в isOk и ErrorMessage. Остальные файлы, прошедшие валидацию, будут загружены. Пример ответа:
+
+```
+{
+ "CandidateId": "658af84a22923f1d8581a79c",
+ "Results": [
+ {
+ "IsOk": true,
+ "FileId": "65fdab26a618e911fa358a0f",
+ "FileName": "Кузя.png",
+ "ErrorMessage": null
+ },
+ {
+ "IsOk": false,
+ "FileId": null,
+ "FileName": "check-list.json",
+ "ErrorMessage": "allowedToAttachFileTypes. Поддерживаемые расширения - Pdf, Doc, DocX, Rtf, Txt, Xls, Xlsx, Png, Jpg, Mpeg, Mp4, Avi, Mov, Mkv, Webm, Mp3, Midi, Wav, Pptx, Pptm, Potx, Potm, Msg, Eml, Ics, Vcs"
+ }
+ ]
+}
+```
+
+Если все загружаемые файлы будут иметь некорректный формат - в ответе все равно будет содержаться код `200 ОК`.