# Human Design

AstroWay API has **12 Human Design endpoints** — the deepest HD coverage among commercial APIs. The main endpoint `POST /v1/human-design` returns a full chart. Cost: **50 credits** (Tier 3).

## 12 HD endpoints

| Endpoint | Credits | What it returns |
|---|---|---|
| `/v1/human-design` | 50 | Full HD chart: type, strategy, authority, channels, centers, profile |
| `/v1/human-design/transits` | 50 | HD transits for a given date |
| `/v1/human-design/compatibility` | 100 | Compatibility of two HD charts |
| `/v1/hd/incarnation-cross` | 50 | Incarnation Cross |
| `/v1/hd/dream-rave` | 50 | Dream Rave chart |
| `/v1/hd/hologenetic` | 50 | Hologenetic Profile |
| `/v1/hd/sensitivity` | 50 | Time sensitivity (how birth time changes affect the chart) |
| `/v1/hd/circuitry` | 20 | Circuitry analysis |
| `/v1/hd/penta` | 100 | Penta — group dynamics for 3–5 people |
| `/v1/hd/group-overlay` | 100 | Group overlay |
| `/v1/hd/design-date` | 10 | Design date (88° of Sun before birth) |
| `/v1/hd/rave-new-years` | 10 | Rave New Year dates |

## Example

Parameters are the same as `/v1/chart`:

<Tabs>
  <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);       // e.g. "Generator"
    console.log(hd.strategy);   // e.g. "To Respond"
    console.log(hd.authority);  // e.g. "Sacral"
    console.log(hd.profile);    // e.g. "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'])
    print(hd['strategy'])
    print(hd['authority'])
    print(hd['channels'])
    ```
  </TabItem>
  <TabItem label="PHP">
    ```php
    <?php
    use GuzzleHttp\Client;

    $aw = new Client(['base_uri' => 'https://api.astroway.info/v1/']);
    $r = $aw->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']} — {$hd['strategy']} — {$hd['authority']}\n";
    print_r($hd['channels']);
    ```
  </TabItem>
</Tabs>

## Example response

```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">
Response includes all 26 activations (13 Personality + 13 Design), all 9 centers, and all defined channels. Abbreviated for clarity.
</Aside>

## Key response fields

| Field | Type | Description |
|---|---|---|
| `type` | string | Manifestor, Generator, Manifesting Generator, Projector, Reflector |
| `strategy` | string | Decision-making strategy |
| `authority` | string | Inner authority |
| `profile` | string | Profile (e.g. `"1/3"`, `"4/6"`) |
| `definition` | string | single, split, triple-split, quadruple-split |
| `cross` | object | Incarnation Cross (name, quarter, 4 gates) |
| `centers` | array | 9 centers with defined/open flag |
| `channels` | array | Defined channels |
| `personalityActivations` | array | 13 Personality activations (conscious) |
| `designActivations` | array | 13 Design activations (unconscious) |

## Next

- [Natal chart](/en/examples/natal/) — basic request
- [Synastry](/en/examples/synastry/) — two-chart compatibility
- [Transits](/en/examples/transits/) — transit overlay
- [API reference](/docs/api/) — all {siteMeta.endpoints} endpoints
