# Reports API - 16 готових PDF-звітів під вашим брендом

Ви надсилаєте дату народження, отримуєте готовий документ. Не JSON, з якого треба зверстати PDF, а сам PDF: посторінково зверстаний, з вашим логотипом, вашою назвою звіту і без жодної згадки про нас усередині.

Шістнадцять таких звітів уже працюють. Разом із диспетчером, історією експортів і п'ятьма AI-наративами це **23 шляхи під `/v1/reports/*`**.

## Каталог

Кожен рядок має готовий зразок. Це не макет: файл згенеровано тим самим викликом, що надрукований у довіднику цього ендпоінта, і перевипускається разом із шаблонами.

Кількість сторінок це та, що дав саме цей зразок, виміряна 2026-09-21. Вона плаває від карти: більше аспектів це більше рядків, а `relocation` додає по дві-три сторінки на кожне місто (4 сторінки для одного міста, 13 для п'яти).

| Ендпоінт | Що всередині | Сторінок | Кредитів | Зразок |
|---|---|---|---|---|
| `/v1/reports/natal` | Велика трійка, планети, доми, аспекти | 3 | 5 000 | [PDF](https://api.astroway.info/samples/reports/natal.pdf) |
| `/v1/reports/synastry` | Міжкартові аспекти двох карт, баланс стихій | 2 | 5 000 | [PDF](https://api.astroway.info/samples/reports/synastry.pdf) |
| `/v1/reports/transit-yearly` | Прогноз транзитів на вибраний рік | 5 | 5 000 | [PDF](https://api.astroway.info/samples/reports/transit-yearly.pdf) |
| `/v1/reports/relocation` | Вихідна карта, до 5 міст, планети що змінили дім, лінії поруч, 19 сфер життя | 6 | 5 000 | [PDF](https://api.astroway.info/samples/reports/relocation.pdf) |
| `/v1/reports/vedic-kundli` | Лагна і накшатра, сідеричні позиції, махадаші Вімшоттарі | 2 | 5 000 | [PDF](https://api.astroway.info/samples/reports/vedic-kundli.pdf) |
| `/v1/reports/lal-kitab` | Кісмат, тева, виявлені ріни, упайї | 2 | 5 000 | [PDF](https://api.astroway.info/samples/reports/lal-kitab.pdf) |
| `/v1/reports/gemstone` | Рекомендація каменів з мантрами, камені яких не носити, стан грах | 7 | 5 000 | [PDF](https://api.astroway.info/samples/reports/gemstone.pdf) |
| `/v1/reports/human-design` | Ключові параметри, центри, канали | 2 | 5 000 | [PDF](https://api.astroway.info/samples/reports/human-design.pdf) |
| `/v1/reports/muhurta` | Ранжовані сприятливі дні під одну активність | 4 | 5 000 | [PDF](https://api.astroway.info/samples/reports/muhurta.pdf) |
| `/v1/reports/love` | Ключові точки кохання, велика трійка, аспекти | 2 | 5 000 | [PDF](https://api.astroway.info/samples/reports/love.pdf) |
| `/v1/reports/career` | Ключові точки кар'єри, контекст особистості, аспекти | 2 | 5 000 | [PDF](https://api.astroway.info/samples/reports/career.pdf) |
| `/v1/reports/money` | Ключові фінансові точки, доми, аспекти | 3 | 5 000 | [PDF](https://api.astroway.info/samples/reports/money.pdf) |
| `/v1/reports/business` | Ключові точки бізнесу, доми, аспекти | 2 | 5 000 | [PDF](https://api.astroway.info/samples/reports/business.pdf) |
| `/v1/reports/child` | Ключові риси характеру, велика трійка, планети | 2 | 5 000 | [PDF](https://api.astroway.info/samples/reports/child.pdf) |
| `/v1/reports/stellaforge` | Постер карти на одну сторінку: планети, баланс, ключові аспекти | 1 | 5 000 | [PDF](https://api.astroway.info/samples/reports/stellaforge.pdf) |
| `/v1/reports/tarot` | Опис розкладу і карти | 2 | 100 | [PDF](https://api.astroway.info/samples/reports/tarot.pdf) |

Таро коштує в п'ятдесят разів менше, бо там немає ефемерид: одна сторінка розкладу без астрономічних обчислень.

## Один шлях замість шістнадцяти

`POST /v1/reports/generate` приймає поле `report_type` і робить те саме, що й окремий шлях. Дванадцять типів: `natal`, `transit-yearly`, `synastry`, `business`, `career`, `love`, `money`, `child`, `lal-kitab`, `human-design`, `tarot`, `vedic-kundli`.

Для SDK це один метод замість дванадцяти, для MCP один інструмент замість дванадцяти. Ціна однакова: виклик через диспетчер списує рівно стільки, скільки прямий шлях.

## PDF чи HTML

За замовчуванням приходить PDF і посилання на нього. `?format=html` віддає готову HTML-сторінку прямо у відповіді, без рендера і без зберігання: зручно, коли ви вбудовуєте звіт у свою сторінку або хочете підставити власний CSS.

Посилання на PDF живе **24 години**. Це навмисно: ми не хостимо чужі документи безстроково. Заберіть файл до себе одразу після відповіді. `GET /v1/reports/history` безкоштовно показує останні експорти цього ключа, і протермінований запис приходить з `expired: true`.

## Ваш бренд, не наш

`whitelabel` приймає об'єкт із 15 полів: `companyName`, `companyUrl`, `companyEmail`, `companyMobile`, `companyBio`, `logoUrl`, `frontImage`, `reportName`, `footerText`, `fontPairing` і п'ять кольорів (`themeColor`, `headingColor`, `textPrimaryColor`, `textSecondaryColor`, `backgroundColor`).

Передати його можна прямо в запиті, і тоді жодного налаштування акаунта не потрібно:

```bash
curl -X POST https://api.astroway.info/v1/reports/natal \
  -H "X-Api-Key: aw_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "chart": { "date": "1990-05-15", "time": "14:30:00",
                   "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52 },
        "whitelabel": { "companyName": "Zoryana Studio",
                        "reportName": "Your Birth Blueprint",
                        "themeColor": "#7c3aed",
                        "footerText": "zoryana.example" } }'
```

У згенерованому документі назва студії, власний заголовок звіту, акцентний колір у заголовках секцій і ваш підвал. Слова AstroWay у ньому немає жодного разу.

Альтернатива для тих, хто не хоче повторювати об'єкт у кожному запиті: `whitelabel: true` бере збережену конфігурацію акаунта (`/v1/whitelabel/config`), а `POST /v1/whitelabel/preview` малює зразок натального звіту з нею, щоб подивитися до того, як показувати клієнту.

## Готовий застосунок, який можна клонувати

[Живе демо](https://api.astroway.info/demo/practice/) і [код на GitHub](https://github.com/astroway/starter-practice), MIT.

Стіл практика: дані клієнта зліва, готовий PDF справа. Кожна плитка звіту показує ціну в кредитах до кліку й веде на готовий зразок. White-label вмикається галочкою. Бекенд це **один маршрут** без залежностей, бо саме в ньому суть: браузер не може звернутися до API напряму, тож ключ живе на сервері.

```bash
git clone https://github.com/astroway/starter-practice
cd starter-practice && npm install
cp .env.example .env     # свій ключ сюди
npm run dev
```

Чотири речі, які варто забрати. Ціна показана там, де ухвалюється рішення: сервер віддає `X-Credits-Used` назад на сторінку, а не тільки в лог. Шістнадцять звітів мають чотири форми запиту, а не шістнадцять. Той самий запит удруге коштує нуль, бо кеш відповідей віддає той самий файл. І `ALLOWED_REPORTS` обмежує, що саме інстанс погодиться рендерити: публічне демо рендерить лише розклад Таро за 100 кредитів, бо сторінка у відкритому інтернеті, яка робить натальний звіт за 5 000 будь-кому, витрачає місячний безкоштовний ліміт за два кліки.

## Мови

Поле `language` приймає 21 код. Повністю перекладені **три**: українська, англійська, російська. Для решти вісімнадцяти локалізуються назви знаків, а заголовки й пояснення лишаються англійськими: німецький звіт напише "Löwe" під заголовком "Planets".

Ми пишемо це прямо, бо звіт це документ, який ваш клієнт залишає собі. Продати його як німецький, побачивши німецькі назви знаків у прикладі, було б неприємним відкриттям на боці клієнта, а не на нашому. Звіт `muhurta` поки що англійський цілком.

<Aside type="caution">
Виміряно 2026-09-20. Якщо вам потрібна конкретна мова повністю, напишіть: черга ручних перекладів іде за попитом, а не за списком.
</Aside>

## Скільки звітів виходить на плані

`/v1/reports/natal` і решта PDF коштують 5 000 кредитів, тож місячний ліміт плану переводиться в кількість звітів просто:

| План | Кредитів/міс | PDF-звітів | Таро-звітів |
|---|---|---|---|
| Free | 10 000 | звіти недоступні | недоступні |
| Indie, $5 | 50 000 | 10 | 500 |
| Starter, $19 | 200 000 | 40 | 2 000 |
| Pro, $59 | 800 000 | 160 | 8 000 |
| Business, $199 | 3 500 000 | 700 | 35 000 |
| Reports Pack, $99 | 500 000 | 100 | 5 000 |

На Free звіти закриті навмисно: один PDF це секунди роботи Chrome на нашому боці, і безкоштовний тариф їх не покриває. Найдешевший вхід це Indie за $5.

**Reports Pack** це окремий додаток для тих, кому потрібні тільки звіти: $99 на місяць, 500 000 кредитів, тобто 100 PDF по 99 центів за штуку, з white-label. Ключ такого плану ходить лише в `/v1/reports/*` і `/v1/whitelabel/*`.

## Якщо потрібен текст, а не документ

П'ять ендпоінтів повертають AI-наратив як JSON, без верстки й без PDF: `/v1/reports/ai/natal-narrative`, `/transit-narrative`, `/synastry-narrative`, `/year-ahead-narrative`, `/monthly-narrative`. По 250 кредитів. Беріть їх, коли текст іде у ваш власний макет, застосунок або розсилку.

Натальний звіт уміє й змішаний режим: `enrich: true` додає AI-наратив усередину PDF. На тій самій тестовій карті це 5 сторінок замість 3.
