# API de la carte natale

La carte natale est la base de toute application astrologique (Co-Star, Sanctuary, The Pattern, Chani — toutes s’appuient sur elle). L’API AstroWay propose un ensemble complet d’endpoints pour construire et analyser une carte en un seul appel : des positions planétaires basiques avec le même Swiss Ephemeris que Solar Fire et Astrodienst, jusqu’aux techniques rares absentes chez les concurrents — une partie des plus de 700 endpoints de toute la plateforme.

## Ce qui est calculé

Une carte natale complète inclut la **astrology trinity** — trois « visages » de la personnalité que les utilisateurs reviennent étudier sans cesse (ce qui booste la rétention) :

- **Positions planétaires** — Soleil (identité/destin), Lune (noyau émotionnel/besoins), Mercure, Vénus, Mars, Jupiter, Saturne, Uranus, Neptune, Pluton + Nœud Nord, Chiron. Longitude, latitude, vitesse, signe, maison, rétrogradation.
- **Cuspides des maisons** — 15 systèmes au choix (Placidus, Koch, Whole Sign, Equal et autres). ASC (comment les autres te perçoivent), MC (carrière/image publique), Vertex.
- **Aspects** — conjonction, opposition, trigone, carré, sextile, quinconce. Orbite, application/séparation.
- **Secte de la carte** — diurne/nocturne (pour l’astrologie hellénistique classique dans le style de Chris Brennan / Demetra George).

## Endpoints

| Endpoint | Crédits | Retourne |
|---|---|---|
| `/v1/chart` | 20 | Carte natale complète (planètes + maisons + aspects) |
| `/v1/planets` | 10 | Uniquement les positions planétaires (sans maisons ni aspects) |
| `/v1/essential-dignities` | 20 | Tableau des dignités essentielles (domicile, exaltation, triplicité, terme, face) |
| `/v1/almuten` | 20 | Almutem figuris — technique médiévale |
| `/v1/arabic-parts` | 20 | Parts arabes (Fortune, Esprit, etc.) |
| `/v1/fixed-stars` | 20 | Conjonctions planétaires avec étoiles fixes |
| `/v1/midpoints` | 20 | Milieux planétaires |
| `/v1/disposition-chains` | 20 | Chaînes de disposition (graphes de contrôle) |
| `/v1/firdaria` | 20 | Périodes de Firdaria |
| `/v1/profections` | 20 | Profections annuelles |
| `/v1/planetary-phases` | 20 | Phases orientales/occidentales |
| `/v1/receptions` | 20 | Réceptions mutuelles |

## Exemple

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

## Qui l’utilise

- **Applications astrologiques** — apps web et mobiles avec génération de cartes
- **Agents IA** — via le serveur MCP ou `/interpret/natal` pour des interprétations par IA
- **Chercheurs** — calculs massifs pour des études statistiques
- **Plateformes de contenu** — cartes natales comme fonctionnalité ajoutée à un produit existant

## Tarification

La carte natale (`/v1/chart`) coûte **20 crédits**. Avec l’offre Free (10 000 crédits/mois), tu obtiens 500 cartes gratuites par mois.

<CardGrid>
  <LinkCard title="Démarrage rapide →" href="/getting-started/" description="Ta première requête en 5 minutes" />
  <LinkCard title="Exemple détaillé" href="/examples/natal/" description="Paramètres, réponse, systèmes de maisons" />
  <LinkCard title="Tarifs" href="/pricing/" description="De l’offre gratuite à l’Enterprise" />
</CardGrid>
