# POST `/api/tasks`

Метод ставит индикаторы на сканирование и возвращает сведения о созданной задаче.

## Назначение

- Принимает сырой текст, сам извлекает индикаторы и формирует задачу для сканирования.
- Проверяет доступность активных провайдеров до помещения данных в очередь.

## Входные данные

- Поле `text` — обязательный исходный текст с потенциальными IOC. Минимальная длина — один символ.

## Результат

- Объект `task` с полями `id` (итоговый идентификатор), `iocs` (извлечённые индикаторы после разбора) и `input_text` (сохранённый сырой текст запроса).

## Особенности обработки

- Перед постановкой проверяется наличие токенов у всех активных провайдеров; отсутствие токена приводит к отказу с указанием имени сервиса.
- Пустой результат разбора текста приводит к ошибке валидации с описанием нарушения.
- Признак `cacheable` больше не используется и не передаётся в очередь: API возвращает только идентификатор задачи, извлечённые индикаторы и исходный текст.
- Все метаданные задачи сохраняются в БД при постановке: очередь остаётся для обработки IOC, а статус и содержимое доступны через таблицу `tasks`.
