{"components":{"responses":{"DomainError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Неверный ввод, или дома не определены для данной широты"}},"schemas":{"Almuten":{"description":"альмутен карты (Ибн Эзра) с воспроизводимой разбивкой баллов","properties":{"method":{"example":"ibn_ezra","type":"string"},"points_used":{"description":"оценённые хилегические точки","items":{"type":"string"},"type":"array"},"scores":{"items":{"properties":{"body":{"$ref":"#/components/schemas/Body"},"score":{"type":"integer"}},"type":"object"},"type":"array"},"tie":{"type":"boolean"},"winner":{"$ref":"#/components/schemas/Body"}},"type":"object"},"AngleAspect":{"properties":{"angle":{"enum":["ascendant","midheaven","descendant","imum_coeli"],"type":"string"},"body":{"$ref":"#/components/schemas/Body"},"exact_angle":{"description":"0/60/90/120/150/180","type":"number"},"kind":{"enum":["conjunction","sextile","square","trine","opposition","quincunx"],"type":"string"},"orb":{"description":"отклонение от точного, градусы","type":"number"}},"type":"object"},"AspectHit":{"properties":{"a":{"$ref":"#/components/schemas/Body"},"angle":{"description":"0/60/90/120/150/180","type":"number"},"applying":{"description":"true = сходящийся (орб сокращается), false = расходящийся","type":"boolean"},"b":{"$ref":"#/components/schemas/Body"},"kind":{"enum":["conjunction","sextile","square","trine","opposition","quincunx"],"type":"string"},"orb":{"description":"отклонение от точного, градусы","type":"number"}},"type":"object"},"AspectHits":{"properties":{"angle_hits":{"description":"точные аспекты транзитного тела к углам карты (по запросу include_angles)","items":{"properties":{"angle":{"enum":["ascendant","midheaven","descendant","imum_coeli"],"type":"string"},"derived":{"description":"зеркало Dsc/IC; отсутствует, когда false","type":"boolean"},"enters":{"type":"string"},"exact":{"type":"string"},"exact_angle":{"type":"number"},"kind":{"type":"string"},"leaves":{"type":"string"},"transit_body":{"$ref":"#/components/schemas/Body"}},"type":"object"},"type":"array"},"hits":{"items":{"properties":{"angle":{"type":"number"},"enters":{"type":"string"},"exact":{"type":"string"},"kind":{"type":"string"},"leaves":{"type":"string"},"natal_body":{"$ref":"#/components/schemas/Body"},"transit_body":{"$ref":"#/components/schemas/Body"}},"type":"object"},"type":"array"},"orb":{"type":"number"}},"type":"object"},"AspectHitsRequest":{"properties":{"from":{"format":"date-time","type":"string"},"include_angles":{"default":false,"description":"также находить корни точных аспектов к углам карты (Asc/MC + зеркала Dsc/IC) → angle_hits","type":"boolean"},"natal":{"$ref":"#/components/schemas/NatalRequest"},"orb":{"default":1,"type":"number"},"to":{"format":"date-time","type":"string"},"transit_bodies":{"description":"несколько транзитных тел за один вызов (батч; натал считается один раз, дубликаты схлопываются); имеет приоритет над transit_body","items":{"$ref":"#/components/schemas/Body"},"type":"array"},"transit_body":{"$ref":"#/components/schemas/Body","description":"одно транзитное тело; нужен он ИЛИ transit_bodies"}},"required":["natal","from","to"],"type":"object"},"Body":{"enum":["sun","moon","mercury","venus","mars","jupiter","saturn","uranus","neptune","pluto","mean_node","true_node","mean_lilith","true_lilith","chiron","south_node","white_moon","selena","proserpina"],"type":"string"},"BodyInHouse":{"properties":{"body":{"$ref":"#/components/schemas/Body"},"house":{"maximum":12,"minimum":1,"type":"integer"}},"type":"object"},"CalendarEclipse":{"description":"затмение в интервале, с положением и узлом","properties":{"exact":{"format":"date-time","type":"string"},"kind":{"enum":["solar","lunar"],"type":"string"},"longitude":{"type":"number"},"node":{"enum":["north","south"],"type":"string"},"sign":{"$ref":"#/components/schemas/Sign"},"type":{"enum":["total","annular","partial","penumbral","hybrid"],"type":"string"}},"type":"object"},"Chain":{"properties":{"body":{"$ref":"#/components/schemas/Body"},"path":{"description":"планета → каждый диспозитор → узел-сток","items":{"$ref":"#/components/schemas/Body"},"type":"array"},"sink":{"$ref":"#/components/schemas/ChainSink"}},"type":"object"},"ChainSink":{"description":"куда стекает цепочка диспозиторов","properties":{"id":{"description":"тело (терминал) или список тел (петля)","oneOf":[{"$ref":"#/components/schemas/Body"},{"items":{"$ref":"#/components/schemas/Body"},"type":"array"}]},"type":{"enum":["terminal","loop"],"type":"string"}},"type":"object"},"ChartShape":{"description":"планетарный узор Марка Эдмунда Джонса — общая форма карты","properties":{"handle":{"description":"планета(ы) ручки ведра","items":{"$ref":"#/components/schemas/Body"},"type":"array"},"largest_gap":{"description":"наибольший пустой разрыв между соседними планетами, градусы","type":"number"},"leading":{"$ref":"#/components/schemas/Body","description":"планета после наибольшего разрыва (чаша/локомотив/ведро)"},"occupied_arc":{"description":"дуга, охватываемая планетами (360 − наибольший разрыв), градусы","type":"number"},"pattern":{"enum":["splash","bundle","bowl","bucket","locomotive","seesaw","splay"],"type":"string"}},"type":"object"},"Configuration":{"properties":{"apex":{"$ref":"#/components/schemas/Body","description":"фокальное тело тау-квадрата/йода/бисекстиля"},"attendants":{"description":"точки (узлы/Лилит/Хирон/жребии) в знаке/доме стеллиума — не учитываются в кворуме","items":{"$ref":"#/components/schemas/Body"},"type":"array"},"axis":{"description":"два противоположных полюса тау-квадрата (каждый — список тел)","items":{"items":{"$ref":"#/components/schemas/Body"},"type":"array"},"type":"array"},"bodies":{"items":{"$ref":"#/components/schemas/Body"},"type":"array"},"edges":{"items":{"properties":{"a":{"$ref":"#/components/schemas/Body"},"b":{"$ref":"#/components/schemas/Body"}},"type":"object"},"type":"array"},"house":{"maximum":12,"minimum":1,"type":"integer"},"scope":{"description":"область стеллиума","enum":["sign","house"],"type":"string"},"sign":{"$ref":"#/components/schemas/Sign"},"type":{"enum":["grandCross","trapezoid","cart","sail","grandTrine","stellium","yod","tSquare","bisextile"],"type":"string"}},"type":"object"},"DayNightRulers":{"properties":{"day":{"$ref":"#/components/schemas/Body"},"night":{"$ref":"#/components/schemas/Body"}},"required":["day","night"],"type":"object"},"DeclAspect":{"properties":{"a":{"$ref":"#/components/schemas/Body"},"b":{"$ref":"#/components/schemas/Body"},"kind":{"enum":["parallel","contraparallel"],"type":"string"},"orb":{"type":"number"}},"type":"object"},"Dignity":{"enum":["domicile","exaltation","detriment","fall","peregrine"],"type":"string"},"DirectionEvent":{"properties":{"arc":{"description":"дуга дирекции в градусах прямого восхождения","type":"number"},"aspect":{"enum":["conjunction","sextile","square","trine","opposition"],"type":"string"},"date":{"description":"дата перфекции (birth + years)","format":"date-time","type":"string"},"motion":{"description":"direct — промиссор ведётся к сигнификатору; converse — наоборот","enum":["direct","converse"],"type":"string"},"promissor":{"$ref":"#/components/schemas/Body"},"significator":{"enum":["ascendant","midheaven","sun","moon"],"type":"string"},"years":{"description":"возраст перфекции (arc / ключ)","type":"number"}},"type":"object"},"Disposition":{"description":"дерево диспозиции: схема modern (эффективная, с учётом domicile_rulers) + справочная spbaa, плюс граф дебилитации by_detriment","properties":{"by_detriment":{"$ref":"#/components/schemas/DispositionScheme"},"schemes":{"properties":{"modern":{"$ref":"#/components/schemas/DispositionScheme"},"spbaa":{"$ref":"#/components/schemas/SpbaaScheme"}},"type":"object"}},"type":"object"},"DispositionNode":{"properties":{"body":{"$ref":"#/components/schemas/Body"},"disposes_to":{"description":"диспонирующая планета; null, когда у знака нет управителя в схеме (граф экзальтаций)","oneOf":[{"$ref":"#/components/schemas/Body"},{"type":"null"}]}},"type":"object"},"DispositionScheme":{"description":"функциональный граф: у каждой планеты один диспозитор, каждая компонента содержит ровно один цикл","properties":{"chains":{"items":{"$ref":"#/components/schemas/Chain"},"type":"array"},"final_dispositor":{"description":"существует тогда и только тогда, когда ровно один терминал и нет петель","oneOf":[{"$ref":"#/components/schemas/Body"},{"type":"null"}]},"loops":{"description":"циклы длины ≥ 2 (длина 2 = взаимная рецепция)","items":{"items":{"$ref":"#/components/schemas/Body"},"type":"array"},"type":"array"},"nodes":{"items":{"$ref":"#/components/schemas/DispositionNode"},"type":"array"},"terminals":{"description":"самодиспонирующие планеты (циклы длины 1)","items":{"$ref":"#/components/schemas/Body"},"type":"array"}},"type":"object"},"DomicileRulersFull":{"description":"полная таблица: два массива по 12 тел, индекс Овен..Рыбы","properties":{"day":{"items":{"$ref":"#/components/schemas/Body"},"maxItems":12,"minItems":12,"type":"array"},"night":{"items":{"$ref":"#/components/schemas/Body"},"maxItems":12,"minItems":12,"type":"array"}},"required":["day","night"],"type":"object"},"DomicileRulersSparse":{"additionalProperties":{"$ref":"#/components/schemas/DayNightRulers"},"description":"разреженная таблица: ключи — имена знаков (aries..pisces), значения — {day,night}; неуказанные знаки берут современного одиночного управителя","type":"object"},"EclipseInfo":{"properties":{"datetime_utc":{"type":"string"},"kind":{"type":"string"}},"type":"object"},"Error":{"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"},"ExtrasResult":{"properties":{"algol_longitude":{"oneOf":[{"type":"number"},{"type":"null"}]},"algol_minima":{"items":{"type":"string"},"type":"array"},"lunar_eclipse":{"oneOf":[{"$ref":"#/components/schemas/EclipseInfo"},{"type":"null"}]},"solar_eclipse":{"oneOf":[{"$ref":"#/components/schemas/EclipseInfo"},{"type":"null"}]}},"type":"object"},"GeoCity":{"properties":{"admin1":{"type":"string"},"country":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"},"name":{"type":"string"},"population":{"type":"integer"},"tz":{"type":"string"}},"type":"object"},"GeoLocation":{"properties":{"altitude":{"default":0,"description":"метры","type":"number"},"latitude":{"description":"градусы, положительные к северу","type":"number"},"longitude":{"description":"градусы, положительные к востоку","type":"number"}},"required":["latitude","longitude"],"type":"object"},"GlobalCalendar":{"description":"небо года (все шесть блоков)","properties":{"eclipses":{"items":{"$ref":"#/components/schemas/CalendarEclipse"},"type":"array"},"from":{"format":"date-time","type":"string"},"ingresses":{"items":{"$ref":"#/components/schemas/Ingress"},"type":"array"},"moon_phases":{"items":{"$ref":"#/components/schemas/MoonPhaseEvent"},"type":"array"},"retrograde_periods":{"items":{"$ref":"#/components/schemas/RetrogradePeriod"},"type":"array"},"stations":{"items":{"$ref":"#/components/schemas/Station"},"type":"array"},"to":{"format":"date-time","type":"string"},"transit_aspects":{"items":{"$ref":"#/components/schemas/TransitAspect"},"type":"array"}},"type":"object"},"Health":{"properties":{"engine":{"type":"string"},"precision":{"type":"string"},"service":{"example":"astro","type":"string"},"status":{"example":"ok","type":"string"}},"type":"object"},"HouseSystem":{"default":"koch","enum":["koch","placidus","whole_sign","equal","regiomontanus","campanus"],"type":"string"},"Houses":{"properties":{"ascendant":{"type":"number"},"cusps":{"items":{"type":"number"},"maxItems":12,"minItems":12,"type":"array"},"descendant":{"description":"Десцендент = asc + 180°","type":"number"},"house_rulers":{"items":{"properties":{"almuten":{"$ref":"#/components/schemas/Body"},"co_rulers":{"items":{"$ref":"#/components/schemas/Body"},"type":"array"},"house":{"maximum":12,"minimum":1,"type":"integer"},"ruler":{"description":"управитель(и) знака на куспиде; 1–2 (двойные обители modern по секте или оси spbaa)","items":{"$ref":"#/components/schemas/Body"},"type":"array"}},"type":"object"},"type":"array"},"ic":{"description":"Imum Coeli = mc + 180°","type":"number"},"intercepted_signs":{"items":{"$ref":"#/components/schemas/Sign"},"type":"array"},"midheaven":{"type":"number"},"system":{"$ref":"#/components/schemas/HouseSystem"},"vertex":{"oneOf":[{"type":"number"},{"type":"null"}]}},"type":"object"},"Ingress":{"description":"тело, входящее в знак (ретроградные повторные пересечения — отдельные записи)","properties":{"body":{"$ref":"#/components/schemas/Body"},"exact":{"format":"date-time","type":"string"},"from_sign":{"$ref":"#/components/schemas/Sign","description":"знак, который покинуло"},"retrograde":{"description":"направление через границу","type":"boolean"},"sign":{"$ref":"#/components/schemas/Sign","description":"знак, в который вошло"}},"type":"object"},"LunarDay":{"description":"лунный день 1–30 ПО ВОСХОДУ ЛУНЫ в месте карты (школа Вронского/Величко): день 1 = новолуние → первый восход Луны, каждый следующий день начинается с восхода Луны, последний день цикла (29/30) кончается следующим новолунием. Локация-зависим; отсутствует на полярных широтах без восхода Луны. Блок fields: lunar_day (в профиле horary выключен)","properties":{"day_end":{"description":"конец (следующий восход Луны, либо новолуние для последнего дня цикла)","format":"date-time","type":"string"},"day_start":{"description":"начало текущего лунного дня (новолуние для дня 1, иначе восход Луны)","format":"date-time","type":"string"},"moonset":{"description":"ближайший заход Луны после момента карты (справочно)","format":"date-time","type":"string"},"new_moon":{"description":"новолуние, открывшее текущий цикл","format":"date-time","type":"string"},"number":{"maximum":30,"minimum":1,"type":"integer"}},"type":"object"},"MinorAspectHit":{"description":"гармонический минорный аспект между двумя телами","properties":{"a":{"$ref":"#/components/schemas/Body"},"angle":{"type":"number"},"applying":{"type":"boolean"},"b":{"$ref":"#/components/schemas/Body"},"kind":{"enum":["semisextile","decile","novile","semisquare","septile","quintile","binovile","biseptile","tridecile","sesquiquadrate","biquintile","triseptile","quadranovile"],"type":"string"},"orb":{"type":"number"}},"type":"object"},"MomentRequest":{"properties":{"datetime_utc":{"format":"date-time","type":"string"},"location":{"oneOf":[{"$ref":"#/components/schemas/GeoLocation"},{"type":"null"}]}},"required":["datetime_utc"],"type":"object"},"MoonPathSegment":{"description":"сегмент с постоянным знаком и натальным домом","properties":{"from":{"format":"date-time","type":"string"},"natal_house":{"maximum":12,"minimum":1,"type":"integer"},"sign":{"$ref":"#/components/schemas/Sign"},"to":{"format":"date-time","type":"string"}},"type":"object"},"MoonPhaseEvent":{"description":"фаза Луны (элонгация пересекает 0/90/180/270°)","properties":{"eclipse":{"description":"задано, если эта сизигия является затмением","enum":["solar","lunar"],"nullable":true,"type":"string"},"exact":{"format":"date-time","type":"string"},"moon_longitude":{"type":"number"},"moon_sign":{"$ref":"#/components/schemas/Sign"},"phase":{"enum":["new","first_quarter","full","last_quarter"],"type":"string"},"sun_sign":{"$ref":"#/components/schemas/Sign"}},"type":"object"},"MoonSequence":{"description":"последовательность аспектов Луны в пределах её текущего знака (хорар)","properties":{"ingress_at":{"description":"= moon_void.next_sign_at","format":"date-time","type":"string"},"last":{"description":"последний точный аспект до момента карты (в пределах текущего знака), либо null","properties":{"body":{"$ref":"#/components/schemas/Body"},"exact":{"format":"date-time","type":"string"},"kind":{"enum":["conjunction","sextile","square","trine","opposition"],"type":"string"}},"type":"object"},"upcoming":{"description":"будущие точные аспекты до ингрессии в знак, по возрастанию; пусто тогда и только тогда, когда moon_void.void","items":{"properties":{"body":{"$ref":"#/components/schemas/Body"},"exact":{"format":"date-time","type":"string"},"kind":{"enum":["conjunction","sextile","square","trine","opposition"],"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"MoonTransit":{"properties":{"from":{"format":"date-time","type":"string"},"house_path":{"description":"сегменты знак + натальный дом (только при натальной карте с указанным местом)","items":{"$ref":"#/components/schemas/MoonPathSegment"},"type":"array"},"to":{"format":"date-time","type":"string"},"void_windows":{"items":{"$ref":"#/components/schemas/MoonVoidWindow"},"type":"array"}},"type":"object"},"MoonTransitRequest":{"properties":{"from":{"format":"date-time","type":"string"},"natal":{"$ref":"#/components/schemas/NatalRequest"},"to":{"description":"≤ 400 дней (~13 месяцев) после from","format":"date-time","type":"string"}},"required":["natal","from","to"],"type":"object"},"MoonVoidWindow":{"description":"окно Луны без курса (Луна больше не образует аспектов до своей ингрессии)","properties":{"clipped_end":{"description":"выходит за конец интервала; отсутствует, когда false","type":"boolean"},"clipped_start":{"description":"уже открыто в начале интервала; отсутствует, когда false","type":"boolean"},"from":{"format":"date-time","type":"string"},"spica_exception":{"description":"отсутствует, когда false","type":"boolean"},"to":{"format":"date-time","type":"string"},"via_combusta":{"description":"отсутствует, когда false","type":"boolean"}},"type":"object"},"NatalChart":{"properties":{"almuten":{"$ref":"#/components/schemas/Almuten"},"angle_aspects":{"description":"аспекты от объектов ко всем четырём углам карты (Asc/MC/Dsc/IC); Dsc/IC считаются прямо, каждый хит держит орб по умолчанию своего вида аспекта; присутствует при наличии домов","items":{"$ref":"#/components/schemas/AngleAspect"},"type":"array"},"aspects":{"items":{"$ref":"#/components/schemas/AspectHit"},"type":"array"},"chart_shape":{"$ref":"#/components/schemas/ChartShape"},"configurations":{"description":"конфигурации аспектов (большой трин/крест, тау-квадрат, йод, стеллиум, …)","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"},"datetime_utc":{"format":"date-time","type":"string"},"declination_aspects":{"items":{"$ref":"#/components/schemas/DeclAspect"},"type":"array"},"disposition":{"$ref":"#/components/schemas/Disposition"},"final_dispositor":{"$ref":"#/components/schemas/Body","description":"финальный диспозитор эффективной схемы, либо null"},"houses":{"$ref":"#/components/schemas/Houses"},"julian_day_ut":{"type":"number"},"lunar_day":{"$ref":"#/components/schemas/LunarDay"},"minor_aspects":{"description":"гармонические минорные аспекты (по запросу minor_aspects)","items":{"$ref":"#/components/schemas/MinorAspectHit"},"type":"array"},"moon_phase":{"enum":["waxing","waning"],"type":"string"},"moon_sequence":{"$ref":"#/components/schemas/MoonSequence"},"moon_void":{"properties":{"next_sign_at":{"type":"string"},"spica_exception":{"description":"Луна в соединении со Спикой (±1°) — средневековая защита Луны без курса/поражённой Луны","type":"boolean"},"start":{"description":"начало холостого окна (последний точный аспект Луны в знаке, либо её вход в знак, если аспектов не было); только при void=true","type":"string"},"until":{"type":"string"},"via_combusta":{"description":"Луна в Via Combusta (15° Весов – 15° Скорпиона)","type":"boolean"},"void":{"type":"boolean"}},"type":"object"},"objects":{"items":{"$ref":"#/components/schemas/ObjectPosition"},"type":"array"},"orbs":{"additionalProperties":{"type":"number"},"description":"фактически применённые эффективные допуски орба для каждого тела (присутствует только в режиме полусумм орбов — moiety)","type":"object"},"planetary_hour":{"$ref":"#/components/schemas/PlanetaryHour"},"receptions":{"$ref":"#/components/schemas/Receptions"},"sect":{"enum":["diurnal","nocturnal"],"type":"string"},"sign_rulers":{"description":"управитель(и) каждого знака 0..11 по схеме запроса; каждый элемент — массив из 1–2 тел (два на двойных обителях modern по секте и осях spbaa; активный первым)","items":{"items":{"$ref":"#/components/schemas/Body"},"type":"array"},"maxItems":12,"minItems":12,"type":"array"},"star_conjunctions":{"description":"соединения неподвижных звёзд с планетами и углами карты","items":{"$ref":"#/components/schemas/StarConjunction"},"type":"array"},"star_positions":{"description":"полный каталог неподвижных звёзд с долготами, для нанесения звёзд вокруг колеса (в стиле ZET)","items":{"$ref":"#/components/schemas/StarPosition"},"type":"array"},"wide_angle_aspects":{"description":"аспекты при орбах по соглашению ко всем четырём углам, включая зеркала Dsc/IC (по запросу wide_aspects)","items":{"$ref":"#/components/schemas/WideAngleAspect"},"type":"array"},"wide_aspects":{"description":"внутрикарточные аспекты при орбах по соглашению (по запросу wide_aspects); derived=в расширенной полосе","items":{"$ref":"#/components/schemas/WideAspect"},"type":"array"},"zodiac":{"$ref":"#/components/schemas/Zodiac"}},"type":"object"},"NatalRequest":{"properties":{"asc_longitude":{"description":"кармическая карта: строить дома от ЭТОЙ долготы Асцендента вместо горизонта (например, ASC = Восходящий узел, метод Шестопалова). Система домов сохраняется — для широты места решается соответствующий ARMC, куспиды Коха/Плацидуса остаются осмысленными. Требует location; только тропический зодиак","type":"number"},"datetime_utc":{"format":"date-time","type":"string"},"domicile_rulers":{"description":"своя день/ночь-таблица обителей; переопределяет rulership_scheme для dignity/dispositor/sign_rulers/house_rulers/receptions/альмутенов (оба владыки знака = обитель, активный по секте). Формат: полный (day[12]/night[12]) или разреженный (sign->{day,night})","oneOf":[{"$ref":"#/components/schemas/DomicileRulersFull"},{"$ref":"#/components/schemas/DomicileRulersSparse"}]},"fields":{"description":"`+block`/`-block` переключают поверх пресета, либо голый белый список `a,b`","type":"string"},"house_system":{"$ref":"#/components/schemas/HouseSystem"},"location":{"oneOf":[{"$ref":"#/components/schemas/GeoLocation"},{"type":"null"}]},"minor_aspects":{"default":false,"description":"также выдавать minor_aspects — гармонические минорные (semisextile, semisquare, quintile, семейства septile/novile, …) при узких орбах","type":"boolean"},"objects":{"items":{"$ref":"#/components/schemas/Body"},"type":"array"},"orbs":{"additionalProperties":{"type":"number"},"description":"допуски орба для каждого тела (классический метод полусумм орбов — moiety) для пяти птолемеевых аспектов; квинконс сохраняет фиксированный орб 3° (не отбрасывается). Присутствует (даже {}) → аспекты используют их; частичная карта, неуказанные тела сохраняют классические значения по умолчанию (Солнце 15°, Луна 12°, …). См. /docs/orbs","type":"object"},"precision":{"description":"десятичное округление для числовых полей; переопределяет значение пресета по умолчанию","maximum":8,"minimum":0,"type":"integer"},"profile":{"description":"пресет проекции ответа (см. описание эндпоинта); параметр запроса `?profile=` имеет приоритет над этим","enum":["raw","natal_interp","horary","calendar"],"type":"string"},"rulership_scheme":{"default":"modern","description":"схема для sign_rulers, house_rulers и диспозитора каждого объекта. modern: три знака с секта-зависимыми двойными обителями (Скорпион день Плутон/ночь Марс, Козерог день Сатурн/ночь Уран, Рыбы день Нептун/ночь Юпитер), активный по секте первым; Водолей — фиксированная пара [uranus, saturn] (Уран всегда старший, Сатурн всегда со-управитель, секта порядок НЕ меняет). Двойные обители не влияют на поле dignity объекта (оно классическое одиночное)","enum":["traditional","modern","spbaa"],"type":"string"},"wide_aspects":{"default":false,"description":"также выдавать wide_aspects/wide_angle_aspects при орбах по соглашению (мажорные 6°, светила 8°, квинконс 3°) с зеркалами Dsc/IC","type":"boolean"},"zodiac":{"$ref":"#/components/schemas/Zodiac"}},"required":["datetime_utc"],"type":"object"},"ObjectPosition":{"properties":{"body":{"$ref":"#/components/schemas/Body"},"decan_ruler":{"$ref":"#/components/schemas/Body","description":"позиционный; присутствует для всех объектов"},"declination":{"description":"экваториальное склонение, градусы","type":"number"},"degrees_in_sign":{"type":"number"},"dignity":{"$ref":"#/components/schemas/Dignity","description":"западная классическая; только десять планет; отсутствует для математических точек и Хирона"},"dignity_school":{"description":"достоинство школы Ананды (отдельная система); присутствует для десяти планет, Хирона, Прозерпины и узлов","properties":{"category":{"enum":["domicile_major","domicile_minor","exaltation","kinship","neutral","enmity","fall","detriment"],"type":"string"},"score":{"description":"обитель 6 · экзальтация 5 · родство 4 · нейтрально 3 · вражда 2 · падение 1 · изгнание 0","maximum":6,"minimum":0,"type":"integer"}},"type":"object"},"dispositor":{"$ref":"#/components/schemas/Body","description":"основной управитель знака объекта по схеме запроса"},"house":{"description":"присутствует, когда в карте есть дома","maximum":12,"minimum":1,"type":"integer"},"longitude":{"description":"эклиптическая долгота [0,360)","type":"number"},"retrograde":{"type":"boolean"},"sign":{"$ref":"#/components/schemas/Sign"},"solar_status":{"description":"только десять планет; отсутствует для математических точек и Хирона","enum":["cazimi","combust","under_beams","free"],"type":"string"},"speed_class":{"description":"только физические тела; отсутствует для математических точек","enum":["fast","slow"],"type":"string"},"speed_longitude":{"description":"град/день; отрицательно = ретроградный","type":"number"},"stationary":{"description":"только физические тела; отсутствует для математических точек","type":"boolean"},"term_ruler":{"$ref":"#/components/schemas/Body","description":"позиционный; присутствует для всех объектов"},"unaspected":{"description":"не образует птолемеевского аспекта с другой из десяти планет (квинконс исключён); присутствует для десяти планет","type":"boolean"}},"type":"object"},"PlanetaryHour":{"description":"планетный час + управители дня/часа (классические неравные часы от восхода)","properties":{"day_ruler":{"$ref":"#/components/schemas/Body"},"hour_index":{"description":"1-12 день, 13-24 ночь","maximum":24,"minimum":1,"type":"integer"},"hour_ruler":{"$ref":"#/components/schemas/Body"},"is_day":{"type":"boolean"},"next_sunrise":{"format":"date-time","type":"string"},"sunrise":{"format":"date-time","type":"string"},"sunset":{"format":"date-time","type":"string"}},"type":"object"},"Positions":{"properties":{"datetime_utc":{"format":"date-time","type":"string"},"julian_day_ut":{"type":"number"},"objects":{"items":{"$ref":"#/components/schemas/ObjectPosition"},"type":"array"}},"type":"object"},"PrimaryDirections":{"properties":{"armc":{"description":"прямое восхождение MC (ARMC, градусы)","type":"number"},"birth":{"format":"date-time","type":"string"},"events":{"description":"перфекции в окне max_years, отсортированы по возрасту","items":{"$ref":"#/components/schemas/DirectionEvent"},"type":"array"},"key":{"enum":["naibod","ptolemy"],"type":"string"},"latitude":{"type":"number"},"obliquity":{"description":"истинный наклон эклиптики (градусы)","type":"number"}},"type":"object"},"PrimaryDirectionsRequest":{"properties":{"converse":{"default":true,"description":"также считать конверсные дирекции","type":"boolean"},"key":{"default":"naibod","description":"ключ дуга→время: naibod 0°59′08″/год или ptolemy 1°/год","enum":["naibod","ptolemy"],"type":"string"},"max_years":{"default":90,"description":"верхняя граница возраста для событий","type":"number"},"natal":{"$ref":"#/components/schemas/NatalRequest"}},"required":["natal"],"type":"object"},"ProgressedChart":{"properties":{"age_years":{"type":"number"},"aspects":{"items":{"$ref":"#/components/schemas/AspectHit"},"type":"array"},"natal":{"$ref":"#/components/schemas/NatalChart"},"progressed":{"$ref":"#/components/schemas/NatalChart"}},"type":"object"},"ProgressedRequest":{"properties":{"method":{"default":"secondary","enum":["secondary","symbolic"],"type":"string"},"natal":{"$ref":"#/components/schemas/NatalRequest"},"rate":{"default":1,"type":"number"},"target":{"format":"date-time","type":"string"}},"required":["natal","target"],"type":"object"},"Reception":{"properties":{"a":{"$ref":"#/components/schemas/Body"},"aspect":{"description":"аспект между парой, если есть","properties":{"kind":{"enum":["conjunction","sextile","square","trine","opposition","quincunx"],"type":"string"},"orb":{"type":"number"}},"type":"object"},"b":{"$ref":"#/components/schemas/Body"},"scheme":{"description":"только рецепции по управлению","enum":["traditional","modern"],"type":"string"}},"type":"object"},"Receptions":{"description":"взаимные рецепции среди десяти планет","properties":{"by_exaltation":{"items":{"$ref":"#/components/schemas/Reception"},"type":"array"},"by_face":{"items":{"$ref":"#/components/schemas/Reception"},"type":"array"},"by_rulership":{"description":"каждая пара помечена схемой (traditional/modern/effective), при которой она действует","items":{"$ref":"#/components/schemas/Reception"},"type":"array"}},"type":"object"},"RetrogradePeriod":{"description":"промежуток ретроградного движения (парные станции); обрезается по интервалу, если выходит за край","properties":{"body":{"$ref":"#/components/schemas/Body"},"clipped_end":{"description":"конец — край интервала, а не настоящая станция","type":"boolean"},"clipped_start":{"description":"начало — край интервала, а не настоящая станция","type":"boolean"},"end":{"format":"date-time","type":"string"},"sign_end":{"$ref":"#/components/schemas/Sign"},"sign_start":{"$ref":"#/components/schemas/Sign"},"start":{"format":"date-time","type":"string"}},"type":"object"},"ReturnChart":{"properties":{"aspects":{"items":{"$ref":"#/components/schemas/AspectHit"},"type":"array"},"natal":{"$ref":"#/components/schemas/NatalChart"},"returned":{"$ref":"#/components/schemas/NatalChart"}},"type":"object"},"ReturnRequest":{"properties":{"around":{"format":"date-time","type":"string"},"body":{"$ref":"#/components/schemas/Body"},"location":{"oneOf":[{"$ref":"#/components/schemas/GeoLocation"},{"type":"null"}]},"natal":{"$ref":"#/components/schemas/NatalRequest"}},"required":["natal","body","around"],"type":"object"},"Sign":{"enum":["aries","taurus","gemini","cancer","leo","virgo","libra","scorpio","sagittarius","capricorn","aquarius","pisces"],"type":"string"},"SolarChart":{"properties":{"aspects":{"items":{"$ref":"#/components/schemas/AspectHit"},"type":"array"},"natal":{"$ref":"#/components/schemas/NatalChart"},"solar":{"$ref":"#/components/schemas/NatalChart"}},"type":"object"},"SolarRequest":{"properties":{"location":{"oneOf":[{"$ref":"#/components/schemas/GeoLocation"},{"type":"null"}]},"natal":{"$ref":"#/components/schemas/NatalRequest"},"year":{"type":"integer"}},"required":["natal","year"],"type":"object"},"SpbaaScheme":{"description":"диспозиция СПбАА — граф с несколькими родителями (у планеты может быть два диспозитора). Экспериментально; петли/цепочки отложены.","properties":{"experimental":{"type":"boolean"},"nodes":{"items":{"properties":{"body":{"$ref":"#/components/schemas/Body"},"disposes_to":{"description":"1–2 диспозитора","items":{"$ref":"#/components/schemas/Body"},"type":"array"}},"type":"object"},"type":"array"},"terminals":{"description":"планеты в знаке, которым сами управляют","items":{"$ref":"#/components/schemas/Body"},"type":"array"}},"type":"object"},"StarConjunction":{"description":"неподвижная звезда в соединении с планетой или углом карты (по эклиптической долготе)","properties":{"angle":{"enum":["ascendant","midheaven","descendant","imum_coeli"],"type":"string"},"body":{"$ref":"#/components/schemas/Body","description":"планета в соединении со звездой (взаимоисключающе с angle)"},"magnitude":{"description":"видимая звёздная величина (меньше = ярче)","type":"number"},"orb":{"description":"отклонение от точного, градусы","type":"number"},"star":{"example":"Regulus","type":"string"},"star_longitude":{"description":"тропическая долгота, прецессированная на дату карты","type":"number"}},"type":"object"},"StarPosition":{"description":"эклиптическая долгота неподвижной звезды на дату карты (для нанесения вокруг колеса)","properties":{"anchor":{"description":"постоянный якорь колеса (Королевская звезда / Алголь / Спика); рендереры наносят звезду при anchor ИЛИ соединении","type":"boolean"},"longitude":{"description":"тропическая долгота, прецессированная на дату карты","type":"number"},"magnitude":{"description":"видимая звёздная величина (меньше = ярче)","type":"number"},"star":{"example":"Aldebaran","type":"string"}},"type":"object"},"Station":{"description":"ретроградная/директная станция (скорость меняет знак)","properties":{"body":{"$ref":"#/components/schemas/Body"},"exact":{"format":"date-time","type":"string"},"kind":{"description":"retrograde = D→R (начало ретро), direct = R→D (конец)","enum":["retrograde","direct"],"type":"string"},"longitude":{"type":"number"},"sign":{"$ref":"#/components/schemas/Sign"}},"type":"object"},"SynastryChart":{"properties":{"a":{"$ref":"#/components/schemas/NatalChart"},"a_in_b_houses":{"items":{"$ref":"#/components/schemas/BodyInHouse"},"type":"array"},"a_to_b_angles":{"description":"кросс-аспекты: тела A к углам карты B (все четыре угла); пусто без домов B","items":{"$ref":"#/components/schemas/AngleAspect"},"type":"array"},"aspects":{"items":{"$ref":"#/components/schemas/AspectHit"},"type":"array"},"b":{"$ref":"#/components/schemas/NatalChart"},"b_in_a_houses":{"items":{"$ref":"#/components/schemas/BodyInHouse"},"type":"array"},"b_to_a_angles":{"description":"кросс-аспекты: тела B к углам карты A","items":{"$ref":"#/components/schemas/AngleAspect"},"type":"array"}},"type":"object"},"SynastryRequest":{"properties":{"a":{"$ref":"#/components/schemas/NatalRequest"},"b":{"$ref":"#/components/schemas/NatalRequest"},"orb":{"description":"единый максимальный орб для всех аспектов","type":"number"}},"required":["a","b"],"type":"object"},"TransitAspect":{"description":"точный мунданный аспект между двумя движущимися телами","properties":{"angle":{"type":"number"},"body_a":{"$ref":"#/components/schemas/Body"},"body_b":{"$ref":"#/components/schemas/Body"},"exact":{"format":"date-time","type":"string"},"kind":{"enum":["conjunction","sextile","square","trine","opposition","quincunx"],"type":"string"},"longitude":{"description":"долгота body_a в точный момент (якорь аспекта)","type":"number"},"retrograde_a":{"type":"boolean"},"retrograde_b":{"type":"boolean"}},"type":"object"},"TransitsChart":{"properties":{"aspects":{"items":{"$ref":"#/components/schemas/AspectHit"},"type":"array"},"natal":{"$ref":"#/components/schemas/NatalChart"},"transit":{"$ref":"#/components/schemas/Positions"}},"type":"object"},"TransitsRequest":{"properties":{"natal":{"$ref":"#/components/schemas/NatalRequest"},"orb":{"description":"единый максимальный орб для всех аспектов","type":"number"},"transit":{"$ref":"#/components/schemas/MomentRequest"}},"required":["natal","transit"],"type":"object"},"UtcRequest":{"properties":{"datetime_local":{"example":"1990-05-15T12:00","type":"string"},"tz":{"example":"Europe/Moscow","type":"string"}},"required":["datetime_local","tz"],"type":"object"},"UtcResult":{"properties":{"abbreviation":{"type":"string"},"datetime_utc":{"type":"string"},"offset":{"example":"+04:00","type":"string"},"offset_seconds":{"type":"integer"}},"type":"object"},"WideAngleAspect":{"description":"аспект при орбе по соглашению к углу карты (все четыре)","properties":{"angle":{"enum":["ascendant","midheaven","descendant","imum_coeli"],"type":"string"},"body":{"$ref":"#/components/schemas/Body"},"derived":{"description":"за пределами орба по умолчанию, либо зеркало Dsc/IC; отсутствует, когда false","type":"boolean"},"exact_angle":{"type":"number"},"kind":{"enum":["conjunction","sextile","square","trine","opposition","quincunx"],"type":"string"},"orb":{"type":"number"}},"type":"object"},"WideAspect":{"description":"внутрикарточный аспект при орбах по соглашению","properties":{"a":{"$ref":"#/components/schemas/Body"},"angle":{"type":"number"},"b":{"$ref":"#/components/schemas/Body"},"derived":{"description":"только в расширенной полосе (за пределами орба по умолчанию); отсутствует, когда false","type":"boolean"},"kind":{"enum":["conjunction","sextile","square","trine","opposition","quincunx"],"type":"string"},"orb":{"type":"number"}},"type":"object"},"Zodiac":{"default":"tropical","enum":["tropical","sidereal"],"type":"string"}}},"info":{"description":"REST API поверх ядра астрологических расчётов (движок Swiss Ephemeris, полная встроенная точность `.se1`). Геоцентрические эклиптические положения, куспиды домов, углы и аспекты. Все временные метки — UTC (RFC 3339). Идентичный расчёт также выполняется на стороне клиента как WebAssembly, поэтому веб-приложение и API никогда не расходятся. CORS открыт: разрешён любой Origin (GET/POST/OPTIONS), браузерные клиенты с других доменов могут обращаться к API напрямую. Справочник для чтения: docs/API.md (доступен по /docs).\n","license":{"name":"Proprietary"},"title":"Astro API","version":"0.1.0"},"openapi":"3.1.0","paths":{"/health":{"get":{"operationId":"getHealth","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}},"description":"Сервис работает"}},"summary":"Проверка работоспособности и информация о движке"}},"/v1/aspect-hits":{"post":{"description":"Транзитное тело задаётся `transit_body` (одно) ИЛИ `transit_bodies` (массив — батч: натальная карта считается один раз, каждое событие в `hits`/`angle_hits` несёт своё `transit_body`; один батч-вызов заменяет N последовательных).\n","operationId":"postAspectHits","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AspectHitsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AspectHits"}}},"description":"Список попаданий"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Точные даты транзитных аспектов на интервале + окна орба"}},"/v1/calendar/global":{"get":{"description":"«Фон года», независимый от какой-либо натальной карты: ингрессии по знакам, ретроградные станции и периоды, мунданные (транзит×транзит) аспекты, фазы Луны и затмения на интервале дат. Один пакетный проход по эфемеридам — вычисляется один раз и кэшируется для всех. Каждое `exact` — истинное пересечение методом нахождения корней (момент UTC), а не оценка; раскладка по часовым поясам — задача клиента. Луна исключена из ингрессий и пар аспектов, если явно не указана в `bodies` (её ~146 ингрессий/год — вопрос конкретного пользователя/скоринга, а не фон года).\n","operationId":"getGlobalCalendar","parameters":[{"description":"начало интервала (RFC 3339, UTC)","in":"query","name":"from","required":true,"schema":{"format":"date-time","type":"string"}},{"description":"конец интервала (UTC); ≤ ~2 лет после `from`","in":"query","name":"to","required":true,"schema":{"format":"date-time","type":"string"}},{"description":"список через запятую; по умолчанию = sun..pluto (без Луны). Управляет ингрессиями + станциями; если задан явно, мунданные аспекты перебирают все пары среди этих тел.","in":"query","name":"bodies","required":false,"schema":{"type":"string"}},{"description":"список видов аспектов через запятую; по умолчанию = пять мажорных (conjunction,sextile,square,trine,opposition).","in":"query","name":"aspects","required":false,"schema":{"type":"string"}},{"in":"query","name":"zodiac","required":false,"schema":{"enum":["tropical","sidereal"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalCalendar"}}},"description":"Глобальный календарь"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Небо года как один кэшированный объект (глобальный астрокалендарь)"}},"/v1/charts/directions/primary":{"post":{"description":"Первичные дирекции методом Плацидуса (semi-arc). Сигнификаторы Asc/MC/ Солнце/Луна, промиссоры — десять планет и их птолемеевы аспекты. Дуга прямого восхождения переводится в годы ключом Naibod (по умолчанию) или Ptolemy. Считается тропически; требуется место рождения.\n","operationId":"postPrimaryDirections","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrimaryDirectionsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrimaryDirections"}}},"description":"Список дирекций по возрасту"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Первичные дирекции (Плацидус, полудуги, зодиакальные)"}},"/v1/charts/natal":{"post":{"description":"Проекция ответа (необязательно). `profile` выбирает пресет, который одновременно пропускает вычисление ненужных аналитических блоков и сокращает JSON: `raw` (по умолчанию, всё, побайтово идентично непроецированному ответу), `natal_interp` (набор для интерпретации: убирает громоздкую поблочную астрономию и блоки только для отображения, округляет до 2 знаков), `horary` (только необходимое для хорара), `calendar` (только положения + дома). `precision` переопределяет десятичное округление. `fields=+a,-b` включает отдельные блоки поверх пресета (голое `fields=a,b` — это явный белый список). Параметры запроса имеют приоритет над теми же ключами в теле запроса. Неизвестный `profile` даёт 422.\n","operationId":"postNatalChart","parameters":[{"in":"query","name":"profile","required":false,"schema":{"enum":["raw","natal_interp","horary","calendar"],"type":"string"}},{"in":"query","name":"precision","required":false,"schema":{"maximum":8,"minimum":0,"type":"integer"}},{"description":"Список через запятую; `+block`/`-block` переключают относительно пресета, голые имена образуют белый список.","in":"query","name":"fields","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"datetime_utc":"1990-05-15T09:20:00Z","house_system":"placidus","location":{"latitude":55.7558,"longitude":37.6178},"zodiac":"tropical"},"schema":{"$ref":"#/components/schemas/NatalRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NatalChart"}}},"description":"Рассчитанная карта"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Расчёт натальной карты (радикса)"}},"/v1/charts/natal.svg":{"get":{"description":"Натальная карта, отрисованная как SVG-колесо (та же геометрия, шрифты и глифы, что и в веб-клиенте), пригодная для прямого использования как `<img src>`. Неподвижные звёзды нанесены сразу за кольцом зодиака, каждая с нативной всплывающей подсказкой `<title>`; передайте `stars=false`, чтобы их скрыть. Цветовую схему задаёт `theme` (`light` по умолчанию или `dark`).\n","operationId":"getNatalWheelSvg","parameters":[{"in":"query","name":"datetime_utc","required":true,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"lat","required":false,"schema":{"type":"number"}},{"in":"query","name":"lon","required":false,"schema":{"type":"number"}},{"in":"query","name":"house_system","required":false,"schema":{"type":"string"}},{"in":"query","name":"zodiac","required":false,"schema":{"enum":["tropical","sidereal"],"type":"string"}},{"in":"query","name":"title","required":false,"schema":{"type":"string"}},{"in":"query","name":"stars","required":false,"schema":{"default":true,"type":"boolean"}},{"in":"query","name":"theme","required":false,"schema":{"default":"light","enum":["light","dark"],"type":"string"}}],"responses":{"200":{"content":{"image/svg+xml":{"schema":{"type":"string"}}},"description":"Изображение колеса"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Натальное колесо как отдельное SVG-изображение"}},"/v1/charts/progressed":{"post":{"description":"Параметры запроса `?profile=&fields=&precision=` (только query) шейпят вложенные карты `natal`/`progressed`.\n","operationId":"postProgressedChart","parameters":[{"in":"query","name":"profile","required":false,"schema":{"enum":["raw","natal_interp","horary","calendar"],"type":"string"}},{"in":"query","name":"precision","required":false,"schema":{"maximum":8,"minimum":0,"type":"integer"}},{"in":"query","name":"fields","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgressedRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgressedChart"}}},"description":"Прогрессивная карта"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Вторичные прогрессии / символические дирекции"}},"/v1/charts/return":{"post":{"description":"Параметры запроса `?profile=&fields=&precision=` (только query) шейпят вложенные карты `natal`/`returned`.\n","operationId":"postReturnChart","parameters":[{"in":"query","name":"profile","required":false,"schema":{"enum":["raw","natal_interp","horary","calendar"],"type":"string"}},{"in":"query","name":"precision","required":false,"schema":{"maximum":8,"minimum":0,"type":"integer"}},{"in":"query","name":"fields","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReturnRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReturnChart"}}},"description":"Карта возвращения"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Карта возвращения (лунар / Сатурн / узловая) для любого тела"}},"/v1/charts/solar":{"post":{"description":"Параметры запроса `?profile=&fields=&precision=` (только query) шейпят вложенные карты `natal`/`solar`.\n","operationId":"postSolarChart","parameters":[{"in":"query","name":"profile","required":false,"schema":{"enum":["raw","natal_interp","horary","calendar"],"type":"string"}},{"in":"query","name":"precision","required":false,"schema":{"maximum":8,"minimum":0,"type":"integer"}},{"in":"query","name":"fields","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"natal":{"datetime_utc":"1990-05-15T09:20:00Z","location":{"latitude":55.7558,"longitude":37.6178}},"year":2026},"schema":{"$ref":"#/components/schemas/SolarRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolarChart"}}},"description":"Рассчитанный соляр"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Натальная карта + соляр на год, с взаимными аспектами"}},"/v1/charts/synastry":{"post":{"description":"Кроме взаимных аспектов тел, отдаёт кросс-контакты планета↔угол (`a_to_b_angles`/`b_to_a_angles`, все четыре угла второй карты) и наложения домов. Параметры запроса `?profile=&fields=&precision=` (только query) шейпят вложенные карты `a`/`b`.\n","operationId":"postSynastryChart","parameters":[{"in":"query","name":"profile","required":false,"schema":{"enum":["raw","natal_interp","horary","calendar"],"type":"string"}},{"in":"query","name":"precision","required":false,"schema":{"maximum":8,"minimum":0,"type":"integer"}},{"in":"query","name":"fields","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SynastryRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SynastryChart"}}},"description":"Рассчитанная синастрия"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Две натальные карты с взаимными аспектами между ними"}},"/v1/charts/transits":{"post":{"description":"Параметры запроса `?profile=&fields=&precision=` (только query, не в теле) шейпят вложенные карты `natal`/`transit` так же, как на /v1/charts/natal — пресет пропускает вычисление и сериализацию ненужных блоков обеих карт.\n","operationId":"postTransitsChart","parameters":[{"in":"query","name":"profile","required":false,"schema":{"enum":["raw","natal_interp","horary","calendar"],"type":"string"}},{"in":"query","name":"precision","required":false,"schema":{"maximum":8,"minimum":0,"type":"integer"}},{"in":"query","name":"fields","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"natal":{"datetime_utc":"1990-05-15T09:20:00Z","location":{"latitude":55.7558,"longitude":37.6178}},"transit":{"datetime_utc":"2026-07-02T10:00:00Z"}},"schema":{"$ref":"#/components/schemas/TransitsRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransitsChart"}}},"description":"Рассчитанные транзиты"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Натальная карта + положения на второй момент, с взаимными аспектами"}},"/v1/extras":{"get":{"operationId":"getExtras","parameters":[{"description":"Юлианский день (UT)","in":"query","name":"jd","required":true,"schema":{"type":"number"}},{"in":"query","name":"zodiac","required":false,"schema":{"enum":["tropical","sidereal"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtrasResult"}}},"description":"Дополнительные данные"}},"summary":"Ближайшие затмения и данные неподвижной звезды Алголь на момент"}},"/v1/geo/near":{"get":{"operationId":"getGeoNear","parameters":[{"in":"query","name":"lat","required":true,"schema":{"type":"number"}},{"in":"query","name":"lon","required":true,"schema":{"type":"number"}},{"in":"query","name":"lang","required":false,"schema":{"default":"ru","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/GeoCity"},{"type":"null"}]}}},"description":"Ближайший город (или null)"}},"summary":"Ближайший город к координате (обратное геокодирование)"}},"/v1/geo/pack":{"get":{"operationId":"getGeoPack","parameters":[{"in":"query","name":"lang","required":true,"schema":{"type":"string"}},{"description":"сброс кэша (игнорируется на сервере)","in":"query","name":"v","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"text/tab-separated-values":{}},"description":"Колоночный пакет V3, всегда Content-Encoding: gzip"},"304":{"description":"Не изменено (ETag)"}},"summary":"Офлайн-пакет городов для каждого языка (бинарный, gzip) — внутренний"}},"/v1/geo/search":{"get":{"operationId":"getGeoSearch","parameters":[{"in":"query","name":"q","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":8,"maximum":20,"type":"integer"}},{"in":"query","name":"lang","required":false,"schema":{"default":"ru","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GeoCity"},"type":"array"}}},"description":"Подходящие города, сначала совпадения по префиксу, затем по населению"}},"summary":"Поиск города для выбора места рождения (42 языка)"}},"/v1/geo/tzcity":{"get":{"operationId":"getGeoTzCity","parameters":[{"in":"query","name":"tz","required":true,"schema":{"type":"string"}},{"in":"query","name":"lang","required":false,"schema":{"default":"ru","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/GeoCity"},{"type":"null"}]}}},"description":"Город (или null)"}},"summary":"Самый населённый город в часовом поясе IANA"}},"/v1/geo/utc":{"post":{"operationId":"postGeoUtc","requestBody":{"content":{"application/json":{"example":{"datetime_local":"1990-05-15T12:00","tz":"Europe/Moscow"},"schema":{"$ref":"#/components/schemas/UtcRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UtcResult"}}},"description":"Преобразованный момент"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Местное гражданское время в часовом поясе IANA → UTC (исторический переход на летнее время)"}},"/v1/moon/transit":{"post":{"description":"Транзитная Луна на интервале (≤ 400 дней, ~13 месяцев — календарный год с запасом за один вызов): окна Луны без курса (Луна больше не образует аспектов до своей следующей ингрессии) и путь Луны через натальные дома. То же нахождение корней, что и в `moon_void`; для пути по домам нужна натальная карта с указанным местом.\n","operationId":"postMoonTransit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoonTransitRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoonTransit"}}},"description":"Календарь Луны"},"422":{"$ref":"#/components/responses/DomainError"}},"summary":"Календарь транзитной Луны (окна Луны без курса + путь по натальным домам)"}}},"servers":[{"description":"Production","url":"https://astro.yuretz.ru"},{"description":"Local","url":"http://127.0.0.1:8431"}]}