# API de carta natal

La carta natal es la base de cualquier aplicación astrológica (Co-Star, Sanctuary, The Pattern, Chani — todas se apoyan en ella). La API de AstroWay ofrece un conjunto completo de endpoints para construir y analizar cartas con una sola llamada: desde las posiciones básicas de los planetas en el mismo Swiss Ephemeris que Solar Fire y Astrodienst, hasta técnicas poco comunes que no tienen los competidores — parte de los más de 700 endpoints de toda la plataforma.

## Qué se calcula

Una carta natal completa incluye la **astrology trinity** — tres «rostros» de la personalidad que los usuarios vuelven a estudiar una y otra vez (lo que impulsa la retención):

- **Posiciones de los planetas** — Sol (identidad/destino), Luna (núcleo emocional/necesidades), Mercurio, Venus, Marte, Júpiter, Saturno, Urano, Neptuno, Plutón + Nodo Norte, Quirón. Longitud, latitud, velocidad, signo, casa, retrógrado.
- **Cúspides de las casas** — 15 sistemas para elegir (Placidus, Koch, Signo Entero, Igual y otros). ASC (cómo te ven los demás), MC (carrera/imagen pública), Vértice.
- **Aspectos** — conjunción, oposición, trino, cuadratura, sextil, quincuncio. Orbe, aplicativo/separativo.
- **Secta de la carta** — diurno/nocturno (para la astrología helenística clásica al estilo de Chris Brennan / Demetra George).

## Endpoints

| Endpoint | Créditos | Respuesta |
|---|---|---|
| `/v1/chart` | 20 | Carta natal completa (planetas + casas + aspectos) |
| `/v1/planets` | 10 | Solo posiciones de los planetas (sin casas ni aspectos) |
| `/v1/essential-dignities` | 20 | Tabla de dignidades esenciales (domicilio, exaltación, triplicidad, término, faz) |
| `/v1/almuten` | 20 | Almuten figuris — técnica medieval |
| `/v1/arabic-parts` | 20 | Partes árabes (Fortuna, Espíritu y otras) |
| `/v1/fixed-stars` | 20 | Conjunciones de planetas con estrellas fijas |
| `/v1/midpoints` | 20 | Puntos medios planetarios |
| `/v1/disposition-chains` | 20 | Cadenas de disposición (grafos de control) |
| `/v1/firdaria` | 20 | Períodos de Firdaria |
| `/v1/profections` | 20 | Profecciones anuales |
| `/v1/planetary-phases` | 20 | Fases orientales/occidentales |
| `/v1/receptions` | 20 | Recepciones mutuas |

## Ejemplo

<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én lo usa?

- **Aplicaciones astrológicas** — apps web y móviles con construcción de cartas
- **Agentes de IA** — mediante el servidor MCP o `/interpret/natal` para interpretaciones con IA
- **Investigadores** — cálculos masivos para estudios estadísticos
- **Plataformas de contenido** — cartas natales como funcionalidad añadida sobre un producto existente

## Precio

La carta natal (`/v1/chart`) cuesta **20 créditos**. En el plan Free (10 000 créditos/mes) — 500 cartas al mes gratis.

<CardGrid>
  <LinkCard title="Primeros pasos →" href="/getting-started/" description="Tu primera petición en 5 minutos" />
  <LinkCard title="Ejemplo detallado" href="/examples/natal/" description="Parámetros, respuesta, sistemas de casas" />
  <LinkCard title="Planes" href="/pricing/" description="Desde gratuito hasta Enterprise" />
</CardGrid>
