curl -X POST https://api.occultapi.com/api/astro/chart/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"chart_name":"NavamsaChart","datetime":"2026-04-09T15:35:00+05:30","longitude":75.76861133842026,"latitude":26.849874414615,"notation":"degree","ayanamsa":"lahiri","ascendant_pos":"cusp","rahu":"true","true_mean":"Mean","refraction":false,"apply_correction":false,"correction_direction":"add","correction_deg":0,"correction_min":0,"correction_sec":0}'Основний ендпоінт карти: положення планет, поділ на доми й асцендент для заданого моменту й місця. Для звичайної натальної карти запитуйте карту раші (D-1); будь-яку з понад тридцяти дробових карт — Навамшу, Дасамшу, Двадасамшу, Шаштьямшу та інші — теж можна запитати за назвою. Передайте масив назв, і отримаєте кілька карт одним викликом; ключами в такій відповіді будуть назви карт. Кожна карта повертає три блоки. У `celestial` ключі — назви тіл (sun, moon, … northtruenode), і для кожного вказано довготу, широту, накшатру й паду, какшью, назву знака та номер дому. У `houses` ключі від 1 до 12, для кожного дому — `start`, `cusp` і `end`. `ascendant` містить градус асцендента та його знак. `notation` задає одиниці для всієї відповіді: 'degree' — десяткові градуси, 'astrological' — знак плюс градуси, хвилини й секунди. Точність налаштовується необов’язковими полями. `ayanamsa` обирає сидеричне визначення, а `apply_correction` разом із `correction_deg`, `correction_min`, `correction_sec` і `correction_direction` дає змогу зсунути його вручну. `rahu` обирає істинні вузли, середні або обидва. `extended_bodies` додає астероїди, фіктивні тіла уранічної школи або супутники планет і мовчки пропускає ті, для яких немає файлів ефемерид. `ascendant_pos` визначає, де брати асцендент — на куспіді дому, на його початку чи в кінці. Зверніть увагу: будь-яке значення, крім 'start' або 'end', навіть одрук, без жодного попередження замінюється на куспід. Поле дати на цьому ендпоінті називається `datetime`, а не `date_time`. SVG-ВІДОБРАЖЕННЯ ЗА ЗАПИТОМ. Встановіть render у 'svg', і у відповіді з’являться ще два поля — на додачу до чотирьох описаних вище, а не замість них. `layout` — це геометрія (вершини багатокутника кожної клітинки дому чи знака, позиція підпису й тіла, що в ній стоять), за якою можна намалювати власну діаграму в React, Canvas, Flutter чи SwiftUI. `svg` — готова до вставлення розмітка, побудована за тією самою геометрією. chart_style обирає північноіндійський стиль (ромб, доми фіксовані, знаки змінюють положення) або південноіндійський (фіксована сітка знаків, доми змінюють положення); svg_size, theme, label_style, show_degrees і чотири поля *_color керують відображенням. Усі ці поля за замовчуванням вимкнено, тож запит без render працює як і раніше: відповідь точно така сама, як завжди.
| Поле | Тип | Обов’язкове | Примітки |
|---|---|---|---|
| ascendant_pos | string | обов’язковий | cuspstartend'start' бере початок дому, 'end' — кінець дому; БУДЬ-ЯКЕ інше значення, зокрема саме 'cusp' і будь-який одрук, потрапляє в гілку else, і використовується куспід дому. Тож фактично за замовчуванням діє 'cusp', а одруки мовчки проходять без помилки. З урахуванням регістру. |
| ayanamsa | string | обов’язковий | FAGAN_BRADLEYLAHIRIDELUCERAMANUSHASHASHIKRISHNAMURTIDJWHAL_KHULYUKTESHWARJN_BHASINBABYL_KUGLER1BABYL_KUGLER2BABYL_KUGLER3БЕЗ урахування регістру: для пошуку використовується name.upper. На відміну від /api/astro/ayanamsa_value/, тут 'USER' НЕ відхиляється. Невідоме значення повертає 400 "Undefined ayanamsa: <name>". Зверніть увагу: apply_correction=true скасовує цей вибір і перемикає внутрішній режим на USER. |
| chart_name | string | обов’язковий | BhavaChartRashiChartHoraChartJagannathHoraChartParivrittidwayaHoraChartParivrittitrayaDrekkanaChartDrekkanaChartSomnathDrekkanaChartJagannathDrekkanaChartChaturthamsaChartPanchamsaChartShashthamsaChartЗ урахуванням регістру; пишіть точно як у переліку. Передайте одну назву або масив назв, щоб отримати кілька карт одним викликом, — тоді ключами відповіді будуть назви карт. Невідома назва повертає 400. |
| datetime | string (date-time) | обов’язковий | Момент, для якого виконується розрахунок, у форматі ISO 8601. ЗАВЖДИ вказуйте зміщення або Z у кінці: значення без часового поясу читається як Asia/Kolkata (UTC+05:30), а не UTC. Те саме значення, що й 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). Зверніть увагу: на цьому ендпоінті поле називається `datetime`, а не `date_time`. |
| latitude | number (double) | обов’язковий | Широта місця в десяткових градусах. Додатні значення — північ, від’ємні — південь. Приклад: 26.9124 для Джайпура, 40.7128 для Нью-Йорка. Хвилини й секунди не приймаються — спершу переведіть їх у градуси. min -180 · max 180 |
| longitude | number (double) | обов’язковий | Довгота місця в десяткових градусах. Додатні значення — схід, від’ємні — захід. Приклад: 75.7873 для Джайпура, -74.0060 для Нью-Йорка. Зверніть увагу на знак: без мінуса Нью-Йорк опиниться в Китаї. min -180 · max 180 |
| notation | string | обов’язковий | astrologicaldegreeЗ урахуванням регістру, у нижньому регістрі. 'astrological' повертає окремо знак, градуси, хвилини й секунди; 'degree' — сирі десяткові градуси. Будь-яке інше значення повертає 400 "Invalid notation: <x>". |
| aberration | boolean | необов’язковий | |
| apply_correction | boolean | необов’язковий | |
| background_color | string | необов’язковий | Колір фону SVG у форматі hex. |
| chart_style | string | необов’язковий | Стиль діаграми, коли render='svg'. 'north' — ромбоподібний макет із фіксованими домами та змінним розташуванням знаків; 'south' — сітка з фіксованими знаками та змінним розташуванням домів. northsouth |
| correction_deg | integer | необов’язковий | min 0 |
| correction_direction | string | необов’язковий | addsubtractЗа замовчуванням 'add'. Діє лише тоді, коли apply_correction=true і хоча б одне з correction_deg/min/sec не дорівнює нулю. |
| correction_min | integer | необов’язковий | min 0 · max 59 |
| correction_sec | integer | необов’язковий | min 0 · max 59 |
| extended_bodies | array | необов’язковий | Які групи тіл додати: 'asteroids', 'planetary_moons', 'fictitious_bodies'. asteroidsplanetary_moonsfictitious_bodiesМасив рядків, за замовчуванням []. 'asteroids' додає chiron, pholus, ceres, pallas, juno, vesta; 'fictitious_bodies' додає cupido, hades, zeus, kronos, apollon, admetos, vulkanus, poseidon, selena; 'planetary_moons' додає phobos, deimos, io, europa, ganymede, callisto, titan, triton, charon. Тіла, для яких немає файлів ефемерид, мовчки не потрапляють у відповідь. |
| label_style | string | необов’язковий | Як підписуються планети: 'english' (Su, Mo, ...), 'sanskrit' (Surya, Chandra, ...) або 'symbol' (☉, ☽, ...). englishsanskritsymbol |
| line_color | string | необов’язковий | Колір ліній сітки карти у форматі hex. |
| nutation | boolean | необов’язковий | |
| planet_color | string | необов’язковий | Колір підписів планет у форматі hex, напр. '#111827'. За замовчуванням — власний колір теми. |
| rahu | string | необов’язковий | Які вузли додати: 'true' — лише істинні, 'mean' — лише середні, 'both' — обидва типи. truemeanbothЗа замовчуванням 'true'. 'true' повертає лише істинні вузли, 'mean' — лише середні, 'both' — усі чотири. |
| refraction | boolean | необов’язковий | |
| render | string | необов’язковий | Передайте 'svg', щоб разом із даними отримати готову діаграму карти (див. chart_style) і геометрію, за якою її побудовано. Якщо параметр не передавати зовсім, відповідь не зміниться. nonesvg |
| show_degrees | boolean | необов’язковий | Показувати біля підпису кожного тіла його градус у знаку. |
| sign_color | string | необов’язковий | Колір номерів і скорочень знаків у форматі hex. |
| svg_size | integer | необов’язковий | Ширина й висота квадратного SVG viewBox у пікселях. min 100 · max 2000 |
| theme | string | необов’язковий | lightdark |
| true_mean | string | необов’язковий | TrueMeanЗ УРАХУВАННЯМ регістру, з великої літери. За замовчуванням 'Mean'. Вибір між істинними й середніми положеннями планет (саме істинними, а не видимими). |
| use_28_nakshatras | boolean | необов’язковий |