---
title: "Calculate Bodygraph Chart"
method: POST
path: "/v2/bodygraph"
tags: ["charts-v2"]
---

# Calculate Bodygraph Chart

`POST /v2/bodygraph`

## Request

- Base URL: `https://api.humandesignhub.app`
- URL: `https://api.humandesignhub.app/v2/bodygraph`
- Auth: API key in header `X-API-KEY`

Calculates a complete Human Design bodygraph from a birth datetime. Set verbose=true for planetary ephemeris data.

## Request body

- V2BodygraphRequest
  - `datetime` string, required: YYYY-MM-DDTHH:MM[:SS][+/-HH:MM] (ISO 8601 with UTC offset, e.g. 1990-01-01T12:34+09:00)
  - `verbose` boolean

## Response `200`

Successful Response

- BodygraphResponse: Response for POST /v2/bodygraph.
  - `type` string, required
  - `profile` string, required
  - `channels` ChannelLong[], required
    - `name` string, required
    - `gates` integer[], required
  - `centers` string[], required
  - `gate_and_line` PersonalityDesignGateAndLine, required: Personality and Design gate-and-line maps. Values are [gate, line] arrays (serialized from tuples).
    - `personality` object, required
    - `design` object, required
  - `gate_line_color_tone_base` PersonalityDesignGateLineColorToneBase, required: Personality and Design gate, line, color, tone, and base maps.
    - `personality` object, required
    - `design` object, required
  - `gates` integer[], required
  - `strategy` string, required
  - `not_self_theme` string, required
  - `signature` string, required
  - `authority` string, required
  - `positions` PersonalityDesignPositions, required: Personality and Design planetary longitude positions.
    - `personality` object, required
    - `design` object, required
  - `activations` string[], required
  - `dignities` PersonalityDesignDignities, required: Personality and Design dignity maps. Keys are planet names, values have dignity + defined_by_comparer.
    - `personality` object, required
    - `design` object, required
  - `incarnation_cross` string, required
  - `definition` string, required
  - `cognition` CognitionData, required: Cognition: Design Sun tone mapped to cognitive style.
    - `tone` integer, required
    - `name` string, required
  - `determination` DeterminationData, required: Determination: dietary/digestive strategy.
    - `color` integer, required
    - `tone` integer, required
    - `label` string, required
  - `environment` EnvironmentData, required: Environment: optimal physical environment.
    - `color` integer, required
    - `tone` integer, required
    - `label` string, required
  - `variables` VariablesData, required: Full Variables data.
    - `label` string, required
    - `personal` VariableSide, required: One side (personal or design) of the Variables structure.
      - `sun/earth` VariableColorToneBase, required: Color/Tone/Base triplet used inside Variables.
        - `color` integer, required
        - `tone` integer, required
        - `base` integer, required
      - `node` VariableColorToneBase, required: Color/Tone/Base triplet used inside Variables.
        - `color` integer, required
        - `tone` integer, required
        - `base` integer, required
    - `design` VariableSide, required: One side (personal or design) of the Variables structure.
      - `sun/earth` VariableColorToneBase, required: Color/Tone/Base triplet used inside Variables.
        - `color` integer, required
        - `tone` integer, required
        - `base` integer, required
      - `node` VariableColorToneBase, required: Color/Tone/Base triplet used inside Variables.
        - `color` integer, required
        - `tone` integer, required
        - `base` integer, required
  - `motivation` ColorLabelData, required: Generic color+label pair (motivation, transference, perspective, distraction).
    - `color` integer, required
    - `label` string, nullable
  - `transference` ColorLabelData, required: Generic color+label pair (motivation, transference, perspective, distraction).
    - `color` integer, required
    - `label` string, nullable
  - `perspective` ColorLabelData, required: Generic color+label pair (motivation, transference, perspective, distraction).
    - `color` integer, required
    - `label` string, nullable
  - `distraction` ColorLabelData, required: Generic color+label pair (motivation, transference, perspective, distraction).
    - `color` integer, required
    - `label` string, nullable
  - `sense` SenseData, required: Sense data from Personality Sun tone. Note: get_sense() returns {p_sun_tone: int, name: str}. The docstring in get_sense() says it returns a string, but the actual implementation returns a dict. The model follows the actual return structure.
    - `p_sun_tone` integer, required
    - `name` string, required
  - `mechanics` BodygraphMechanics, required: Center and active-gate mechanics for a bodygraph.
    - `centers` BodygraphCenterMechanics[], required
      - `center` string, required
      - `defined` boolean, required
      - `completely_open` boolean, required
      - `active_gates` integer[], required
    - `gates` BodygraphGateMechanics[], required
      - `gate` integer, required
      - `center` string, required
      - `state` 'defined' | 'hanging' | 'dormant', required
      - `center_defined` boolean, required
      - `channel_ids` string[], required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/humandesignhub/apis/human-design-hub-pro-api.md) · [All operations](https://skmtc.dev/humandesignhub/apis/human-design-hub-pro-api/llms.txt) · [OpenAPI document](https://skmtc.dev/humandesignhub/apis/human-design-hub-pro-api/revisions/c2681d2ac216?raw)
