# API Kartu Kelahiran

Natal chart — fondasi dari aplikasi astrologi apa pun (Co-Star, Sanctuary, The Pattern, Chani — semuanya bergantung padanya). AstroWay API menyediakan kumpulan endpoint lengkap untuk membangun dan menganalisis chart dalam satu panggilan: mulai dari posisi dasar planet menggunakan Swiss Ephemeris yang sama dengan Solar Fire dan Astrodienst, hingga teknik langka yang tidak dimiliki kompetitor — lebih dari 700 endpoint di seluruh platform.

## Apa yang dihitung

Natal chart lengkap mencakup **astrology trinity** — tiga "wajah" kepribadian yang terus dipelajari pengguna (meningkatkan retensi):

- **Posisi planet** — Matahari (identitas/tujuan), Bulan (inti emosional/kebutuhan), Merkurius, Venus, Mars, Jupiter, Saturnus, Uranus, Neptunus, Pluto + Node Utara, Chiron. Longitude, lintang, kecepatan, tanda zodiak, rumah, dan retrogadasi.
- **Kuspid rumah** — 15 sistem pilihan (Placidus, Koch, Whole Sign, Equal, dan lainnya). ASC (bagaimana orang lain melihat pengguna), MC (karier/citra publik), Vertex.
- **Aspek** — konjungsi, oposisi, trine, kuadrat, sextil, quincunx. Orbe, applying/separating.
- **Sekte chart** — diurnal/nocturnal (untuk astrologi Helenistik klasik ala Chris Brennan / Demetra George).

## Endpoint

| Endpoint | Kredit | Apa yang dikembalikan |
|---|---|---|
| `/v1/chart` | 20 | Natal chart lengkap (planet + rumah + aspek) |
| `/v1/planets` | 10 | Hanya posisi planet (tanpa rumah dan aspek) |
| `/v1/essential-dignities` | 20 | Tabel derajat esensial (domisil, eksaltasi, triplisitas, term, fas) |
| `/v1/almuten` | 20 | Almuten figuris — teknik abad pertengahan |
| `/v1/arabic-parts` | 20 | Bagian Arab (Fortuna, Spirit, dan lainnya) |
| `/v1/fixed-stars` | 20 | Konjungsi planet dengan bintang tetap |
| `/v1/midpoints` | 20 | Midpoint planet |
| `/v1/disposition-chains` | 20 | Rantai disposisi (grafik kendali) |
| `/v1/firdaria` | 20 | Periode Firdaria |
| `/v1/profections` | 20 | Profepsi tahunan |
| `/v1/planetary-phases` | 20 | Fase oriental/okidental |
| `/v1/receptions` | 20 | Penerimaan timbal balik |

## Contoh

<Tabs>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/chart \
      -H "X-Api-Key: aw_live_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{
        "date": "1990-07-14",
        "time": "14:30:00",
        "timezoneOffset": 3,
        "latitude": 50.4501,
        "longitude": 30.5234,
        "houseSystem": "P"
      }'
    ```
  </TabItem>
  <TabItem label="Node.js">
    ```ts
    const r = await fetch('https://api.astroway.info/v1/chart', {
      method: 'POST',
      headers: {
        'X-Api-Key': process.env.ASTROWAY_API_KEY!,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        date: '1990-07-14',
        time: '14:30:00',
        timezoneOffset: 3,
        latitude: 50.4501,
        longitude: 30.5234,
        houseSystem: 'P',
      }),
    });
    const { data: chart } = await r.json();
    console.log(`ASC: ${chart.angles.asc.sign} ${chart.angles.asc.degree.toFixed(2)}°`);
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/chart',
        headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'},
        json={
            'date': '1990-07-14',
            'time': '14:30:00',
            'timezoneOffset': 3,
            'latitude': 50.4501,
            'longitude': 30.5234,
            'houseSystem': 'P',
        },
    )
    chart = r.json()['data']
    print(f"ASC: {chart['angles']['asc']['sign']} {chart['angles']['asc']['degree']:.2f}°")
    ```
  </TabItem>
  <TabItem label="PHP">
    ```php
    <?php
    use GuzzleHttp\Client;

    $aw = new Client(['base_uri' => 'https://api.astroway.info/v1/']);
    $r = $aw->post('chart', [
        'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')],
        'json' => [
            'date' => '1990-07-14',
            'time' => '14:30:00',
            'timezoneOffset' => 3,
            'latitude' => 50.4501,
            'longitude' => 30.5234,
            'houseSystem' => 'P',
        ],
    ]);
    $chart = json_decode($r->getBody(), true)['data'];
    printf("ASC: %s %.2f°\n", $chart['angles']['asc']['sign'], $chart['angles']['asc']['degree']);
    ```
  </TabItem>
</Tabs>

## Siapa yang menggunakannya

- **Aplikasi astrologi** — aplikasi web dan mobile dengan pembuatan chart
- **AI agent** — melalui server MCP atau `/interpret/natal` untuk interpretasi AI
- **Peneliti** — perhitungan massal untuk riset statistik
- **Platform konten** — chart natal sebagai fitur tambahan di produk yang sudah ada

## Biaya

Natal chart (`/v1/chart`) — **20 kredit**. Pada paket Free (10.000 kredit/bulan), kamu bisa membuat 500 chart per bulan secara gratis.

<CardGrid>
  <LinkCard title="Mulai dengan cepat →" href="/getting-started/" description="Permintaan pertama dalam 5 menit" />
  <LinkCard title="Contoh detail" href="/examples/natal/" description="Parameter, respons, sistem rumah" />
  <LinkCard title="Harga" href="/pricing/" description="Dari gratis hingga Enterprise" />
</CardGrid>
