diff --git a/DOCUMENT_ATTACH_API.md b/DOCUMENT_ATTACH_API.md
new file mode 100644
index 0000000..c3db4f7
--- /dev/null
+++ b/DOCUMENT_ATTACH_API.md
@@ -0,0 +1,251 @@
+# 📎 API для привязки документов к проекту/заявке
+
+## ✅ Готово к использованию!
+
+---
+
+## 🎯 Эндпоинт
+
+```
+POST https://crm.clientright.ru/api/n8n/documents/attach
+```
+
+---
+
+## 📋 Параметры запроса
+
+### Обязательные:
+| Параметр | Тип | Описание | Пример |
+|----------|-----|----------|--------|
+| `contact_id` | string | ID контакта в vTiger | `"320096"` |
+| `project_id` | string | ID проекта (полиса) в vTiger | `"396874"` |
+| `file_url` | string | Полный URL файла в S3 | `"https://s3.twcstorage.ru/..."` |
+| `file_name` | string | Имя файла | `"boarding_pass.pdf"` |
+
+### Опциональные:
+| Параметр | Тип | Описание | Пример |
+|----------|-----|----------|--------|
+| `ticket_id` | string | ID заявки в HelpDesk
**Если указан → привязка к заявке**
**Если не указан → привязка к проекту** | `"396935"` |
+| `file_type` | string | Описание типа документа | `"flight_delay_boarding_or_ticket"` |
+
+---
+
+## 🔧 Логика работы
+
+```
+┌─────────────────────────────────────────────┐
+│ POST /api/n8n/documents/attach │
+└─────────────────┬───────────────────────────┘
+ │
+ ▼
+ ┌────────────────┐
+ │ ticket_id есть?│
+ └────────┬───────┘
+ │
+ ┌─────────┴─────────┐
+ │ │
+ ДА НЕТ
+ │ │
+ ▼ ▼
+┌───────────────┐ ┌──────────────┐
+│ Привязка к │ │ Привязка к │
+│ HelpDesk │ │ Project │
+│ (заявке) │ │ (проекту) │
+└───────────────┘ └──────────────┘
+```
+
+---
+
+## 📤 Примеры запросов
+
+### 1️⃣ Привязка к проекту (без заявки)
+
+Используется когда файл относится к полису в целом, но еще нет конкретной заявки.
+
+```bash
+curl -X POST "https://crm.clientright.ru/api/n8n/documents/attach" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "contact_id": "320096",
+ "project_id": "396874",
+ "file_url": "https://s3.twcstorage.ru/f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c/clientright/test/policy_scan.pdf",
+ "file_name": "policy_E1000-302538529.pdf",
+ "file_type": "Скан полиса ERV"
+ }'
+```
+
+**Ответ:**
+```json
+{
+ "success": true,
+ "result": {
+ "document_id": "15x396940",
+ "document_numeric_id": "396940",
+ "attached_to": "project", // ✅ Привязан к проекту
+ "attached_to_id": "396874",
+ "file_name": "policy_E1000-302538529.pdf",
+ "file_type": "Скан полиса ERV",
+ "s3_bucket": "f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c",
+ "s3_key": "clientright/test/policy_scan.pdf",
+ "file_size": 125840,
+ "message": "Документ создан с правильными S3 метаданными и привязан к проекту"
+ }
+}
+```
+
+---
+
+### 2️⃣ Привязка к заявке (HelpDesk)
+
+Используется когда файл относится к конкретной заявке (страховому случаю).
+
+```bash
+curl -X POST "https://crm.clientright.ru/api/n8n/documents/attach" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "contact_id": "320096",
+ "project_id": "396874",
+ "ticket_id": "396935", // ✅ Указан ticket_id
+ "file_url": "https://s3.twcstorage.ru/f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c/clientright/test/boarding_pass.pdf",
+ "file_name": "boarding_pass_20251102.pdf",
+ "file_type": "flight_delay_boarding_or_ticket"
+ }'
+```
+
+**Ответ:**
+```json
+{
+ "success": true,
+ "result": {
+ "document_id": "15x396941",
+ "document_numeric_id": "396941",
+ "attached_to": "ticket", // ✅ Привязан к заявке
+ "attached_to_id": "396935",
+ "file_name": "boarding_pass_20251102.pdf",
+ "file_type": "flight_delay_boarding_or_ticket",
+ "s3_bucket": "f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c",
+ "s3_key": "clientright/test/boarding_pass.pdf",
+ "file_size": 85320,
+ "message": "Документ создан с правильными S3 метаданными и привязан к проекту"
+ }
+}
+```
+
+---
+
+## 🗂️ Типы файлов (file_type)
+
+Примеры значений для `file_type`:
+
+| Тип | Описание |
+|-----|----------|
+| `flight_delay_boarding_or_ticket` | Посадочный талон / билет при задержке рейса |
+| `flight_delay_confirmation` | Подтверждение задержки рейса |
+| `flight_cancel_confirmation` | Подтверждение отмены рейса |
+| `medical_receipt` | Медицинский чек |
+| `medical_report` | Медицинское заключение |
+| `luggage_delay_report` | Акт о задержке багажа |
+| `passport_scan` | Скан паспорта |
+| `policy_scan` | Скан страхового полиса |
+| `other` | Прочие документы |
+
+---
+
+## 📊 Интеграция с n8n
+
+### В workflow после загрузки файла в S3:
+
+```javascript
+// HTTP Request Node: POST /api/n8n/documents/attach
+{
+ "contact_id": "{{ $json.contact_id }}",
+ "project_id": "{{ $json.project_id }}",
+ "ticket_id": "{{ $json.ticket_id }}", // Опционально
+ "file_url": "{{ $json.s3_url }}",
+ "file_name": "{{ $json.original_filename }}",
+ "file_type": "{{ $json.document_type }}"
+}
+```
+
+### Ответ сохранить в Redis:
+
+```javascript
+// Добавить в session:
+{
+ ...session_data,
+ documents: [
+ ...session_data.documents,
+ {
+ document_id: $json.result.document_id,
+ file_name: $json.result.file_name,
+ file_type: $json.result.file_type,
+ attached_to: $json.result.attached_to,
+ uploaded_at: new Date().toISOString()
+ }
+ ]
+}
+```
+
+---
+
+## 🔍 Логи
+
+### Backend (FastAPI):
+```bash
+cd /var/www/fastuser/data/www/crm.clientright.ru/erv_platform
+docker-compose logs -f backend | grep "Attaching document"
+```
+
+**Пример вывода:**
+```
+📎 Attaching document: boarding_pass.pdf (type: flight_delay_boarding_or_ticket)
+ Contact: 320096, Project: 396874, Ticket: 396935
+📤 Sending to CRM: {...}
+✅ Document attached successfully. Response: {...}
+```
+
+### CRM (PHP):
+```bash
+tail -f /var/www/fastuser/data/www/crm.clientright.ru/logs/upload_documents.log
+```
+
+**Пример вывода:**
+```
+[2025-11-02 16:30:15] 🚀 Начинаем создание документов...
+[2025-11-02 16:30:15] 📄 Обрабатываем файл #0: boarding_pass.pdf
+[2025-11-02 16:30:16] ✅ Документ создан: 15x396941 (numeric: 396941)
+[2025-11-02 16:30:16] 📎 Привязываем к HelpDesk ticket_id: 396935
+[2025-11-02 16:30:17] ✅ Документ привязан к HelpDesk #396935
+```
+
+---
+
+## ⚠️ Обработка ошибок
+
+### 400 Bad Request - Отсутствуют обязательные поля
+```json
+{
+ "detail": "Обязательные поля: contact_id, project_id, file_url, file_name"
+}
+```
+
+### 500 Internal Server Error - Ошибка CRM
+```json
+{
+ "detail": "CRM error: Не найден Project ID 999999"
+}
+```
+
+### 504 Gateway Timeout - Таймаут CRM
+```json
+{
+ "detail": "Таймаут загрузки в CRM"
+}
+```
+
+---
+
+## ✅ Готово к использованию!
+
+Эндпоинт протестирован и готов к интеграции в n8n workflow! 🚀
+