Заголовки секретов: X-Bas-Bridge-Secret, X-Internal-Secret, Idempotency-Key (опц.), X-Bot-Notify-Secret для push в бота.
GET /get-task — взять задачу (пропускает отменённые пакеты в SQLite).POST /task — произвольный JSON как data, id генерируется.POST /requeue-task — полная задача; секрет: REQUEUE_API_SECRET или BAS_BRIDGE_SECRET.POST /result — DONE / ADDRESS_BAD / STATE_ERROR; тело см. формат BAS. Повтор с тем же Idempotency-Key вернёт кэш.GET /result/{line_uid} — память или SQLite.POST /internal/batch-register — JSON batch_id, chat_id, expected_lines; нужен INTERNAL_API_SECRET.POST /internal/batch-cancel — JSON batch_id; отмена + чистка очереди SQLite.POST /bas-bridge/poll/claim, /callback/heartbeat, /callback/result — заголовок X-Bas-Bridge-Secret.POST /bas-bridge-reserve/poll/claim, /callback/heartbeat, /callback/result — заголовок X-Bas-Reserve-Secret.POST /panel/api/reserve-bas/toggle — флаг bas_reserve_enabled.GET /panel/api/summary, GET /panel/api/search?q= — заголовок X-Panel-Token.QUEUE_BACKEND=sqlite INTERNAL_API_SECRET=... REQUEUE_API_SECRET=... # иначе используется BAS_BRIDGE_SECRET BAS_RESERVE_BRIDGE_SECRET=... # отдельный секрет для резервного BAS BAS_RESERVE_SLOTS=1 CS_BOT_NOTIFY_URL=http://127.0.0.1:8011/notify CS_BOT_NOTIFY_SECRET=... CS_BOT_NOTIFY_PER_LINE=1 # 0 + TG_DELIVERY_MODE=summary в боте — одно сообщение на пакет (поллер) CS_JSON_LOG=1 PANEL_STALE_QUEUE_SEC=300