# Hartă natală

Endpoint-ul `POST /v1/chart` este baza majorității cererilor. Returnează o hartă natală completă: pozițiile planetelor, cuspidurile caselor, aspectele dintre planete, secta hărții. Cost: **20 de credite** (Tier 2).

## Parametrii cererii

| Parametru | Tip | Obligatoriu | Descriere |
|---|---|---|---|
| `date` | string | Da | Data nașterii `YYYY-MM-DD` |
| `time` | string | Da | Ora nașterii `HH:mm:ss` |
| `timezoneOffset` | number | Da | Deplasarea față de UTC în ore (ex. `2` pentru București în timpul verii) |
| `latitude` | number | Nu (0) | Latitudinea în grade zecimale |
| `longitude` | number | Nu (0) | Longitudinea în grade zecimale |
| `houseSystem` | string | Nu (`P`) | Sistemul de case: `P` Placidus, `K` Koch, `W` Whole Sign, `E` Equal și [altele](/docs/api/) |
| `name` | string | Nu | Numele (returnat în răspuns) |
| `city` | string | Nu | Orașul (returnat în răspuns) |
| `zodiacType` | string | Nu | `tropical` (implicit) sau `sidereal` |
| `cosmogram` | boolean | Nu | `true` — fără case (când locul nașterii este necunoscut) |

## Exemplu de cerere

Hartă natală pentru București, 14 iulie 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": 44.4361,
        "longitude": 26.1025,
        "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: 44.4361,
        longitude: 26.1025,
        houseSystem: 'P',
      }),
    });
    const chart = await res.json();
    console.log(chart.planets[0]); // Poziția Soarelui
    ```
  </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': 44.4361,
            'longitude': 26.1025,
            'houseSystem': 'P',
        },
    )
    chart = r.json()
    print(chart['planets'][0])  # Poziția Soarelui
    ```
  </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' => 44.4361,
            'longitude' => 26.1025,
            'houseSystem' => 'P',
        ],
    ]);

    $chart = json_decode($r->getBody(), true);
    print_r($chart['planets'][0]); // Poziția Soarelui
    ```
  </TabItem>
</Tabs>

## Exemplu de răspuns

```json
{
  "input": {
    "date": "1990-07-14",
    "time": "14:30:00",
    "timezoneOffset": 3,
    "latitude": 44.4361,
    "longitude": 26.1025,
    "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">
Răspunsul este scurtat pentru claritate. Răspunsul complet include toate cele 12 planete (Soare, Lună, Mercur, Venus, Marte, Jupiter, Saturn, Uranus, Neptun, Pluto + Nodul Nord, Chiron), 12 cuspiduri de case și toate aspectele dintre acestea.
</Aside>

## Sisteme de case

| Cod | Sistem | Notă |
|---|---|---|
| `P` | Placidus | Implicit, cel mai popular |
| `K` | Koch | Popular în Germania |
| `W` | Whole Sign | Clasic elenistic |
| `E` | Equal | Case egale de la ASC |
| `R` | Regiomontanus | Astrologie horară |
| `C` | Campanus | Sistem spațial |
| `T` | Topocentric | Polich-Page |
| `B` | Alcabitius | Traditie medievală |

Lista completă cu 15 sisteme — în [API reference](/docs/api/).

## Cosmogramă (fără loc de naștere)

Dacă ora nașterii este cunoscută, dar locul nu, trimite `"cosmogram": true`. Casele și ASC/MC nu sunt calculate, dar creditele sunt aceleași (20).

## Headerele răspunsului

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

## Mai departe

- [Sinaștria](/examples/synastry/) — compatibilitatea a două hărți
- [Tranzite](/examples/transits/) — suprapunere tranzit și calendar de evenimente
- [Human Design](/examples/human-design/) — hartă completă HD
- [Referință completă API](/docs/api/) — toate {siteMeta.endpoints} endpoint-urile
