{"openapi":"3.1.0","info":{"title":"Bible Desktop API","version":"1.0.0","description":"Все HTTP-маршруты /api. Публичные чтения, каталог переводов, календарь, богослужебные тексты, обучение, переводчик, профиль и служебные интеграции."},"servers":[{"url":"https://bible-desktop.com/api","description":"Текущий сервер Bible Desktop"}],"tags":[{"name":"Библия"},{"name":"Обзор"},{"name":"Словари и атласы"},{"name":"Книги"},{"name":"Календарь"},{"name":"Молитвы и службы"},{"name":"Иконы"},{"name":"Материалы"},{"name":"Азбука и цифирь"},{"name":"Переводчик"},{"name":"Помощник"},{"name":"Профиль"},{"name":"Служебные"}],"paths":{"/languages":{"get":{"tags":["Библия"],"summary":"Активные языки","description":"","operationId":"get_languages","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/home":{"get":{"tags":["Обзор"],"summary":"Сводка главной страницы","description":"","operationId":"get_home","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/statistics":{"get":{"tags":["Обзор"],"summary":"Статистика опубликованного содержимого и загруженных словарных архивов","description":"","operationId":"get_statistics","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/offline/packages":{"get":{"tags":["Обзор"],"summary":"Манифест полных офлайн-пакетов словарей, толкований и Стронга с SHA-256 и размером","description":"","operationId":"get_offline_packages","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/offline/packages/{code}":{"get":{"tags":["Обзор"],"summary":"Скачать ZIP-пакет из манифеста","description":"","operationId":"get_offline_packages_code_","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","example":"STRONG"}}],"responses":{"200":{"description":"Изображение","content":{"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/png":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"code":"STRONG"},"x-query-example":{}}},"/translations":{"get":{"tags":["Библия"],"summary":"Каталог переводов","description":"offline_size_estimate_bytes — положительное безопасное целое или null: опубликованная сумма байтов JSON-ответов глав с annotations=1 до HTTP-сжатия, без каталога и заголовков HTTP. content_revision — SHA-256 опубликованных chapter/catalog payloads или null. Нет расчёта, неполные главы или устаревание дают null обоих полей. Размер установленной базы и точный сетевой трафик этим не измеряются. Контракт и команда: docs/OFFLINE_PACKAGES.md.","operationId":"get_translations","parameters":[{"name":"language","in":"query","required":false,"description":"Код языка","schema":{"type":"string","example":""}},{"name":"catalog","in":"query","required":false,"description":"public (по умолчанию), available (все опубликованные) или all (включая неопубликованные)","schema":{"type":"string","example":"available"}},{"name":"codes","in":"query","required":false,"description":"Коды переводов через запятую","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"catalog":"available"}}},"/me/bible-translations":{"get":{"tags":["Библия"],"summary":"Личные подключённые переводы","description":"","operationId":"get_me_bible_translations","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}]},"put":{"tags":["Библия"],"summary":"Сохранить личный выбор переводов","description":"","operationId":"put_me_bible_translations","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":true,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"codes":["L1_RST"]}}}}}},"/me/commentary-modules":{"get":{"tags":["Библия"],"summary":"Личные подключённые толкования","description":"","operationId":"get_me_commentary_modules","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}]},"put":{"tags":["Библия"],"summary":"Сохранить выбор толкований","description":"","operationId":"put_me_commentary_modules","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":true,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"codes":[]}}}}}},"/me/dictionary-modules":{"get":{"tags":["Словари и атласы"],"summary":"Личные подключённые словари","description":"","operationId":"get_me_dictionary_modules","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}]},"put":{"tags":["Словари и атласы"],"summary":"Сохранить личный выбор словарей","description":"","operationId":"put_me_dictionary_modules","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":true,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"codes":[]}}}}}},"/canons/{canon}/books":{"get":{"tags":["Библия"],"summary":"Книги канона","description":"","operationId":"get_canons_canon_books","parameters":[{"name":"canon","in":"path","required":true,"schema":{"type":"string","example":"orthodox"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"canon":"orthodox"},"x-query-example":{}}},"/translations/{translationCode}/books":{"get":{"tags":["Библия"],"summary":"Книги перевода","description":"","operationId":"get_translations_translationCode_books","parameters":[{"name":"translationCode","in":"path","required":true,"schema":{"type":"string","example":"BQ_CSL_PNM"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"translationCode":"BQ_CSL_PNM"},"x-query-example":{}}},"/translations/{translationCode}/verse-locations":{"get":{"tags":["Библия"],"summary":"Место канонического стиха в переводе","description":"Возвращает существующие verse_id, osis_ref, book_slug, chapter_number и verse_number. Глава берётся из module_chapters; отсутствующие стихи пропускаются. Только активные публичные Bible-модули. Передайте ровно один из двух списков.","operationId":"get_translations_translationCode_verse_locations","parameters":[{"name":"translationCode","in":"path","required":true,"schema":{"type":"string","example":"BQ_CSL_PNM"}},{"name":"verses[]","in":"query","required":false,"description":"1–200 различных положительных canonical verse ID","schema":{"type":"string","example":""}},{"name":"osis_refs[]","in":"query","required":false,"description":"Альтернатива verses[]: 1–200 различных одиночных OSIS-ссылок Book.chapter.verse","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"translationCode":"BQ_CSL_PNM"},"x-query-example":{}}},"/translations/{translationCode}/supplemental-texts":{"get":{"tags":["Библия"],"summary":"Дополнительные тексты перевода","description":"","operationId":"get_translations_translationCode_supplemental_texts","parameters":[{"name":"translationCode","in":"path","required":true,"schema":{"type":"string","example":"BQ_CSL_PNM"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"translationCode":"BQ_CSL_PNM"},"x-query-example":{}}},"/translations/{translationCode}/books/{bookSlug}/chapters/{chapter}":{"get":{"tags":["Библия"],"summary":"Стихи главы","description":"Для обычного чтения используйте plain_text; text может содержать разметку и номера Стронга. annotations=1 добавляет структуру из сохранённого исходника: заголовки, примечания, абзацы, выделенные/добавленные слова и токены Стронга. При status=available все позиции UTF-16 относятся к этому plain_text; при отсутствии исходника status=not_preserved. Контракт: docs/BIBLE_TEXT_ANNOTATIONS.md.","operationId":"get_translations_translationCode_books_bookSlug_chapters_chapter_","parameters":[{"name":"translationCode","in":"path","required":true,"schema":{"type":"string","example":"BQ_CSL_PNM"}},{"name":"bookSlug","in":"path","required":true,"schema":{"type":"string","example":"john"}},{"name":"chapter","in":"path","required":true,"schema":{"type":"string","example":"3"}},{"name":"annotations","in":"query","required":false,"description":"1 — запрашивать сохранённую структуру; по умолчанию прежний ответ","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"translationCode":"BQ_CSL_PNM","bookSlug":"john","chapter":"3"},"x-query-example":{}}},"/strong/{number}":{"get":{"tags":["Библия"],"summary":"Словарная статья Стронга","description":"H/G ограничивает язык исходного слова, а не язык статьи. Номер без префикса требует однозначного словаря либо контекста verse. Неизвестная или конфликтующая область не подменяется другой статьёй. canonical_number содержит нормализованный H/G-номер, scope — H или G; number сохраняет исходный ключ.","operationId":"get_strong_number_","parameters":[{"name":"number","in":"path","required":true,"schema":{"type":"string","example":"G25"}},{"name":"verse","in":"query","required":false,"description":"ID стиха для определения H/G, если номер без префикса","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"number":"G25"},"x-query-example":{}}},"/verses/{verse}/strong-tokens":{"get":{"tags":["Библия"],"summary":"Слова Стронга для стиха","description":"","operationId":"get_verses_verse_strong_tokens","parameters":[{"name":"verse","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"verse":"1"},"x-query-example":{}}},"/verses/{verse}/cross-references":{"get":{"tags":["Библия"],"summary":"Параллельные места стиха","description":"","operationId":"get_verses_verse_cross_references","parameters":[{"name":"verse","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"verse":"1"},"x-query-example":{}}},"/lectionary":{"get":{"tags":["Библия"],"summary":"Проверенные исходные варианты зачал","description":"","operationId":"get_lectionary","parameters":[{"name":"book","in":"query","required":true,"description":"OSIS-код книги Нового Завета","schema":{"type":"string","example":"Luke"}},{"name":"number","in":"query","required":false,"description":"Номер зачала, 1–335; без номера все опубликованные варианты книги","schema":{"type":"string","example":"19"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"book":"Luke","number":"19"}}},"/commentary-modules":{"get":{"tags":["Библия"],"summary":"Каталог подключаемых толкований","description":"","operationId":"get_commentary_modules","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/commentary-modules/{moduleCode}/media/{media}":{"get":{"tags":["Библия"],"summary":"Изображение исходного толкования из приватного хранилища","description":"","operationId":"get_commentary_modules_moduleCode_media_media_","parameters":[{"name":"moduleCode","in":"path","required":true,"schema":{"type":"string","example":"MB_COM_TEST"}},{"name":"media","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Изображение","content":{"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/png":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"moduleCode":"MB_COM_TEST","media":"1"},"x-query-example":{}}},"/dictionaries":{"get":{"tags":["Словари и атласы"],"summary":"Опубликованные словари, атласы и модули словоформ","description":"","operationId":"get_dictionaries","parameters":[{"name":"language","in":"query","required":false,"description":"Код языка","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/dictionaries/lookup":{"get":{"tags":["Словари и атласы"],"summary":"Точная нормализация словоформ","description":"","operationId":"get_dictionaries_lookup","parameters":[{"name":"q","in":"query","required":false,"description":"Словоформа","schema":{"type":"string","example":"Canaan"}},{"name":"modules","in":"query","required":false,"description":"Коды модулей через запятую","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"q":"Canaan"}}},"/dictionaries/{moduleCode}/search":{"get":{"tags":["Словари и атласы"],"summary":"CU словарь: исходное/гражданское слово или русское значение","description":"","operationId":"get_dictionaries_moduleCode_search","parameters":[{"name":"moduleCode","in":"path","required":true,"schema":{"type":"string","example":"AZBYKA_CU_FULL"}},{"name":"q","in":"query","required":false,"description":"Слово или значение; пусто для просмотра","schema":{"type":"string","example":"абие"}},{"name":"mode","in":"query","required":false,"description":"word (префикс) или meaning (подстрока)","schema":{"type":"string","example":"word"}},{"name":"letter","in":"query","required":false,"description":"Номер раздела из alphabet: 1–36","schema":{"type":"string","example":""}},{"name":"limit","in":"query","required":false,"description":"1–100, default30","schema":{"type":"string","example":""}},{"name":"offset","in":"query","required":false,"description":"Смещение","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"moduleCode":"AZBYKA_CU_FULL"},"x-query-example":{"q":"абие","mode":"word"}}},"/dictionaries/{moduleCode}/alphabet":{"get":{"tags":["Словари и атласы"],"summary":"Словарные разделы с исходными названиями и числом статей","description":"","operationId":"get_dictionaries_moduleCode_alphabet","parameters":[{"name":"moduleCode","in":"path","required":true,"schema":{"type":"string","example":"AZBYKA_CU_FULL"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"moduleCode":"AZBYKA_CU_FULL"},"x-query-example":{}}},"/dictionaries/analyze":{"post":{"tags":["Словари и атласы"],"summary":"Словарный разбор CU фразы, без генерации перевода/морфологии/аудио","description":"","operationId":"post_dictionaries_analyze","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"module":"AZBYKA_CU_FULL","text":"абие"}}}}}},"/dictionaries/{moduleCode}/entries":{"get":{"tags":["Словари и атласы"],"summary":"Оглавление и поиск статей","description":"","operationId":"get_dictionaries_moduleCode_entries","parameters":[{"name":"moduleCode","in":"path","required":true,"schema":{"type":"string","example":"MB_DICT_ABC"}},{"name":"q","in":"query","required":false,"description":"Название статьи","schema":{"type":"string","example":""}},{"name":"limit","in":"query","required":false,"description":"1–100","schema":{"type":"string","example":""}},{"name":"offset","in":"query","required":false,"description":"Смещение","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"moduleCode":"MB_DICT_ABC"},"x-query-example":{}}},"/dictionaries/{moduleCode}/entries/{entry}":{"get":{"tags":["Словари и атласы"],"summary":"Текст статьи, карты и явные библейские ссылки","description":"","operationId":"get_dictionaries_moduleCode_entries_entry_","parameters":[{"name":"moduleCode","in":"path","required":true,"schema":{"type":"string","example":"MB_DICT_ABC"}},{"name":"entry","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"moduleCode":"MB_DICT_ABC","entry":"1"},"x-query-example":{}}},"/dictionaries/{moduleCode}/media/{media}":{"get":{"tags":["Словари и атласы"],"summary":"Изображение карты из приватного архива","description":"","operationId":"get_dictionaries_moduleCode_media_media_","parameters":[{"name":"moduleCode","in":"path","required":true,"schema":{"type":"string","example":"MB_DICT_ABC"}},{"name":"media","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Изображение","content":{"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/png":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"moduleCode":"MB_DICT_ABC","media":"1"},"x-query-example":{}}},"/bible/books/{bookSlug}/dictionary-entries":{"get":{"tags":["Словари и атласы"],"summary":"Словарные статьи со ссылкой на всю библейскую книгу","description":"","operationId":"get_bible_books_bookSlug_dictionary_entries","parameters":[{"name":"bookSlug","in":"path","required":true,"schema":{"type":"string","example":"genesis"}},{"name":"modules","in":"query","required":false,"description":"Коды модулей через запятую","schema":{"type":"string","example":""}},{"name":"limit","in":"query","required":false,"description":"1–100","schema":{"type":"string","example":""}},{"name":"offset","in":"query","required":false,"description":"Смещение","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"bookSlug":"genesis"},"x-query-example":{}}},"/bible/books/{bookSlug}/chapters/{chapter}/dictionary-entries":{"get":{"tags":["Словари и атласы"],"summary":"Статьи со ссылкой на книгу или главу и её стихи","description":"","operationId":"get_bible_books_bookSlug_chapters_chapter_dictionary_entries","parameters":[{"name":"bookSlug","in":"path","required":true,"schema":{"type":"string","example":"genesis"}},{"name":"chapter","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"modules","in":"query","required":false,"description":"Коды модулей через запятую","schema":{"type":"string","example":""}},{"name":"limit","in":"query","required":false,"description":"1–100","schema":{"type":"string","example":""}},{"name":"offset","in":"query","required":false,"description":"Смещение","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"bookSlug":"genesis","chapter":"1"},"x-query-example":{}}},"/verses/{verse}/dictionary-entries":{"get":{"tags":["Словари и атласы"],"summary":"Статьи с явной ссылкой на канонический стих","description":"","operationId":"get_verses_verse_dictionary_entries","parameters":[{"name":"verse","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"modules","in":"query","required":false,"description":"Коды модулей через запятую","schema":{"type":"string","example":""}},{"name":"limit","in":"query","required":false,"description":"1–100","schema":{"type":"string","example":""}},{"name":"offset","in":"query","required":false,"description":"Смещение","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"verse":"1"},"x-query-example":{}}},"/bible/books/{bookSlug}/commentaries":{"get":{"tags":["Библия"],"summary":"Толкования ко всей библейской книге","description":"placement: before, after или null; направление только по проверенной исходной разметке, provenance в placement_source. Нулевые координаты не означают before. Контракт: docs/BIBLE_COMMENTARY_IMPORT.md.","operationId":"get_bible_books_bookSlug_commentaries","parameters":[{"name":"bookSlug","in":"path","required":true,"schema":{"type":"string","example":"genesis"}},{"name":"modules","in":"query","required":false,"description":"Коды модулей через запятую","schema":{"type":"string","example":""}},{"name":"scope","in":"query","required":false,"description":"general — только общие материалы (chapter_from=0 OR verse_from=0); без параметра прежняя выдача","schema":{"type":"string","example":""}},{"name":"limit","in":"query","required":false,"description":"1–100","schema":{"type":"string","example":""}},{"name":"offset","in":"query","required":false,"description":"Смещение","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"bookSlug":"genesis"},"x-query-example":{}}},"/bible/books/{bookSlug}/chapters/{chapter}/commentaries":{"get":{"tags":["Библия"],"summary":"Толкования к главе и содержащимся в ней стихам","description":"placement: before, after или null; только подтверждённое размещение, источник в placement_source. scope=general фильтрует до подсчёта total и пагинации.","operationId":"get_bible_books_bookSlug_chapters_chapter_commentaries","parameters":[{"name":"bookSlug","in":"path","required":true,"schema":{"type":"string","example":"genesis"}},{"name":"chapter","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"modules","in":"query","required":false,"description":"Коды модулей через запятую","schema":{"type":"string","example":""}},{"name":"scope","in":"query","required":false,"description":"general — только общие материалы книги/главы; без параметра прежняя выдача","schema":{"type":"string","example":""}},{"name":"limit","in":"query","required":false,"description":"1–100","schema":{"type":"string","example":""}},{"name":"offset","in":"query","required":false,"description":"Смещение","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"bookSlug":"genesis","chapter":"1"},"x-query-example":{}}},"/verses/{verse}/commentaries":{"get":{"tags":["Библия"],"summary":"Толкования канонического стиха","description":"","operationId":"get_verses_verse_commentaries","parameters":[{"name":"verse","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"modules","in":"query","required":false,"description":"Коды подключённых модулей через запятую","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"verse":"1"},"x-query-example":{}}},"/books":{"get":{"tags":["Книги"],"summary":"Отдельные книги толкований","description":"","operationId":"get_books","parameters":[{"name":"q","in":"query","required":false,"description":"Поиск по названию или автору","schema":{"type":"string","example":""}},{"name":"limit","in":"query","required":false,"description":"1–100","schema":{"type":"string","example":""}},{"name":"offset","in":"query","required":false,"description":"Смещение","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/books/{book}":{"get":{"tags":["Книги"],"summary":"Оглавление книги","description":"","operationId":"get_books_book_","parameters":[{"name":"book","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"limit","in":"query","required":false,"description":"1–100","schema":{"type":"string","example":""}},{"name":"offset","in":"query","required":false,"description":"Смещение","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"book":"1"},"x-query-example":{}}},"/books/{book}/sections/{section}":{"get":{"tags":["Книги"],"summary":"Текст раздела книги","description":"","operationId":"get_books_book_sections_section_","parameters":[{"name":"book","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"section","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"book":"1","section":"1"},"x-query-example":{}}},"/verses/{verse}/notes":{"get":{"tags":["Библия"],"summary":"Примечания к стиху","description":"","operationId":"get_verses_verse_notes","parameters":[{"name":"verse","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"X-Demo-User-Id","in":"header","required":false,"description":"ID демонстрационного пользователя","schema":{"type":"integer"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"verse":"1"},"x-query-example":{}},"post":{"tags":["Библия"],"summary":"Добавить примечание","description":"Создаёт личное примечание. Если X-Demo-User-Id не задан, используется демонстрационная учётная запись.","operationId":"post_verses_verse_notes","parameters":[{"name":"verse","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"X-Demo-User-Id","in":"header","required":false,"description":"ID демонстрационного пользователя","schema":{"type":"integer"}}],"responses":{"201":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":true,"x-auth-kind":"public","x-path-example":{"verse":"1"},"x-query-example":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"body":"Текст примечания"}}}}}},"/search/verses":{"get":{"tags":["Библия"],"summary":"Поиск стихов и ссылок","description":"","operationId":"get_search_verses","parameters":[{"name":"q","in":"query","required":false,"description":"Текст или ссылка","schema":{"type":"string","example":"Иоан 3:16"}},{"name":"translation","in":"query","required":false,"description":"Код перевода","schema":{"type":"string","example":""}},{"name":"limit","in":"query","required":false,"description":"1–50","schema":{"type":"string","example":"10"}},{"name":"scope","in":"query","required":false,"description":"all, old, new, psalms","schema":{"type":"string","example":""}},{"name":"match","in":"query","required":false,"description":"all_words, phrase, partial, fuzzy","schema":{"type":"string","example":""}},{"name":"canonical","in":"query","required":false,"description":"Только канонические","schema":{"type":"string","example":""}},{"name":"apocrypha","in":"query","required":false,"description":"Только второканонические","schema":{"type":"string","example":""}},{"name":"offset","in":"query","required":false,"description":"Смещение","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"q":"Иоан 3:16","limit":"10"}}},"/calendar/day":{"get":{"tags":["Календарь"],"summary":"День календаря","description":"","operationId":"get_calendar_day","parameters":[{"name":"date","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string","example":"2026-10-09"}},{"name":"lang","in":"query","required":false,"description":"ru, cu, de, uk, pl","schema":{"type":"string","example":"ru"}},{"name":"profile","in":"query","required":false,"description":"typikon-strict или parish","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"date":"2026-10-09","lang":"ru"}}},"/calendar/month":{"get":{"tags":["Календарь"],"summary":"Дни месяца","description":"","operationId":"get_calendar_month","parameters":[{"name":"year","in":"query","required":true,"description":"1900–2200, обязательно","schema":{"type":"string","example":"2026"}},{"name":"month","in":"query","required":true,"description":"1–12, обязательно","schema":{"type":"string","example":"10"}},{"name":"lang","in":"query","required":false,"description":"ru, cu, de, uk, pl","schema":{"type":"string","example":""}},{"name":"profile","in":"query","required":false,"description":"typikon-strict или parish","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"year":"2026","month":"10"}}},"/calendar/service":{"get":{"tags":["Календарь"],"summary":"План службы","description":"","operationId":"get_calendar_service","parameters":[{"name":"date","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string","example":"2026-10-09"}},{"name":"office","in":"query","required":false,"description":"Например sixth-hour","schema":{"type":"string","example":"sixth-hour"}},{"name":"profile","in":"query","required":false,"description":"typikon-strict или parish","schema":{"type":"string","example":""}},{"name":"lang","in":"query","required":false,"description":"ru, cu, cu-civil","schema":{"type":"string","example":""}},{"name":"expansion","in":"query","required":false,"description":"short или full","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"date":"2026-10-09","office":"sixth-hour"}}},"/v1/liturgical/services/{office}":{"get":{"tags":["Молитвы и службы"],"summary":"Проверенная датированная служба","description":"Экспериментальный API выключен по умолчанию (404). Неполная или непроверенная служба возвращает 409 без blocks/fragments; описание маршрута не означает готовность к публикации. Контекст и ограничения: docs/WORSHIP_API_IMPLEMENTATION.md.","operationId":"get_v1_liturgical_services_office_","parameters":[{"name":"office","in":"path","required":true,"schema":{"type":"string","example":"liturgy"}},{"name":"date","in":"query","required":true,"description":"YYYY-MM-DD","schema":{"type":"string","example":""}},{"name":"language","in":"query","required":false,"description":"cu-civil, cu или ru","schema":{"type":"string","example":""}},{"name":"sequence","in":"query","required":false,"description":"default, standalone, with-vespers, after-matins, after-third-hour","schema":{"type":"string","example":""}},{"name":"calendarStyle","in":"query","required":false,"description":"julian, gregorian или revised-julian","schema":{"type":"string","example":""}},{"name":"temple","in":"query","required":false,"description":"Код настроенного храма, только для liturgy; альтернатива templeProfile","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"office":"liturgy"},"x-query-example":{}}},"/v1/calendar":{"get":{"tags":["Календарь"],"summary":"Обнаружение календарного API","description":"","operationId":"get_v1_calendar","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/v1/calendar/today":{"get":{"tags":["Календарь"],"summary":"Календарь: today","description":"","operationId":"get_v1_calendar_today","parameters":[{"name":"lang","in":"query","required":false,"description":"ru, cu, de, uk, pl","schema":{"type":"string","example":"ru"}},{"name":"profile","in":"query","required":false,"description":"typikon-strict или parish","schema":{"type":"string","example":""}},{"name":"view","in":"query","required":false,"description":"full или summary","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"lang":"ru"}}},"/v1/calendar/day":{"get":{"tags":["Календарь"],"summary":"Календарь: day","description":"","operationId":"get_v1_calendar_day","parameters":[{"name":"date","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string","example":"2026-10-09"}},{"name":"lang","in":"query","required":false,"description":"ru, cu, de, uk, pl","schema":{"type":"string","example":""}},{"name":"profile","in":"query","required":false,"description":"typikon-strict или parish","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"date":"2026-10-09"}}},"/v1/calendar/month":{"get":{"tags":["Календарь"],"summary":"Календарь: month","description":"","operationId":"get_v1_calendar_month","parameters":[{"name":"year","in":"query","required":false,"description":"1900–2200","schema":{"type":"string","example":"2026"}},{"name":"month","in":"query","required":false,"description":"1–12","schema":{"type":"string","example":"10"}},{"name":"lang","in":"query","required":false,"description":"ru, cu, de, uk, pl","schema":{"type":"string","example":""}},{"name":"profile","in":"query","required":false,"description":"typikon-strict или parish","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"year":"2026","month":"10"}}},"/v1/calendar/year":{"get":{"tags":["Календарь"],"summary":"Календарь: year","description":"","operationId":"get_v1_calendar_year","parameters":[{"name":"year","in":"query","required":false,"description":"1900–2200","schema":{"type":"string","example":"2026"}},{"name":"lang","in":"query","required":false,"description":"ru, cu, de, uk, pl","schema":{"type":"string","example":""}},{"name":"profile","in":"query","required":false,"description":"typikon-strict или parish","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"year":"2026"}}},"/v1/calendar/editor-year":{"get":{"tags":["Календарь"],"summary":"Календарь: editor-year","description":"","operationId":"get_v1_calendar_editor_year","parameters":[{"name":"year","in":"query","required":true,"description":"1900–2200","schema":{"type":"string","example":"2026"}},{"name":"lang","in":"query","required":false,"description":"ru, cu, de, uk, pl","schema":{"type":"string","example":""}},{"name":"profile","in":"query","required":false,"description":"typikon-strict или parish","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"year":"2026"}}},"/v1/calendar/pascha":{"get":{"tags":["Календарь"],"summary":"Календарь: pascha","description":"","operationId":"get_v1_calendar_pascha","parameters":[{"name":"date","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string","example":"2026-10-09"}},{"name":"lang","in":"query","required":false,"description":"ru, cu, de, uk, pl","schema":{"type":"string","example":""}},{"name":"profile","in":"query","required":false,"description":"typikon-strict или parish","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"date":"2026-10-09"}}},"/v1/calendar/upcoming":{"get":{"tags":["Календарь"],"summary":"Календарь: upcoming","description":"","operationId":"get_v1_calendar_upcoming","parameters":[{"name":"date","in":"query","required":false,"description":"Начало периода YYYY-MM-DD","schema":{"type":"string","example":"2026-10-09"}},{"name":"limit","in":"query","required":false,"description":"1–10","schema":{"type":"string","example":""}},{"name":"filter","in":"query","required":false,"description":"main, twelve, great, memorial, all","schema":{"type":"string","example":""}},{"name":"lang","in":"query","required":false,"description":"ru, cu, de, uk, pl","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"date":"2026-10-09"}}},"/v1/calendar/service":{"get":{"tags":["Календарь"],"summary":"Календарь: service","description":"","operationId":"get_v1_calendar_service","parameters":[{"name":"date","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string","example":"2026-10-09"}},{"name":"office","in":"query","required":false,"description":"Название службы","schema":{"type":"string","example":""}},{"name":"lang","in":"query","required":false,"description":"ru, cu, cu-civil","schema":{"type":"string","example":""}},{"name":"expansion","in":"query","required":false,"description":"short или full","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"date":"2026-10-09"}}},"/prayers":{"get":{"tags":["Молитвы и службы"],"summary":"Список молитв","description":"","operationId":"get_prayers","parameters":[{"name":"language","in":"query","required":false,"description":"Код языка; русские молитвы также входят в ответ","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/prayers/{prayer}":{"get":{"tags":["Молитвы и службы"],"summary":"Молитва","description":"","operationId":"get_prayers_prayer_","parameters":[{"name":"prayer","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"prayer":"1"},"x-query-example":{}}},"/prayers/{prayer}/sections/{section}":{"get":{"tags":["Молитвы и службы"],"summary":"Раздел молитвы","description":"","operationId":"get_prayers_prayer_sections_section_","parameters":[{"name":"prayer","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"section","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"prayer":"1","section":"1"},"x-query-example":{}}},"/liturgical/calendar-texts":{"get":{"tags":["Молитвы и службы"],"summary":"Богослужебные тексты календаря","description":"","operationId":"get_liturgical_calendar_texts","parameters":[{"name":"id","in":"query","required":false,"description":"Внешний ID","schema":{"type":"string","example":""}},{"name":"type","in":"query","required":false,"description":"Тип текста","schema":{"type":"string","example":"troparion"}},{"name":"scope","in":"query","required":false,"description":"Область","schema":{"type":"string","example":""}},{"name":"tone","in":"query","required":false,"description":"Глас 1–8","schema":{"type":"string","example":""}},{"name":"weekday","in":"query","required":false,"description":"День недели 0–6","schema":{"type":"string","example":"2"}},{"name":"language","in":"query","required":false,"description":"Код языка","schema":{"type":"string","example":""}},{"name":"page","in":"query","required":false,"description":"Страница","schema":{"type":"string","example":""}},{"name":"per_page","in":"query","required":false,"description":"1–100","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"type":"troparion","weekday":"2"}}},"/liturgical/collections":{"get":{"tags":["Молитвы и службы"],"summary":"Коллекции богослужебных текстов","description":"","operationId":"get_liturgical_collections","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/liturgical/works":{"get":{"tags":["Молитвы и службы"],"summary":"Произведения","description":"","operationId":"get_liturgical_works","parameters":[{"name":"collection","in":"query","required":false,"description":"Код коллекции","schema":{"type":"string","example":"horologion"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"collection":"horologion"}}},"/liturgical/works/{slug}":{"get":{"tags":["Молитвы и службы"],"summary":"Произведение","description":"","operationId":"get_liturgical_works_slug_","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","example":"prayer-2"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"slug":"prayer-2"},"x-query-example":{}}},"/liturgical/works/{slug}/versions/{language}":{"get":{"tags":["Молитвы и службы"],"summary":"Редакция произведения","description":"","operationId":"get_liturgical_works_slug_versions_language_","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","example":"prayer-2"}},{"name":"language","in":"path","required":true,"schema":{"type":"string","example":"ru"}},{"name":"edition","in":"query","required":false,"description":"Код редакции","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"slug":"prayer-2","language":"ru"},"x-query-example":{}}},"/calendar/icons":{"get":{"tags":["Иконы"],"summary":"Каталог календарных икон","description":"","operationId":"get_calendar_icons","parameters":[{"name":"query","in":"query","required":false,"description":"Поиск","schema":{"type":"string","example":""}},{"name":"kind","in":"query","required":false,"description":"Тип","schema":{"type":"string","example":"saint"}},{"name":"saint","in":"query","required":false,"description":"Точное имя святого","schema":{"type":"string","example":""}},{"name":"month_day","in":"query","required":false,"description":"MM-DD","schema":{"type":"string","example":""}},{"name":"month","in":"query","required":false,"description":"1–12","schema":{"type":"string","example":""}},{"name":"movable","in":"query","required":false,"description":"0 или 1","schema":{"type":"string","example":""}},{"name":"with_history","in":"query","required":false,"description":"0 или 1","schema":{"type":"string","example":""}},{"name":"with_images","in":"query","required":false,"description":"0 или 1","schema":{"type":"string","example":"1"}},{"name":"page","in":"query","required":false,"description":"Страница","schema":{"type":"string","example":""}},{"name":"per_page","in":"query","required":false,"description":"1–100","schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{"kind":"saint","with_images":"1","per_page":"1"}}},"/calendar/icons/saints":{"get":{"tags":["Иконы"],"summary":"Имена святых с иконами","description":"","operationId":"get_calendar_icons_saints","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/calendar/icons/{id}":{"get":{"tags":["Иконы"],"summary":"Карточка иконы","description":"","operationId":"get_calendar_icons_id_","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"id":"1"},"x-query-example":{}}},"/calendar/icons/{icon}/images/{image}":{"get":{"tags":["Иконы"],"summary":"Изображение иконы","description":"","operationId":"get_calendar_icons_icon_images_image_","parameters":[{"name":"icon","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"image","in":"path","required":true,"schema":{"type":"string","example":"1"}},{"name":"preview","in":"query","required":false,"description":"1 — компактный WebP","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Изображение","content":{"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/png":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"icon":"1","image":"1"},"x-query-example":{}}},"/useful-links":{"get":{"tags":["Материалы"],"summary":"Полезные ссылки","description":"","operationId":"get_useful_links","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/faith-questions":{"get":{"tags":["Материалы"],"summary":"Вопросы веры","description":"","operationId":"get_faith_questions","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/recipe-categories":{"get":{"tags":["Материалы"],"summary":"Категории рецептов","description":"","operationId":"get_recipe_categories","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/recipes":{"get":{"tags":["Материалы"],"summary":"Рецепты","description":"","operationId":"get_recipes","parameters":[{"name":"category","in":"query","required":false,"description":"Код категории или список через запятую","schema":{"type":"string","example":""}},{"name":"fasting_rule","in":"query","required":false,"description":"Правило поста","schema":{"type":"string","example":""}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}},"post":{"tags":["Материалы"],"summary":"Предложить рецепт","description":"Требуется вход в сайт и категория из GET /recipe-categories.","operationId":"post_recipes","parameters":[],"responses":{"201":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":true,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"title":"Название","category_ids":[1],"ingredients":"Состав"}}}}}},"/recipes/{recipe}":{"get":{"tags":["Материалы"],"summary":"Рецепт","description":"","operationId":"get_recipes_recipe_","parameters":[{"name":"recipe","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"recipe":"1"},"x-query-example":{}}},"/quizzes":{"get":{"tags":["Материалы"],"summary":"Викторины","description":"","operationId":"get_quizzes","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/quizzes/{quiz}":{"get":{"tags":["Материалы"],"summary":"Викторина","description":"","operationId":"get_quizzes_quiz_","parameters":[{"name":"quiz","in":"path","required":true,"schema":{"type":"string","example":"1"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"quiz":"1"},"x-query-example":{}}},"/virtual-tours":{"get":{"tags":["Материалы"],"summary":"Виртуальные экскурсии","description":"","operationId":"get_virtual_tours","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/slavonic-learning":{"get":{"tags":["Азбука и цифирь"],"summary":"Курс целиком","description":"","operationId":"get_slavonic_learning","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/slavonic-learning/letters":{"get":{"tags":["Азбука и цифирь"],"summary":"Буквы","description":"","operationId":"get_slavonic_learning_letters","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/slavonic-learning/letters/{letter}":{"get":{"tags":["Азбука и цифирь"],"summary":"Карточка буквы","description":"","operationId":"get_slavonic_learning_letters_letter_","parameters":[{"name":"letter","in":"path","required":true,"schema":{"type":"string","example":"az"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"letter":"az"},"x-query-example":{}}},"/slavonic-learning/numerals":{"get":{"tags":["Азбука и цифирь"],"summary":"Справочник цифири","description":"","operationId":"get_slavonic_learning_numerals","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/slavonic-learning/clock":{"get":{"tags":["Азбука и цифирь"],"summary":"Циферблат","description":"","operationId":"get_slavonic_learning_clock","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}},"/slavonic-learning/numerals/convert":{"post":{"tags":["Азбука и цифирь"],"summary":"Число ↔ запись","description":"Передайте number (1–9999) или notation.","operationId":"post_slavonic_learning_numerals_convert","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"number":12}}}}}},"/slavonic-learning/exercises":{"post":{"tags":["Азбука и цифирь"],"summary":"Создать упражнение","description":"","operationId":"post_slavonic_learning_exercises","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"letter_id":"az","kind":"glyph-to-name"}}}}}},"/slavonic-learning/exercises/check":{"post":{"tags":["Азбука и цифирь"],"summary":"Проверить ответ","description":"","operationId":"post_slavonic_learning_exercises_check","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"letter_id":"az","kind":"glyph-to-name","answer_id":"az"}}}}}},"/v1/church-slavonic/status":{"get":{"tags":["Переводчик"],"summary":"Статус и доступные лимиты","description":"","operationId":"get_v1_church_slavonic_status","parameters":[{"name":"X-Bible-Desktop-Client","in":"header","required":false,"description":"Код клиента для бесплатного доступа","schema":{"type":"string"}},{"name":"X-Bible-Desktop-Installation","in":"header","required":false,"description":"Постоянный UUID установки для бесплатного доступа","schema":{"type":"string"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"Лимит зависит от уровня доступа","x-mutates-data":false,"x-auth-kind":"api-key","x-path-example":{},"x-query-example":{},"security":[{"BibleDesktopKey":[]},{"FreeClient":[],"FreeInstallation":[]}]}},"/v1/church-slavonic/translate":{"post":{"tags":["Переводчик"],"summary":"Перевести текст","description":"Бесплатный уровень поддерживается; параметры и квоты сообщает status.","operationId":"post_v1_church_slavonic_translate","parameters":[{"name":"X-Bible-Desktop-Client","in":"header","required":false,"description":"Код клиента для бесплатного доступа","schema":{"type":"string"}},{"name":"X-Bible-Desktop-Installation","in":"header","required":false,"description":"Постоянный UUID установки для бесплатного доступа","schema":{"type":"string"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"Лимит зависит от уровня доступа","x-mutates-data":false,"x-auth-kind":"api-key","x-path-example":{},"x-query-example":{},"security":[{"BibleDesktopKey":[]},{"FreeClient":[],"FreeInstallation":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"text":"В начале было Слово","source_language":"ru","target_language":"cu","options":{"accents":true,"titlo":true,"breathings":true,"slavonic_numbers":false}}}}}}},"/v1/icon-inscriptions/recognize":{"post":{"tags":["Переводчик"],"summary":"Распознать надпись иконы","description":"","operationId":"post_v1_icon_inscriptions_recognize","parameters":[{"name":"X-Bible-Desktop-Client","in":"header","required":false,"description":"Код клиента для бесплатного доступа","schema":{"type":"string"}},{"name":"X-Bible-Desktop-Installation","in":"header","required":false,"description":"Постоянный UUID установки для бесплатного доступа","schema":{"type":"string"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"Лимит зависит от уровня доступа","x-mutates-data":false,"x-auth-kind":"api-key","x-path-example":{},"x-query-example":{},"security":[{"BibleDesktopKey":[]},{"FreeClient":[],"FreeInstallation":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary"}},"required":["image"]}}}}}},"/church-slavonic/translations/{translationShare}":{"get":{"tags":["Переводчик"],"summary":"Открыть доступный по ссылке перевод","description":"","operationId":"get_church_slavonic_translations_translationShare_","parameters":[{"name":"translationShare","in":"path","required":true,"schema":{"type":"string","example":"id"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{"translationShare":"id"},"x-query-example":{}}},"/church-slavonic/translate":{"post":{"tags":["Переводчик"],"summary":"Перевести текст на сайте","description":"Веб-маршрут с сессией сайта и защитой CSRF. Для внешних приложений используйте /v1/church-slavonic/translate.","operationId":"post_church_slavonic_translate","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"text":"В начале было Слово","source_language":"ru","target_language":"cu"}}}}}},"/church-slavonic/translations":{"post":{"tags":["Переводчик"],"summary":"Создать ссылку на перевод","description":"Требуется вход в сайт. Сначала получите перевод; ссылка создаётся для уже известного результата.","operationId":"post_church_slavonic_translations","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":true,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"text":"В начале было Слово","source_language":"ru","target_language":"cu"}}}}}},"/icon-inscriptions/recognize":{"post":{"tags":["Переводчик"],"summary":"Распознать надпись на сайте","description":"Веб-маршрут с сессией и CSRF. Для внешних приложений используйте /v1/icon-inscriptions/recognize.","operationId":"post_icon_inscriptions_recognize","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary"}},"required":["image"]}}}}}},"/ai-assistant/chat":{"post":{"tags":["Помощник"],"summary":"Задать вопрос помощнику","description":"Веб-маршрут с сессией сайта; сообщения чередуются user/assistant, до 8 элементов.","operationId":"post_ai_assistant_chat","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"session","x-path-example":{},"x-query-example":{},"security":[{"SiteSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"messages":[{"role":"user","content":"Как читать Библию?"}]}}}}}},"/v1/profiles":{"post":{"tags":["Профиль"],"summary":"Создать профиль","description":"Сохраните secret и recovery_code из ответа: они выдаются один раз.","operationId":"post_v1_profiles","parameters":[],"responses":{"201":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":true,"x-auth-kind":"public","x-path-example":{},"x-query-example":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"schema_version":1,"configuration":{"version":1,"sections":["bible"]}}}}}}},"/v1/profiles/recover":{"post":{"tags":["Профиль"],"summary":"Восстановить профиль","description":"Ротация секрета и кода восстановления. Прежние значения перестают действовать.","operationId":"post_v1_profiles_recover","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"10 запросов в минуту","x-mutates-data":true,"x-auth-kind":"public","x-path-example":{},"x-query-example":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"recovery_code":"код восстановления"}}}}}},"/v1/profiles/{profile}":{"get":{"tags":["Профиль"],"summary":"Прочитать профиль","description":"","operationId":"get_v1_profiles_profile_","parameters":[{"name":"profile","in":"path","required":true,"schema":{"type":"string","example":"UUID"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"profile","x-path-example":{"profile":"UUID"},"x-query-example":{},"security":[{"ProfileSecret":[]}]},"put":{"tags":["Профиль"],"summary":"Обновить профиль","description":"При несовпадении revision возвращается 409.","operationId":"put_v1_profiles_profile_","parameters":[{"name":"profile","in":"path","required":true,"schema":{"type":"string","example":"UUID"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":true,"x-auth-kind":"profile","x-path-example":{"profile":"UUID"},"x-query-example":{},"security":[{"ProfileSecret":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"schema_version":1,"revision":1,"configuration":{"version":1,"sections":["bible"]}}}}}},"delete":{"tags":["Профиль"],"summary":"Удалить профиль","description":"","operationId":"delete_v1_profiles_profile_","parameters":[{"name":"profile","in":"path","required":true,"schema":{"type":"string","example":"UUID"}}],"responses":{"204":{"description":"Удалено, без тела ответа"},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":true,"x-auth-kind":"profile","x-path-example":{"profile":"UUID"},"x-query-example":{},"security":[{"ProfileSecret":[]}]}},"/v1/profiles/{profile}/export":{"get":{"tags":["Профиль"],"summary":"Экспорт профиля","description":"","operationId":"get_v1_profiles_profile_export","parameters":[{"name":"profile","in":"path","required":true,"schema":{"type":"string","example":"UUID"}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":"30 запросов в минуту","x-mutates-data":false,"x-auth-kind":"profile","x-path-example":{"profile":"UUID"},"x-query-example":{},"security":[{"ProfileSecret":[]}]}},"/v1/profiles/{profile}/push-devices":{"put":{"tags":["Профиль"],"summary":"Зарегистрировать push-устройство","description":"","operationId":"put_v1_profiles_profile_push_devices","parameters":[{"name":"profile","in":"path","required":true,"schema":{"type":"string","example":"UUID"}}],"responses":{"201":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":true,"x-auth-kind":"profile","x-path-example":{"profile":"UUID"},"x-query-example":{},"security":[{"ProfileSecret":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"installation_id":"UUID","platform":"android","token":"токен"}}}}}},"/v1/profiles/{profile}/push-devices/{installation}":{"delete":{"tags":["Профиль"],"summary":"Удалить push-устройство","description":"","operationId":"delete_v1_profiles_profile_push_devices_installation_","parameters":[{"name":"profile","in":"path","required":true,"schema":{"type":"string","example":"UUID"}},{"name":"installation","in":"path","required":true,"schema":{"type":"string","example":"UUID"}}],"responses":{"204":{"description":"Удалено, без тела ответа"},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":true,"x-auth-kind":"profile","x-path-example":{"profile":"UUID","installation":"UUID"},"x-query-example":{},"security":[{"ProfileSecret":[]}]}},"/telegram/webhook":{"post":{"tags":["Служебные"],"summary":"Webhook Telegram","description":"Только для Telegram. Не используйте как публичный клиентский API.","operationId":"post_telegram_webhook","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":true,"x-auth-kind":"telegram","x-path-example":{},"x-query-example":{},"security":[{"TelegramSecret":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"update_id":1}}}}}},"/openapi.json":{"get":{"tags":["Служебные"],"summary":"Машиночитаемое описание API","description":"","operationId":"get_openapi_json","parameters":[],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Нет доступа или неверные учётные данные"},"404":{"description":"Ресурс не найден"},"409":{"description":"Конфликт версии профиля"},"422":{"description":"Некорректные параметры запроса"},"429":{"description":"Превышен лимит запросов"},"503":{"description":"Сервис временно недоступен"}},"x-rate-limit":null,"x-mutates-data":false,"x-auth-kind":"public","x-path-example":{},"x-query-example":{}}}},"components":{"securitySchemes":{"BibleDesktopKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Для бесплатного режима вместо ключа нужны X-Bible-Desktop-Client и X-Bible-Desktop-Installation (UUID)."},"FreeClient":{"type":"apiKey","in":"header","name":"X-Bible-Desktop-Client"},"FreeInstallation":{"type":"apiKey","in":"header","name":"X-Bible-Desktop-Installation"},"SiteSession":{"type":"apiKey","in":"cookie","name":"laravel_session","description":"Для веб-маршрутов также требуется X-CSRF-TOKEN из страницы сайта."},"ProfileSecret":{"type":"apiKey","in":"header","name":"X-Profile-Secret"},"TelegramSecret":{"type":"apiKey","in":"header","name":"X-Telegram-Bot-Api-Secret-Token"}}}}