# Carte natale

L'endpoint `POST /v1/chart` est la base de la plupart des requêtes. Il renvoie une carte natale complète : positions des planètes, cuspides des maisons, aspects entre les planètes, secte de la carte. Coût : **20 crédits** (Tier 2).

## Paramètres de la requête

| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| `date` | string | Oui | Date de naissance `YYYY-MM-DD` |
| `time` | string | Oui | Heure de naissance `HH:mm:ss` |
| `timezoneOffset` | number | Oui | Décalage par rapport à UTC en heures (ex. `2` pour Kiev en été) |
| `latitude` | number | Non (0) | Latitude en degrés décimaux |
| `longitude` | number | Non (0) | Longitude en degrés décimaux |
| `houseSystem` | string | Non (`P`) | Système de maisons : `P` Placidus, `K` Koch, `W` Whole Sign, `E` Equal et [autres](/docs/api/) |
| `name` | string | Non | Nom (renvoyé dans la réponse) |
| `city` | string | Non | Ville (renvoyée dans la réponse) |
| `zodiacType` | string | Non | `tropical` (par défaut) ou `sidereal` |
| `cosmogram` | boolean | Non | `true` — sans maisons (si le lieu est inconnu) |

## Exemple de requête

Carte natale pour Kiev, 14 juillet 1990, 14:30 :

<Tabs syncKey="lang">
  <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 res = await fetch('https://api.astroway.info/v1/chart', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'X-Api-Key': process.env.ASTROWAY_API_KEY!,
      },
      body: JSON.stringify({
        date: '1990-07-14',
        time: '14:30:00',
        timezoneOffset: 3,
        latitude: 50.4501,
        longitude: 30.5234,
        houseSystem: 'P',
      }),
    });
    const chart = await res.json();
    console.log(chart.planets[0]); // Sun position
    ```
  </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()
    print(chart['planets'][0])  # Sun position
    ```
  </TabItem>
  <TabItem label="PHP">
    ```php
    <?php
    use GuzzleHttp\Client;

    $client = new Client(['base_uri' => 'https://api.astroway.info/v1/']);
    $r = $client->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);
    print_r($chart['planets'][0]); // Sun position
    ```
  </TabItem>
</Tabs>

## Exemple de réponse

```json
{
  "input": {
    "date": "1990-07-14",
    "time": "14:30:00",
    "timezoneOffset": 3,
    "latitude": 50.4501,
    "longitude": 30.5234,
    "houseSystem": "P"
  },
  "julianDay": 2448087.979166,
  "siderealTime": 8.234,
  "planets": [
    {
      "name": "Sun",
      "longitude": 111.87,
      "latitude": 0.0,
      "speed": 0.955,
      "sign": "cancer",
      "signIndex": 3,
      "house": 10,
      "retrograde": false
    },
    {
      "name": "Moon",
      "longitude": 87.23,
      "latitude": -4.2,
      "speed": 13.3,
      "sign": "gemini",
      "signIndex": 2,
      "house": 8,
      "retrograde": false
    }
  ],
  "houses": {
    "system": "P",
    "cusps": [12.34, 43.21, 72.56, 100.12, 130.45, 162.78, 192.34, 223.21, 252.56, 280.12, 310.45, 342.78],
    "ascendant": 12.34,
    "mc": 280.12
  },
  "aspects": [
    {
      "planet1": "Sun",
      "planet2": "Moon",
      "type": "sextile",
      "orb": 1.36,
      "applying": true
    }
  ],
  "chartSect": "diurnal"
}
```

<Aside type="note">
La réponse est raccourcie pour plus de clarté. La réponse complète inclut toutes les 12 planètes (Soleil, Lune, Mercure, Vénus, Mars, Jupiter, Saturne, Uranus, Neptune, Pluton + Nœud Nord, Chiron), les 12 cuspides des maisons et tous les aspects entre elles.
</Aside>

## Systèmes de maisons

| Code | Système | Remarque |
|---|---|---|
| `P` | Placidus | Par défaut, le plus populaire |
| `K` | Koch | Populaire en Allemagne |
| `W` | Whole Sign | Classique hellénistique |
| `E` | Equal | Maisons égales depuis l'ASC |
| `R` | Regiomontanus | Astrologie horaire |
| `C` | Campanus | Système spatial |
| `T` | Topocentrique | Polich-Page |
| `B` | Alcabitius | Tradition médiévale |

La liste complète des 15 systèmes est disponible dans la [référence API](/docs/api/).

## Cosmogramme (sans lieu de naissance)

Si l'heure de naissance est connue mais pas le lieu, passe `"cosmogram": true`. Les maisons et l'ASC/MC ne sont pas calculés, les crédits restent les mêmes (20).

## En-têtes de réponse

```
X-Credits-Used: 20
X-Credits-Remaining: 4980
X-Credits-Reset: 2026-05-01T00:00:00Z
X-Request-Id: 01HXY2A7ZM...
```

## Pour aller plus loin

- [Synastrie](/examples/synastry/) — compatibilité entre deux cartes
- [Transits](/examples/transits/) — superposition des transits et calendrier d'événements
- [Human Design](/examples/human-design/) — carte HD complète
- [Référence complète de l'API](/docs/api/) — tous les endpoints {siteMeta.endpoints}
