/api/astro/chart_analysis/1 кредитАнализ карты
Четырнадцать структурных показателей натальной карты за один вызов плюс одно сравнение натальной карты с транзитной. Это слой интерпретации над /api/astro/chart/: он даёт не положения, а то, что из них следует. Поля в ответе всегда одни и те же. `house_from_reference_chart` — дом, в который попадает `target_celestial` транзитной карты при отсчёте от `ref_celestial` натальной карты. `kendras` группирует натальные тела по угловым домам. `argala` и `virodhargala` — вмешивающиеся и препятствующие планеты для каждого тела, с ключами по 2-му, 4-му, 5-му и 11-му и по 12-му, 10-му, 9-му и 3-му домам соответственно. `bhava_arudhas` и `ghara_arudhas` — проекции домов и планет. `temporary_relationships` и `compound_relationships` — отношения дружбы между планетами в данной карте. `karakas` — чара-караки, `nakshatra_count` — расстояние в накшатрах от опорного тела, а `exaltation`, `debilitation`, `mooltrikona`, `own_rashi` и `pachakadi_relations` — проверки достоинств. Обе карты — всегда карты раши: `chart_name_natal` и `chart_name_transit` — произвольные метки и, несмотря на названия, не выбирают дробную карту. `mode` задаёт восемь или семь чара-карак, а `rahu` — истинные или средние узлы, причём только для блока карак. В `ref_celestial` можно передать 'ascendant'; тогда два поля отношений вернут null, потому что по определению описывают пары планет.
https://api.occultapi.com/api/astro/chart_analysis/Аутентификация
Передавайте ключ в заголовке X-API-Key. Ключ — это серверные учётные данные: никогда не вставляйте его в JavaScript на стороне браузера или в мобильное приложение.
X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/jsonПоля запроса
| Поле | Тип | Обязательно | Примечания |
|---|---|---|---|
| chart_name_natal | string | обязательный | ПРОИЗВОЛЬНАЯ метка, а НЕ выбор типа карты. Несмотря на название, этот эндпоинт всегда строит RashiChart; строка сохраняется как метка для отображения и никогда не проверяется. Подходит любая непустая строка. |
| chart_name_transit | string | обязательный | ПРОИЗВОЛЬНАЯ метка, а НЕ выбор типа карты. То же, что chart_name_natal. |
| date_time_natal | string (date-time) | обязательный | Ограничение ФОРМАТА. DRF DateTimeField: только ISO-8601 (входные форматы DRF по умолчанию), например "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" или "2026-09-01 06:00:00" (без часового пояса подразумевается UTC). |
| date_time_transit | string (date-time) | обязательный | Ограничение ФОРМАТА. DRF DateTimeField: только ISO-8601 (входные форматы DRF по умолчанию), например "2026-09-01T06:00:00+05:30", "2026-09-01T06:00:00Z" или "2026-09-01 06:00:00" (без часового пояса подразумевается UTC). |
| latitude_natal | number (double) | обязательный | min -180 · max 180 |
| latitude_transit | number (double) | обязательный | min -180 · max 180 |
| longitude_natal | number (double) | обязательный | min -180 · max 180 |
| longitude_transit | number (double) | обязательный | min -180 · max 180 |
| mode | integer | обязательный | 78Целое число, а не строка, но с ограничением: 8 — восемь чара-карак (включая питри-караку и Раху), 7 — семь карак (без Раху). Имеют смысл только 7 и 8. |
| rahu | string | обязательный | truemeanС учётом регистра, в нижнем регистре. Явно проверяется только 'true'; любое другое значение (включая 'mean' уходит в ветку else и ведёт себя как 'mean'. Влияет только на блок `karakas`. |
| ref_celestial | string | обязательный | sunmoonmercuryvenusmarsjupitersaturnuranusneptuneplutonorthtruenodenorthmeannodeС учётом регистра, всё в нижнем регистре. 'ascendant' работает для частей house_from_reference_chart и nakshatra_count; при ref_celestial='ascendant' поля temporary_relationships и compound_relationships намеренно возвращают null. Для нераспознанного названия возвращается 400 (KeyError). |
| target_celestial | string | обязательный | sunmoonmercuryvenusmarsjupitersaturnuranusneptuneplutonorthtruenodenorthmeannodeТот же набор значений, что у ref_celestial. |
| bhava_arudha_exceptions | boolean | необязательный | |
| graha_arudha_exceptions | boolean | необязательный | |
| nakshatras | string | необязательный |
Пример запроса
curl -X POST https://api.occultapi.com/api/astro/chart_analysis/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time_natal":"2025-11-21T05:45:23.715Z","date_time_transit":"2024-11-21T05:45:23.715Z","longitude_natal":77.5946,"latitude_natal":12.9716,"longitude_transit":26.1046,"latitude_transit":26.9124,"chart_name_natal":"RashiChart","chart_name_transit":"RashiChart","ref_celestial":"mercury","target_celestial":"mars","rahu":"true","mode":0}'Ответ
{
"_truncated": true,
"_note": "Response shortened for the catalogue.",
"preview": "{\"data\": {\"house_from_reference_chart\": {\"house_from_ref\": 9, \"zodiac_sign_in_ref\": \"Cn\"}, \"kendras\": [[\"venus\", \"jupiter\", \"pluto\"], [\"sun\", \"moon\", \"mercury\", \"mars\", \"uranus\", \"northtruenode\", \"northmeannode\", \"southtruenode\", \"southmeannode\"], [\"saturn\", \"neptune\"]], \"argala\": {\"sun\": {\"2\": null, \"4\": [\"northtruenode\", \"northmeannode\"], \"5\": [\"saturn\", \"neptune\"], \"11\": null}, \"moon\": {\"2\": null, \"4\": [\"northtruenode\", \"northmeannode\"], \"5\": [\"saturn\", \"neptune\"], \"11\": null}, \"mercury\": {\"2\": null, \"4\": [\"northtruenode\", \"northmeannode\"], \"5\": [\"saturn\", \"neptune\"], \"11\": null}, \"venus\": {\"2\": [\"sun\", \"moon\", \"mercury\", \"mars\"], \"4\": [\"pluto\"], \"5\": [\"northtruenode\", \"northmeannode\"], \"11\": [\"southtruenode\", \"southmeannode\"]}, \"mars\": {\"2\": null, \"4\": [\"northtruenode\", \"northmeannode\"], \"5\": [\"saturn\", \"neptune\"], \"11\": null}, \"jupiter\": {\"2\": [\"southtruenode\", \"southmeannode\"], \"4\": [\"venus\"], \"5\": [\"sun\", \"moon\", \"mercury\", \"mars\"], \"11\": [\"uranus\"]}, \"saturn\": {\"2\": null, \"4\": null, \"5\": [\"jupiter\"], \"11\": [\"pluto\"]}, \"uranus\": {\"2\": null, \"4\": [\"southtruenode\", \"southmeannode\"], \"5\": null, \"11\": [\"saturn\", \"neptune\"]}, \"neptune\": {\"2\": null, \"4\": null, \"5\": [\"jupiter\"], \"11\": [\"pluto\"]}, \"pluto\": {\"2\": [\"northtruenode\", \"northmeannode\"], \"4\": null, \"5\": [\"uranus\"], \"11\": [\"sun\", \"moon\", \"mercury\", \"mars\"]}, \"northtruenode\": {\"2\": [\"saturn\", \"neptune\"], \"4\": [\"uranus\"], \"5\": null, \"11\": null}, \"northmeannode\": {\"2\": [\"saturn\", \"neptune\"], \"4\": [\"uranus\"], \"5\": null, \"11\": null}, \"southtruenode\": {\"2\": null, \"4\": [\"sun\", \"moon\", \"mercury\", \"mars\"], \"5\": null, \"11\": null}, \"southmeannode\": {\"2\": null, \"4\": [\"sun\", \"moon\", \"mercury\", \"mars\"], \"5\": null, \"11\": null}}, \"virodhargala\": {\"sun\": {\"3\": [\"pluto\"], \"9\": [\"jupiter\"], \"10\": [\"southtruenode\", \"southmeannode\"], \"12\": [\"venus\"]}, \"moon\": {\"3\": [\"pluto\"], \"9\": [\"jupiter\"], \"10\": [\"southtruenode\", \"southmeannode\"], \"12\": [\"venus\"]}, \"mercury\": {\"3\": [\"pluto\"], \"9\": [\"jupiter\"], \"10\": [\"southtruenode\", \"southmeannode\"], \"12\": [\"venus\"]}, \"venus\": {\"3\": null, \"9\": null, \"10\": [\"jupiter\"], \"12\": null}, \"mars\": {\"3\": [\"pluto\"], \"9\": [\"jupiter\"], \"10\": [\"southtruenode\", \"southmeannode\"], \"12\": [\"venus\"]}, \"jupiter\": {\"3\": null, \"9\": [\"saturn\", \"neptune\"], \"10\": null, \"12\": null}, \"saturn\": {\"3\": [\"uranus\"], \"9\": [\"sun\", \"moon\", \"mercury\", \"mars\"], \"10\": null, \"12\": [\"northtruenode\", \"northmeannode\"]}, \"uranus\": {\"3\": [\"jupiter\"], \"9\": [\"pluto\"], \"10\": [\"northtruenode\", \"northmeannode\"], \"12\": null}, \"neptune\": {\"3\": [\"uranus\"], \"9\": [\"sun\", \"moon\", \"mercury\", \"mars\"], \"10\": null, \"12\": [\"northtruenode\", \"northmeannode\"]}, \"pluto\": {\"3\": [\"saturn\", \"neptune\"], \"9\": null, \"10\": [\"venus\"], \"12\": null}, \"northtruenode\": {\"3\": null, \"9\": [\"venus\"], \"10\": [\"sun\", \"moon\", \"mercury\", \"mars\"], \"12\": [\"pluto\"]}, \"northmeannode\": {\"3\": null, \"9\": [\"venus\"], \"10\": [\"sun\", \"moon\", \"mercury\", \"mars\"], \"12\": [\"pluto\"]}, \"southtruenode\": {\"3\": [\"venus\"], \"9\": null, \"10\": [\"uranus\"], \"12\": [\"jupiter\"]}, \"southmeannode\": {\"3\": [\"venus\"], \"9\": null, \"10\": [\"uranus\"], \"12\": [\"jupiter\"]}}, \"bhava_arudhas\": {\"A1\": \"Taurus\", \"A2\": \"Aries\", \"A3\": \"Scorpio\", \"A4\": \"Gemini\", \"A5\": \"Pisces\", \"A6\": \"Aries\", \"A7\": \"Pisces\", \"A8\": \"Scorpio\", \"A9\": \"Capricorn\", \"A10\": \"Cancer\", \"A11\": \"Leo\", \"A12\": \"Aquarius\"}, \"ghara_arudhas\": {\"A1\": \"Leo\", \"A2\": \"Leo\", \"A3\": \"Leo\", \"A4\": \"Cancer\", \"A5\": \"Leo\", \"A6\": \"Pisces\", \"A7\": \"Scorpio\", \"A8\": \"Pisces\", \"A9\": \"Scorpio\", \"A10\": \"Taurus\", \"A11\": \"Aries\", \"A12\": \"Aries\"}, \"temporary_relationships\": {\"friends\": [\"venus\", \"pluto\", \"northtruenode\", \"northmeannode\", \"southtruenode\", \"southmeannode\"], \"enemies\": [\"sun\", \"moon\", \"mars\", \"jupiter\", \"saturn\", \"uranus\", \"neptune\"]}, \"compound_relationships\": \"Satru\", \"karakas\": {\"ak\": {\"venus\": {\"degree\": 23, \"sign\": \"Li\", \"minutes\": 42, \"seconds\": 43}}, \"amk\": {\"mars\": {\"degree\": 17, \"sign\": \"Sc\", \"minutes\": 52, \"seconds\": 44}}, \"bk\": {\"moon\": {\"degree\": 15, \"sign\": \"Sc\", \"minutes\": 20, \"seconds\": 27}}, \"mk\": {\"northtruenode\""
}Записано с реального вызова ровно с этим запросом. Результаты лежат в data.
Ошибки
Ошибки списания кредитов приходят в виде { "error": "…", "message": "<code>", "is_error": true }. Людям показывайте error, а логику стройте на message. Подробнее — в справочнике ошибок.