# 出生図 API

ナタールチャートは、あらゆるアストロロジーアプリ（Co-Star、Sanctuary、The Pattern、Chani など）の基盤です。AstroWay API では、1 回のリクエストで完全なチャートの構築と分析を行うためのエンドポイントをフルセットで提供しています。基本的な惑星の位置（Solar Fire や Astrodienst と同じ Swiss Ephemeris を使用）から、競合他社にはない珍しいテクニックまで、プラットフォーム全体で 700 以上のエンドポイントを網羅しています。

## 計算される内容

完全なナタールチャートには、**アストロロジーの三位一体（astrology trinity）**が含まれます。これはユーザーが何度も繰り返し学習する「3 つの個性の側面」であり、リテンション（顧客維持）を高めます。

- **惑星の位置** — 太陽（アイデンティティ/使命）、月（感情的な核/ニーズ）、水星、金星、火星、木星、土星、天王星、海王星、冥王星 + 北の月交点、ケイロン。黄経、黄緯、速度、サイン、ハウス、レトログレード。
- **ハウスのクスプ** — 15 種類のシステムから選択可能（Placidus、Koch、Whole Sign、Equal など）。ASC（他者からどう見られるか）、MC（キャリア/公的イメージ）、Vertex。
- **アスペクト** — 合、対抗、三合、四角、六合、ケンバイン。オーブ、適用/分離。
- **チャートのセクタ** — 日中（diurnal）/夜間（nocturnal）（Chris Brennan / Demetra George スタイルの古典的ヘレニズムアストロロジー向け）。

## エンドポイント

| エンドポイント | クレジット | 返される内容 |
|---|---|---|
| `/v1/chart` | 20 | 完全なナタールチャート（惑星 + ハウス + アスペクト） |
| `/v1/planets` | 10 | 惑星の位置のみ（ハウスとアスペクトなし） |
| `/v1/essential-dignities` | 20 | 本質的な dignity（支配、 exaltation、三分性、ターム、フェイス）の表 |
| `/v1/almuten` | 20 | アルムテン・フィギュリス（中世のテクニック） |
| `/v1/arabic-parts` | 20 | アラビアのパート/ロット（フォルトゥナ、スピリットなど） |
| `/v1/fixed-stars` | 20 | 惑星と恒星のコンジャンクション |
| `/v1/midpoints` | 20 | プラネタリーミッドポイント |
| `/v1/disposition-chains` | 20 | ディスポジションチェーン（支配グラフ） |
| `/v1/firdaria` | 20 | フィルダリアの期間 |
| `/v1/profections` | 20 | 年間プロフェクション |
| `/v1/planetary-phases` | 20 | オリエンタル/オクシデンタルフェーズ |
| `/v1/receptions` | 20 | 相互レセプション |

## 例

<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>

## 利用シーン

- **アストロロジーアプリ** — チャート構築機能を持つ Web・モバイルアプリ
- **AI エージェント** — MCP サーバー経由、または `/interpret/natal` で AI による解釈を行う
- **研究者** — 統計調査のための大量計算
- **コンテンツプラットフォーム** — 既存の製品にナタールチャート機能を追加

## 料金

ナタールチャート（`/v1/chart`）は **20 クレジット** です。Free プラン（月 10,000 クレジット）では、月に 500 枚まで無料で利用できます。

<CardGrid>
  <LinkCard title="クイックスタート →" href="/getting-started/" description="5 分で最初のリクエスト" />
  <LinkCard title="詳細な例" href="/examples/natal/" description="パラメータ、レスポンス、ハウスシステム" />
  <LinkCard title="料金プラン" href="/pricing/" description="無料からエンタープライズまで" />
</CardGrid>
