# Общие исправления API: сентябрь 2026 `GET /api/v2/organizations/` и `GET /api/v2/organization-source-records/` используют одинаковый поиск по каноническим наименованиям (`name`, `full_name`, `short_name`), ИНН, КПП, ОГРН, ОГРИП и ОКПО. Слова запроса соединяются через AND, поля для каждого слова — через OR. Совпадение только в `payload`, URL, названии записи или технических идентификаторах не включает организацию в результат. Поиск и активные фильтры применяются до пагинации. `GET /api/v1/system/logs/` и `GET /api/v1/system/logs/export/` принимают `date_from`/`date_to` в формате `YYYY-MM-DD`. Границы включительны по `updated_at` в часовом поясе приложения (`TIME_ZONE`, сейчас UTC). Один `date_from` означает один день; один `date_to` ограничивает только конец периода. Некорректные даты, перевёрнутый период, неверный `batch_id` или неизвестный `ordering` возвращают 400. Порядок по умолчанию — `-updated_at, id`. Поддерживаются `updated_at`, `source`, `status`, `records_count` и обратные направления; сохранены существующие поля `id`, `batch_id`, `created_at`, `source_label`, `status_label`, `organizations_count` и сортировка по нескольким полям через запятую. Вторичный порядок по `id` стабилизирует строки с одинаковым значением. `source` сортируется по публичному slug карточки. Фильтры и порядок list/export совпадают, но export не ограничивается страницей. Права администратора сохранены. История экспортируется как `update-history.csv`: UTF-8 с BOM, разделитель `;`, CRLF, русские заголовки и подписи источников/статусов. Даты отображаются в часовом поясе приложения. Первые столбцы: «№», «Дата актуализации», «Источник», «Статус», «Количество записей»; далее идут сведения о пакете, организациях и результатах импорта. В XLSX санкций заголовки `rn`, `ogrn`, `inn`, `okpo` заменены русскими подписями, включая каждый файл при разбиении выгрузки. Порядок колонок, строковые идентификаторы, JSON/CSV санкций и ticket/download API сохранены. После обновления backend необходимо пересобрать подготовленные выгрузки командой `uv run python src/manage.py build_source_record_exports` в настроенном окружении сервиса: скачивание отдаёт опубликованные файлы, а не формирует книгу при запросе. При отмене загрузки вакансий между сохранением записей и контрольной точкой метаданные завершённой задачи остаются неизменными; следующий запуск повторяет последнюю организацию от сохранённой позиции в том же batch, включая позицию 0, если пакет уже содержит записи. Идемпотентное сохранение предотвращает дубликаты. Прогресс фоновых задач обновляется условным атомарным запросом: позднее меньшее значение не уменьшает процент, успешное завершение устанавливает 100%, ошибка сохраняет достигнутый процент и причину. Успех, ошибка и отмена окончательны; запоздавший callback или запрос отмены не меняет завершённую задачу. При ручном запуске карточки весь набор `refresh_task_ids` записывается до отправки первой задачи в очередь. Среднее включает завершённые части запуска. Если старый разрешённый запуск ещё работает, он остаётся в `active_tasks`; новая завершённая группа его не скрывает. Новый запуск нового реестра блокируется кодом 409 до завершения предыдущего.