{"openapi":"3.1.0","info":{"title":"Уставные чтения — API","version":"2.0.0","description":"Церковнославянские уставные чтения по Типикону: тексты, книги, привязка к дням церковного года, зачала и знаки месяцеслова.\n\nКорпус доступен по лицензии CC BY 4.0 — пользуйтесь свободно, указывая источник. Оригиналы памятников находятся в общественном достоянии. Сканы, переводы и данные святцев принадлежат их владельцам.\n\nДоступ отмерен. Без ключа — 60 запросов в час с адреса и без поиска: этого хватает попробовать. С ключом — 30 запросов в минуту и 10000 в сутки, включая поиск. Ключ заводится в профиле на typikon.su и передаётся заголовком Authorization: Bearer. Остаток виден в заголовках X-RateLimit-Remaining и X-Quota-Remaining.","license":{"name":"CC-BY-4.0","url":"https://typikon.su/license"},"contact":{"url":"https://typikon.su/contact"}},"servers":[{"url":"https://typikon.su","description":"Основной сервер"}],"security":[{"apiKey":[]},{}],"tags":[{"name":"Календарь","description":"Что читается в конкретный день"},{"name":"Тексты","description":"Корпус текстов и книги"},{"name":"Справочники","description":"Зачала, знаки, месяцы, седмицы, святые"}],"paths":{"/api/v2":{"get":{"tags":["Справочники"],"summary":"Описание сервиса","description":"Счётчики корпуса, условия использования и список ручек.","responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}}}}},"/api/v2/calendar/{date}":{"get":{"tags":["Календарь"],"summary":"Чтения на дату","description":"Подвижный круг с отступкой и преступкой, неподвижный календарь, памяти месяцеслова и зачала — сведённые в один ответ.","parameters":[{"name":"date","in":"path","required":true,"schema":{"type":"string","format":"date"},"example":"2026-04-12"},{"name":"lang","in":"query","required":false,"schema":{"type":"string","enum":["cs","ro"],"default":"cs"},"description":"Язык библейских зачал"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarDay"}}}},"400":{"description":"Дата указана неверно","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"На эту дату чтений не найдено","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/calendar/today":{"get":{"tags":["Календарь"],"summary":"Чтения на сегодня","responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarDay"}}}}}}},"/api/v2/texts":{"get":{"tags":["Тексты"],"summary":"Список текстов","description":"Без тела текста — за ним в карточку.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":200,"minimum":1},"description":"Сколько записей вернуть, не больше 200"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"minimum":0},"description":"Сколько записей пропустить"},{"name":"book","in":"query","schema":{"type":"string"},"description":"Идентификатор книги"},{"name":"readiness","in":"query","schema":{"type":"string","enum":["ready","correcting","texted","presence","absence"]}},{"name":"saint","in":"query","schema":{"type":"string"},"description":"Идентификатор святого в святцах dneslov.org"},{"name":"updatedSince","in":"query","schema":{"type":"string","format":"date-time"},"description":"Только изменённые с этого момента"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextList"}}}},"400":{"description":"Неверный параметр","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/texts/{id}":{"get":{"tags":["Тексты"],"summary":"Текст целиком","description":"Принимает и постоянный адрес (alias), и идентификатор.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"example":"prolog-08-11-eupl"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextDetail"}}}},"404":{"description":"Текст не найден","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/books":{"get":{"tags":["Тексты"],"summary":"Список книг","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":200,"minimum":1},"description":"Сколько записей вернуть, не больше 200"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"minimum":0},"description":"Сколько записей пропустить"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookList"}}}}}}},"/api/v2/books/{id}":{"get":{"tags":["Тексты"],"summary":"Книга и её тексты","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":200,"minimum":1},"description":"Сколько записей вернуть, не больше 200"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"minimum":0},"description":"Сколько записей пропустить"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookDetail"}}}},"404":{"description":"Книга не найдена","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/search":{"get":{"tags":["Тексты"],"summary":"Поиск по названию и содержимому","description":"Ударения и церковнославянское написание набирать не нужно: «стражи» находит «стра́жи», «иоанна» — «і҆ѡа́нна». Фрагмент возвращается в исходном написании.","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":3},"example":"аввакум"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":200,"minimum":1},"description":"Сколько записей вернуть, не больше 200"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"minimum":0},"description":"Сколько записей пропустить"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchList"}}}},"400":{"description":"Запрос слишком короткий","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/days/{alias}":{"get":{"tags":["Календарь"],"summary":"День по постоянному адресу","parameters":[{"name":"alias","in":"path","required":true,"schema":{"type":"string"},"example":"pascha"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Day"}}}},"404":{"description":"День не найден","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/months":{"get":{"tags":["Справочники"],"summary":"Месяцы неподвижного круга","responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonthList"}}}}}}},"/api/v2/months/{alias}":{"get":{"tags":["Справочники"],"summary":"Месяц и его дни","parameters":[{"name":"alias","in":"path","required":true,"schema":{"type":"string"},"example":"january"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonthDetail"}}}},"404":{"description":"Месяц не найден","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/weeks":{"get":{"tags":["Справочники"],"summary":"Седмицы Триоди","parameters":[{"name":"cycle","in":"query","schema":{"type":"string","enum":["triodion","penticostarion"]}}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeekList"}}}}}}},"/api/v2/weeks/{alias}":{"get":{"tags":["Справочники"],"summary":"Седмица и её дни","parameters":[{"name":"alias","in":"path","required":true,"schema":{"type":"string"},"example":"post-1"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeekDetail"}}}},"404":{"description":"Седмица не найдена","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/pericopes":{"get":{"tags":["Справочники"],"summary":"Зачала","parameters":[{"name":"source","in":"query","schema":{"type":"string","enum":["gospel","apostle","paremia"]}},{"name":"book","in":"query","schema":{"type":"string"},"description":"Слаг библейской книги"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":200,"minimum":1},"description":"Сколько записей вернуть, не больше 200"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"minimum":0},"description":"Сколько записей пропустить"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PericopeList"}}}}}}},"/api/v2/signs":{"get":{"tags":["Справочники"],"summary":"Знаки Типикона по месяцеслову","description":"Месяц и число — по старому стилю.","parameters":[{"name":"month","in":"query","schema":{"type":"integer","minimum":1,"maximum":12}},{"name":"date","in":"query","schema":{"type":"integer","minimum":1,"maximum":31}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"maximum":200,"minimum":1},"description":"Сколько записей вернуть, не больше 200"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"minimum":0},"description":"Сколько записей пропустить"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignList"}}}},"400":{"description":"Неверный месяц или число","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v2/saints/{id}":{"get":{"tags":["Справочники"],"summary":"Тексты, связанные со святым","description":"Идентификатор — из святцев dneslov.org. Сведения о самом святом берите там же.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"example":"3030"}],"responses":{"200":{"description":"Успешный ответ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaintTexts"}}}},"404":{"description":"Текстов не найдено","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Ключ доступа, выпускается в профиле на typikon.su. Даёт больший лимит и открывает поиск. Запасной вид — заголовок X-Api-Key с тем же значением."}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["not_found","bad_request","rate_limited","internal"]},"message":{"type":"string"}}}}},"Service":{"type":"object","description":"Описание сервиса, счётчики и условия использования"},"Text":{"type":"object","description":"Текст в списке — без содержимого","properties":{"id":{"type":"string"},"alias":{"type":["string","null"],"description":"Постоянный адрес текста"},"name":{"type":"string"},"description":{"type":["string","null"]},"author":{"type":["string","null"]},"translator":{"type":["string","null"]},"type":{"type":["string","null"]},"contentType":{"type":["string","null"],"description":"verses — текст из стихов (библейская книга)"},"readiness":{"type":["string","null"],"description":"ready — вычитан; presence — есть только скан"},"bookId":{"type":["string","null"]},"bookIndex":{"type":["integer","null"]},"dneslovId":{"type":["string","null"]},"updatedAt":{"type":["string","null"],"format":"date-time"}}},"TextDetail":{"allOf":[{"$ref":"#/components/schemas/Text"},{"type":"object","properties":{"content":{"type":"string","description":"Тело текста. Абзацы разделены двумя переводами строки"},"poems":{"type":["string","null"]},"footnotes":{"type":"array","items":{"type":"object"}},"scanUrl":{"type":["string","null"],"description":"Ссылка на скан оригинала — чужой материал"},"russianUrl":{"type":["string","null"],"description":"Ссылка на русский перевод — чужой материал"},"note":{"type":["string","null"]},"mentionIds":{"type":"array","items":{"type":"string"}},"verses":{"type":"array","items":{"$ref":"#/components/schemas/Verse"}}}}]},"Verse":{"type":"object","properties":{"id":{"type":"string"},"chapter":{"type":"integer"},"verse":{"type":"integer"},"content":{"type":"string"}}},"SearchResult":{"allOf":[{"$ref":"#/components/schemas/Text"},{"type":"object","properties":{"snippet":{"type":["string","null"],"description":"Фрагмент с найденным словом, в исходном написании"}}}]},"Book":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"author":{"type":["string","null"]},"translator":{"type":["string","null"]},"description":{"type":["string","null"]},"textCount":{"type":["integer","null"]}}},"BookDetail":{"allOf":[{"$ref":"#/components/schemas/Book"},{"type":"object","properties":{"texts":{"type":"object","required":["items","total","limit","offset"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Text"}},"total":{"type":"integer","description":"Сколько всего записей подходит под запрос"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}}]},"Day":{"type":"object","properties":{"id":{"type":"string"},"alias":{"type":["string","null"]},"name":{"type":"string"},"paschal":{"type":"boolean","description":"День подвижного круга"},"readings":{"type":"array","items":{"$ref":"#/components/schemas/Slot"}}}},"Slot":{"type":"object","description":"Место службы и что на нём читается","properties":{"slot":{"type":"string","example":"song6"},"title":{"type":"string","example":"По шестой песни"},"items":{"type":"array","items":{"$ref":"#/components/schemas/SlotItem"}}}},"SlotItem":{"type":"object","properties":{"cite":{"type":["string","null"]},"description":{"type":["string","null"]},"text":{"oneOf":[{"$ref":"#/components/schemas/Text"},{"type":"null"}]},"pericope":{"oneOf":[{"$ref":"#/components/schemas/Pericope"},{"type":"null"}]}}},"CalendarDay":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Гражданская дата запроса"},"churchDate":{"type":["string","null"],"format":"date","description":"Она же по старому стилю"},"movable":{"type":["object","null"],"description":"Положение в подвижном круге с учётом отступки и преступки","properties":{"week":{"type":"integer"},"day":{"type":"integer","description":"1 — понедельник, 7 — воскресенье"},"type":{"type":"string","enum":["Pascha","Penticostarion","first","Triodion","Fast"]}}},"memories":{"type":"object","properties":{"primary":{"oneOf":[{"$ref":"#/components/schemas/Memory"},{"type":"null"}]},"secondary":{"type":"array","items":{"$ref":"#/components/schemas/Memory"}}}},"day":{"oneOf":[{"$ref":"#/components/schemas/Day"},{"type":"null"}]}}},"Memory":{"type":"object","properties":{"id":{"type":["string","null"]},"name":{"type":"string"},"sign":{"type":["string","null"],"description":"Знак Типикона"}}},"Pericope":{"type":"object","properties":{"id":{"type":"string"},"source":{"type":["string","null"],"enum":["gospel","apostle","paremia",null]},"bookSlug":{"type":["string","null"]},"number":{"type":["integer","null"]},"label":{"type":["string","null"],"example":"Мк. 11"},"ranges":{"type":"array","items":{"type":"object"}},"occasions":{"type":"array","items":{"type":"string"},"description":"Когда это зачало читается"},"verses":{"type":"array","items":{"$ref":"#/components/schemas/Verse"}}}},"Sign":{"type":"object","properties":{"id":{"type":"string"},"month":{"type":["integer","null"]},"date":{"type":["integer","null"]},"name":{"type":"string"},"sign":{"type":["string","null"]},"isDefault":{"type":"boolean"}}},"Month":{"type":"object","properties":{"id":{"type":"string"},"alias":{"type":["string","null"]},"value":{"type":["integer","null"]}}},"MonthDetail":{"allOf":[{"$ref":"#/components/schemas/Month"},{"type":"object","properties":{"days":{"type":"array","items":{"type":"object"}}}}]},"Week":{"type":"object","properties":{"id":{"type":"string"},"alias":{"type":["string","null"]},"label":{"type":["string","null"]},"type":{"type":["string","null"]},"value":{"type":["integer","null"]},"triodion":{"type":"boolean"},"penticostarion":{"type":"boolean"}}},"WeekDetail":{"allOf":[{"$ref":"#/components/schemas/Week"},{"type":"object","properties":{"days":{"type":"array","items":{"type":"object"}}}}]},"SaintTexts":{"type":"object","properties":{"dneslovId":{"type":"string"},"texts":{"type":"array","items":{"$ref":"#/components/schemas/Text"},"description":"Тексты памяти святого"},"mentions":{"type":"array","items":{"$ref":"#/components/schemas/Text"},"description":"Тексты, где он упоминается"}}},"TextList":{"type":"object","required":["items","total","limit","offset"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Text"}},"total":{"type":"integer","description":"Сколько всего записей подходит под запрос"},"limit":{"type":"integer"},"offset":{"type":"integer"}}},"SearchList":{"type":"object","required":["items","total","limit","offset"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"}},"total":{"type":"integer","description":"Сколько всего записей подходит под запрос"},"limit":{"type":"integer"},"offset":{"type":"integer"}}},"BookList":{"type":"object","required":["items","total","limit","offset"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Book"}},"total":{"type":"integer","description":"Сколько всего записей подходит под запрос"},"limit":{"type":"integer"},"offset":{"type":"integer"}}},"MonthList":{"type":"object","required":["items","total","limit","offset"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Month"}},"total":{"type":"integer","description":"Сколько всего записей подходит под запрос"},"limit":{"type":"integer"},"offset":{"type":"integer"}}},"WeekList":{"type":"object","required":["items","total","limit","offset"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Week"}},"total":{"type":"integer","description":"Сколько всего записей подходит под запрос"},"limit":{"type":"integer"},"offset":{"type":"integer"}}},"PericopeList":{"type":"object","required":["items","total","limit","offset"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Pericope"}},"total":{"type":"integer","description":"Сколько всего записей подходит под запрос"},"limit":{"type":"integer"},"offset":{"type":"integer"}}},"SignList":{"type":"object","required":["items","total","limit","offset"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Sign"}},"total":{"type":"integer","description":"Сколько всего записей подходит под запрос"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}}}