# Human Design

A API AstroWay tem **12 endpoints Human Design** — a cobertura mais profunda de HD entre as APIs comerciais. O endpoint principal `POST /v1/human-design` devolve o mapa completo. Custo: **50 créditos** (Tier 3).

## 12 endpoints HD

| Endpoint | Créditos | O que devolve |
|---|---|---|
| `/v1/human-design` | 50 | Mapa HD completo: tipo, estratégia, autoridade, canais, centros, perfil |
| `/v1/human-design/transits` | 50 | Trânsitos HD numa data específica |
| `/v1/human-design/compatibility` | 100 | Compatibilidade entre dois mapas HD |
| `/v1/hd/incarnation-cross` | 50 | Cruz de encarnação |
| `/v1/hd/dream-rave` | 50 | Mapa Dream Rave |
| `/v1/hd/hologenetic` | 50 | Perfil Hologenético |
| `/v1/hd/sensitivity` | 50 | Sensibilidade temporal (como a mudança de hora de nascimento afeta o mapa) |
| `/v1/hd/circuitry` | 20 | Análise de circuitos |
| `/v1/hd/penta` | 100 | Penta (dinâmica de grupo de 3–5 pessoas) |
| `/v1/hd/group-overlay` | 100 | Sobreposição de grupo |
| `/v1/hd/design-date` | 10 | Data Design (88° do Sol antes do nascimento) |
| `/v1/hd/rave-new-years` | 10 | Datas Rave New Year |

## Exemplo de pedido

Os parâmetros são os mesmos que para `/v1/chart`:

<Tabs syncKey="lang">
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/human-design \
      -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
      }'
    ```
  </TabItem>
  <TabItem label="Node.js">
    ```ts
    const res = await fetch('https://api.astroway.info/v1/human-design', {
      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,
      }),
    });
    const hd = await res.json();
    console.log(hd.type);       // ex. "Generator"
    console.log(hd.strategy);   // ex. "To Respond"
    console.log(hd.authority);  // ex. "Sacral"
    console.log(hd.profile);    // ex. "1/3"
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/human-design',
        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,
        },
    )
    hd = r.json()
    print(hd['type'])       # ex. "Generator"
    print(hd['strategy'])   # ex. "To Respond"
    print(hd['authority'])  # ex. "Sacral"
    print(hd['channels'])   # Lista de canais definidos
    ```
  </TabItem>
  <TabItem label="PHP">
    ```php
    <?php
    use GuzzleHttp\Client;

    $client = new Client(['base_uri' => 'https://api.astroway.info/v1/']);
    $r = $client->post('human-design', [
        '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,
        ],
    ]);

    $hd = json_decode($r->getBody(), true);
    echo $hd['type'];       // ex. "Generator"
    echo $hd['strategy'];   // ex. "To Respond"
    echo $hd['authority'];  // ex. "Sacral"
    echo $hd['profile'];    // ex. "1/3"
    ```
  </TabItem>
</Tabs>

## Exemplo de resposta

```json
{
  "input": {
    "date": "1990-07-14",
    "time": "14:30:00",
    "timezoneOffset": 3,
    "latitude": 50.4501,
    "longitude": 30.5234
  },
  "type": "Generator",
  "strategy": "To Respond",
  "notSelfTheme": "Frustration",
  "authority": "Sacral",
  "profile": "1/3",
  "definition": "single",
  "cross": {
    "name": "Right Angle Cross of the Sphinx",
    "quarter": "Civilization",
    "gates": [1, 2, 7, 13]
  },
  "centers": [
    { "name": "Sacral", "defined": true },
    { "name": "Root", "defined": true },
    { "name": "SolarPlexus", "defined": false },
    { "name": "Heart", "defined": false },
    { "name": "Throat", "defined": true },
    { "name": "Ajna", "defined": false },
    { "name": "Head", "defined": false },
    { "name": "Spleen", "defined": true },
    { "name": "G", "defined": true }
  ],
  "channels": [
    { "gate1": 34, "gate2": 20, "name": "Channel of Charisma", "type": "Generated" }
  ],
  "personalityActivations": [
    { "gate": 1, "line": 3, "planet": "Sun", "side": "personality" }
  ],
  "designActivations": [
    { "gate": 2, "line": 5, "planet": "Sun", "side": "design" }
  ],
  "designJd": 2448000.123,
  "personalityJd": 2448087.979
}
```

<Aside type="note">
A resposta inclui todas as 26 ativações (13 Personality + 13 Design), todos os 9 centros e todos os canais definidos. Resumido para melhor visualização.
</Aside>

## Campos-chave da resposta

| Campo | Tipo | Descrição |
|---|---|---|
| `type` | string | Manifestor, Generator, Generator Xing (MG), Projector, Reflector |
| `strategy` | string | Estratégia de tomada de decisão |
| `authority` | string | Autoridade interna |
| `profile` | string | Perfil (ex. `"1/3"`, `"4/6"`) |
| `definition` | string | single, split, triple-split, quadruple-split |
| `cross` | object | Cruz de encarnação (nome, trimestre, 4 portões) |
| `centers` | array | 9 centros com a flag defined/open |
| `channels` | array | Canais definidos |
| `personalityActivations` | array | 13 ativações Personality (consciente) |
| `designActivations` | array | 13 ativações Design (inconsciente) |

## Próximos passos

- [Carta Natal](/examples/natal/) — pedido base
- [Sinastria](/examples/synastry/) — compatibilidade entre dois mapas
- [Trânsitos](/examples/transits/) — sobreposição de trânsitos
- [Referência da API](/docs/api/) — todos os {siteMeta.endpoints} endpoints
