HTTP API

Human Design calculations from one endpoint

The BodyGraph API computes Human Design activations from a single ISO 8601 UTC timestamp. Send the datetime (and your API key) to receive personality/design sets, centers, gates, channels, type, profile, incarnation cross, and variables.

UTC datetime input Key as query parameter JSON responses only
Quick start
curl -s \
  "https://api.bodygraph.info/?datetime=1980-01-01T00:00:00Z&key=YOUR32CHARKEY" \
  -H "Accept: application/json" \
  | jq .
await fetch("https://api.bodygraph.info/?datetime=1980-01-01T00:00:00Z&key=YOUR32CHARKEY")
  .then(r => r.json());
API

Endpoint & authentication

Authentication

Provide your 32-character alphanumeric API key in the key query parameter. Authorization headers are ignored.

Endpoint
GET /?datetime=YYYY-MM-DDTHH:MM:SSZ[&key=32CHARKEY]
Query params
  • datetime: required ISO 8601 UTC instant exactly in YYYY-MM-DDTHH:MM:SSZ format
  • key: required API key
Validation & errors
  • Malformed or missing datetime → HTTP 400 JSON error
  • Missing or invalid key → HTTP 401 or 403
  • Database connectivity failures → HTTP 503
  • Headers: Content-Type: application/json; charset=utf-8, Cache-Control: no-store, no-cache, must-revalidate, max-age=0, Pragma: no-cache, X-Content-Type-Options: nosniff
Response example
{
  "date_utc": "1980-01-01T00:00:00Z",
  "personality_utc": "1980-01-01T00:00:00Z",
  "design_utc": "1979-10-05T13:28:03Z",
  "personality": {
    "sun": {
      "longitude": 279.9965418124027,
      "gate": 38,
      "center": "root",
      "line": 1,
      "color": 4,
      "tone": 6,
      "base": 5,
      "polarity": "right",
      "degree_start": 279.5,
      "degree_end": 285.125,
      "hexagram": 38,
      "degrees": 0.621541812402695
    },
    "earth": {
      "longitude": 99.99654181240271,
      "gate": 39,
      "center": "root",
      "line": 1,
      "color": 4,
      "tone": 6,
      "base": 5,
      "polarity": "right",
      "degree_start": 99.5,
      "degree_end": 105.125,
      "hexagram": 39,
      "degrees": 0.621541812402715
    },
    "north_node": {
      "longitude": 150.7368505076125,
      "gate": 59,
      "center": "sacral",
      "line": 1,
      "color": 5,
      "tone": 5,
      "base": 2,
      "polarity": "right",
      "degree_start": 150.125,
      "degree_end": 155.75,
      "hexagram": 59,
      "degrees": 0.7368505076124832
    },
    "south_node": {
      "longitude": 330.73685050761253,
      "gate": 55,
      "center": "solar-plexus",
      "line": 1,
      "color": 5,
      "tone": 5,
      "base": 2,
      "polarity": "right",
      "degree_start": 330.125,
      "degree_end": 335.75,
      "hexagram": 55,
      "degrees": 0.7368505076125303
    },
    "moon": {
      "longitude": 83.4394862961934,
      "gate": 12,
      "center": "throat",
      "line": 2,
      "color": 1,
      "tone": 1,
      "base": 1,
      "polarity": "left",
      "degree_start": 82.625,
      "degree_end": 88.25,
      "hexagram": 12,
      "degrees": 0.9394862961933903
    },
    "mercury": {
      "longitude": 268.2378438773714,
      "gate": 10,
      "center": "g",
      "line": 1,
      "color": 1,
      "tone": 5,
      "base": 2,
      "polarity": "right",
      "degree_start": 268.25,
      "degree_end": 273.875,
      "hexagram": 10,
      "degrees": 0.11284387737139578
    },
    "venus": {
      "longitude": 311.67906616859216,
      "gate": 19,
      "center": "root",
      "line": 5,
      "color": 3,
      "tone": 5,
      "base": 3,
      "polarity": "right",
      "degree_start": 307.625,
      "degree_end": 313.25,
      "hexagram": 19,
      "degrees": 4.179066168592165
    },
    "mars": {
      "longitude": 164.25302487885205,
      "gate": 64,
      "center": "head",
      "line": 4,
      "color": 2,
      "tone": 2,
      "base": 2,
      "polarity": "left",
      "degree_start": 161.375,
      "degree_end": 167,
      "hexagram": 64,
      "degrees": 3.0030248788520275
    },
    "jupiter": {
      "longitude": 160.479672380691,
      "gate": 47,
      "center": "ajna",
      "line": 6,
      "color": 2,
      "tone": 1,
      "base": 3,
      "polarity": "left",
      "degree_start": 161.375,
      "degree_end": 167,
      "hexagram": 47,
      "degrees": 4.85467238069099
    },
    "saturn": {
      "longitude": 177.2686636970394,
      "gate": 6,
      "center": "solar-plexus",
      "line": 6,
      "color": 1,
      "tone": 4,
      "base": 1,
      "polarity": "right",
      "degree_start": 172.625,
      "degree_end": 178.25,
      "hexagram": 6,
      "degrees": 4.768663697039388
    },
    "uranus": {
      "longitude": 234.32916792687962,
      "gate": 43,
      "center": "ajna",
      "line": 6,
      "color": 6,
      "tone": 5,
      "base": 2,
      "polarity": "right",
      "degree_start": 228.875,
      "degree_end": 234.5,
      "hexagram": 43,
      "degrees": 5.57916792687962
    },
    "neptune": {
      "longitude": 261.20436797622995,
      "gate": 26,
      "center": "heart",
      "line": 5,
      "color": 4,
      "tone": 5,
      "base": 2,
      "polarity": "right",
      "degree_start": 257,
      "degree_end": 262.625,
      "hexagram": 26,
      "degrees": 4.32936797622995
    },
    "pluto": {
      "longitude": 201.8896323079366,
      "gate": 32,
      "center": "spleen",
      "line": 2,
      "color": 3,
      "tone": 1,
      "base": 3,
      "polarity": "left",
      "degree_start": 200.75,
      "degree_end": 206.375,
      "hexagram": 32,
      "degrees": 1.2646323079366173
    },
    "chiron": null,
    "lilith": {
      "longitude": 177.0353045917474,
      "gate": 6,
      "center": "solar-plexus",
      "line": 5,
      "color": 6,
      "tone": 1,
      "base": 1,
      "polarity": "left",
      "degree_start": 172.625,
      "degree_end": 178.25,
      "hexagram": 6,
      "degrees": 4.535304591747398
    }
  },
  "design": {
    "sun": {
      "longitude": 191.996539526008,
      "gate": 48,
      "center": "spleen",
      "line": 3,
      "color": 5,
      "tone": 5,
      "base": 4,
      "polarity": "right",
      "degree_start": 189.5,
      "degree_end": 195.125,
      "hexagram": 48,
      "degrees": 2.6215395260080143
    },
    "earth": {
      "longitude": 11.996539526008007,
      "gate": 21,
      "center": "heart",
      "line": 3,
      "color": 5,
      "tone": 5,
      "base": 4,
      "polarity": "right",
      "degree_start": 9.5,
      "degree_end": 15.125,
      "hexagram": 21,
      "degrees": 2.6215395260080094
    },
    "north_node": {
      "longitude": 158.44866958952045,
      "gate": 47,
      "center": "ajna",
      "line": 4,
      "color": 1,
      "tone": 1,
      "base": 3,
      "polarity": "left",
      "degree_start": 161.375,
      "degree_end": 167,
      "hexagram": 47,
      "degrees": 2.823669589520459
    },
    "south_node": {
      "longitude": 338.4486695895205,
      "gate": 37,
      "center": "solar-plexus",
      "line": 4,
      "color": 1,
      "tone": 1,
      "base": 3,
      "polarity": "left",
      "degree_start": 335.75,
      "degree_end": 341.375,
      "hexagram": 37,
      "degrees": 2.8236695895204775
    },
    "moon": {
      "longitude": 8.424620306702279,
      "gate": 17,
      "center": "ajna",
      "line": 5,
      "color": 6,
      "tone": 6,
      "base": 3,
      "polarity": "right",
      "degree_start": 3.875,
      "degree_end": 9.5,
      "hexagram": 17,
      "degrees": 4.674620306702254
    },
    "mercury": {
      "longitude": 207.86548205908142,
      "gate": 50,
      "center": "spleen",
      "line": 2,
      "color": 5,
      "tone": 3,
      "base": 1,
      "polarity": "left",
      "degree_start": 206.375,
      "degree_end": 212,
      "hexagram": 50,
      "degrees": 1.6154820590814012
    },
    "venus": {
      "longitude": 203.00421116514056,
      "gate": 32,
      "center": "spleen",
      "line": 3,
      "color": 4,
      "tone": 2,
      "base": 2,
      "polarity": "left",
      "degree_start": 200.75,
      "degree_end": 206.375,
      "hexagram": 32,
      "degrees": 2.379211165140571
    },
    "mars": {
      "longitude": 126.56935834334396,
      "gate": 31,
      "center": "throat",
      "line": 6,
      "color": 1,
      "tone": 1,
      "base": 2,
      "polarity": "left",
      "degree_start": 122,
      "degree_end": 127.625,
      "hexagram": 31,
      "degrees": 4.694358343343974
    },
    "jupiter": {
      "longitude": 151.46856850846848,
      "gate": 59,
      "center": "sacral",
      "line": 2,
      "color": 4,
      "tone": 3,
      "base": 2,
      "polarity": "left",
      "degree_start": 150.125,
      "degree_end": 155.75,
      "hexagram": 59,
      "degrees": 1.4685685084684863
    },
    "saturn": {
      "longitude": 170.62668916663057,
      "gate": 40,
      "center": "heart",
      "line": 5,
      "color": 1,
      "tone": 1,
      "base": 1,
      "polarity": "left",
      "degree_start": 165.75,
      "degree_end": 171.375,
      "hexagram": 40,
      "degrees": 3.7516891666305563
    },
    "uranus": {
      "longitude": 229.2448944543334,
      "gate": 43,
      "center": "ajna",
      "line": 1,
      "color": 4,
      "tone": 2,
      "base": 1,
      "polarity": "left",
      "degree_start": 228.875,
      "degree_end": 234.5,
      "hexagram": 43,
      "degrees": 0.49489445433339885
    },
    "neptune": {
      "longitude": 258.35863260059824,
      "gate": 26,
      "center": "heart",
      "line": 2,
      "color": 4,
      "tone": 3,
      "base": 5,
      "polarity": "left",
      "degree_start": 257,
      "degree_end": 262.625,
      "hexagram": 26,
      "degrees": 1.483632600598228
    },
    "pluto": {
      "longitude": 199.1239565139889,
      "gate": 57,
      "center": "spleen",
      "line": 5,
      "color": 3,
      "tone": 3,
      "base": 2,
      "polarity": "left",
      "degree_start": 195.125,
      "degree_end": 200.75,
      "hexagram": 57,
      "degrees": 4.123956513988887
    },
    "chiron": null,
    "lilith": {
      "longitude": 172.7642463526692,
      "gate": 6,
      "center": "solar-plexus",
      "line": 1,
      "color": 2,
      "tone": 5,
      "base": 1,
      "polarity": "right",
      "degree_start": 172.625,
      "degree_end": 178.25,
      "hexagram": 6,
      "degrees": 0.26424635266919516
    }
  },
  "centers": [
    "ajna",
    "g",
    "head",
    "heart",
    "root",
    "sacral",
    "solar-plexus",
    "spleen"
  ],
  "gates": [
    {
      "gate": 6,
      "hanging": false,
      "lines": [
        {
          "line": 1,
          "center": "solar-plexus",
          "sources": [
            "design"
          ]
        },
        {
          "line": 5,
          "center": "solar-plexus",
          "sources": [
            "personality"
          ]
        },
        {
          "line": 6,
          "center": "solar-plexus",
          "sources": [
            "personality"
          ]
        }
      ]
    },
    {
      "gate": 10,
      "hanging": true,
      "lines": [
        {
          "line": 1,
          "center": "g",
          "sources": [
            "personality"
          ]
        }
      ]
    },
    {
      "gate": 12,
      "hanging": true,
      "lines": [
        {
          "line": 2,
          "center": "throat",
          "sources": [
            "personality"
          ]
        }
      ]
    },
    {
      "gate": 17,
      "hanging": true,
      "lines": [
        {
          "line": 5,
          "center": "ajna",
          "sources": [
            "design"
          ]
        }
      ]
    },
    {
      "gate": 19,
      "hanging": true,
      "lines": [
        {
          "line": 5,
          "center": "root",
          "sources": [
            "personality"
          ]
        }
      ]
    },
    {
      "gate": 21,
      "hanging": true,
      "lines": [
        {
          "line": 3,
          "center": "heart",
          "sources": [
            "design"
          ]
        }
      ]
    },
    {
      "gate": 26,
      "hanging": true,
      "lines": [
        {
          "line": 2,
          "center": "heart",
          "sources": [
            "design"
          ]
        },
        {
          "line": 5,
          "center": "heart",
          "sources": [
            "personality"
          ]
        }
      ]
    },
    {
      "gate": 31,
      "hanging": true,
      "lines": [
        {
          "line": 6,
          "center": "throat",
          "sources": [
            "design"
          ]
        }
      ]
    },
    {
      "gate": 32,
      "hanging": true,
      "lines": [
        {
          "line": 2,
          "center": "spleen",
          "sources": [
            "personality"
          ]
        },
        {
          "line": 3,
          "center": "spleen",
          "sources": [
            "design"
          ]
        }
      ]
    },
    {
      "gate": 37,
      "hanging": false,
      "lines": [
        {
          "line": 4,
          "center": "solar-plexus",
          "sources": [
            "design"
          ]
        }
      ]
    },
    {
      "gate": 38,
      "hanging": true,
      "lines": [
        {
          "line": 1,
          "center": "root",
          "sources": [
            "personality"
          ]
        }
      ]
    },
    {
      "gate": 39,
      "hanging": false,
      "lines": [
        {
          "line": 1,
          "center": "root",
          "sources": [
            "personality"
          ]
        }
      ]
    },
    {
      "gate": 40,
      "hanging": false,
      "lines": [
        {
          "line": 5,
          "center": "heart",
          "sources": [
            "design"
          ]
        }
      ]
    },
    {
      "gate": 43,
      "hanging": true,
      "lines": [
        {
          "line": 1,
          "center": "ajna",
          "sources": [
            "design"
          ]
        },
        {
          "line": 6,
          "center": "ajna",
          "sources": [
            "personality"
          ]
        }
      ]
    },
    {
      "gate": 47,
      "hanging": false,
      "lines": [
        {
          "line": 4,
          "center": "ajna",
          "sources": [
            "design"
          ]
        },
        {
          "line": 6,
          "center": "ajna",
          "sources": [
            "personality"
          ]
        }
      ]
    },
    {
      "gate": 48,
      "hanging": true,
      "lines": [
        {
          "line": 3,
          "center": "spleen",
          "sources": [
            "design"
          ]
        }
      ]
    },
    {
      "gate": 50,
      "hanging": true,
      "lines": [
        {
          "line": 2,
          "center": "spleen",
          "sources": [
            "design"
          ]
        }
      ]
    },
    {
      "gate": 55,
      "hanging": false,
      "lines": [
        {
          "line": 1,
          "center": "solar-plexus",
          "sources": [
            "personality"
          ]
        }
      ]
    },
    {
      "gate": 57,
      "hanging": true,
      "lines": [
        {
          "line": 5,
          "center": "spleen",
          "sources": [
            "design"
          ]
        }
      ]
    },
    {
      "gate": 59,
      "hanging": false,
      "lines": [
        {
          "line": 1,
          "center": "sacral",
          "sources": [
            "personality"
          ]
        },
        {
          "line": 2,
          "center": "sacral",
          "sources": [
            "design"
          ]
        }
      ]
    },
    {
      "gate": 64,
      "hanging": false,
      "lines": [
        {
          "line": 4,
          "center": "head",
          "sources": [
            "personality"
          ]
        }
      ]
    }
  ],
  "channels": [
    {
      "id": "10-20",
      "gates": [
        10,
        20
      ],
      "centers": [
        "g",
        "throat"
      ],
      "state": "hanging",
      "circuit_group": "individual",
      "circuit": "integration"
    },
    {
      "id": "10-34",
      "gates": [
        10,
        34
      ],
      "centers": [
        "sacral",
        "g"
      ],
      "state": "hanging",
      "circuit_group": "individual",
      "circuit": "centering"
    },
    {
      "id": "10-57",
      "gates": [
        10,
        57
      ],
      "centers": [
        "spleen",
        "g"
      ],
      "state": "fully_merged",
      "circuit_group": "individual",
      "circuit": "integration"
    },
    {
      "id": "12-22",
      "gates": [
        12,
        22
      ],
      "centers": [
        "throat",
        "solar-plexus"
      ],
      "state": "hanging",
      "circuit_group": "individual",
      "circuit": "knowing"
    },
    {
      "id": "16-48",
      "gates": [
        16,
        48
      ],
      "centers": [
        "throat",
        "spleen"
      ],
      "state": "hanging",
      "circuit_group": "collective",
      "circuit": "logic"
    },
    {
      "id": "17-62",
      "gates": [
        17,
        62
      ],
      "centers": [
        "ajna",
        "throat"
      ],
      "state": "hanging",
      "circuit_group": "collective",
      "circuit": "logic"
    },
    {
      "id": "19-49",
      "gates": [
        19,
        49
      ],
      "centers": [
        "solar-plexus",
        "root"
      ],
      "state": "hanging",
      "circuit_group": "tribal",
      "circuit": "ego"
    },
    {
      "id": "20-57",
      "gates": [
        20,
        57
      ],
      "centers": [
        "throat",
        "spleen"
      ],
      "state": "hanging",
      "circuit_group": null,
      "circuit": null
    },
    {
      "id": "21-45",
      "gates": [
        21,
        45
      ],
      "centers": [
        "throat",
        "heart"
      ],
      "state": "hanging",
      "circuit_group": "tribal",
      "circuit": "ego"
    },
    {
      "id": "23-43",
      "gates": [
        23,
        43
      ],
      "centers": [
        "ajna",
        "throat"
      ],
      "state": "hanging",
      "circuit_group": "individual",
      "circuit": "knowing"
    },
    {
      "id": "26-44",
      "gates": [
        26,
        44
      ],
      "centers": [
        "spleen",
        "heart"
      ],
      "state": "hanging",
      "circuit_group": "tribal",
      "circuit": "ego"
    },
    {
      "id": "27-50",
      "gates": [
        27,
        50
      ],
      "centers": [
        "sacral",
        "spleen"
      ],
      "state": "hanging",
      "circuit_group": "tribal",
      "circuit": "defense"
    },
    {
      "id": "28-38",
      "gates": [
        28,
        38
      ],
      "centers": [
        "spleen",
        "root"
      ],
      "state": "hanging",
      "circuit_group": "individual",
      "circuit": "knowing"
    },
    {
      "id": "32-54",
      "gates": [
        32,
        54
      ],
      "centers": [
        "spleen",
        "root"
      ],
      "state": "hanging",
      "circuit_group": "tribal",
      "circuit": "ego"
    },
    {
      "id": "34-57",
      "gates": [
        34,
        57
      ],
      "centers": [
        "sacral",
        "spleen"
      ],
      "state": "hanging",
      "circuit_group": "individual",
      "circuit": "integration"
    },
    {
      "id": "37-40",
      "gates": [
        37,
        40
      ],
      "centers": [
        "heart",
        "solar-plexus"
      ],
      "state": "unconscious",
      "circuit_group": "tribal",
      "circuit": "ego"
    },
    {
      "id": "39-55",
      "gates": [
        39,
        55
      ],
      "centers": [
        "root",
        "solar-plexus"
      ],
      "state": "conscious",
      "circuit_group": "individual",
      "circuit": "knowing"
    },
    {
      "id": "47-64",
      "gates": [
        47,
        64
      ],
      "centers": [
        "head",
        "ajna"
      ],
      "state": "mixed",
      "circuit_group": "collective",
      "circuit": "abstract"
    },
    {
      "id": "6-59",
      "gates": [
        6,
        59
      ],
      "centers": [
        "sacral",
        "solar-plexus"
      ],
      "state": "mixed",
      "circuit_group": "tribal",
      "circuit": "defense"
    },
    {
      "id": "7-31",
      "gates": [
        7,
        31
      ],
      "centers": [
        "g",
        "throat"
      ],
      "state": "hanging",
      "circuit_group": "collective",
      "circuit": "logic"
    }
  ],
  "type": "ge",
  "profile": "1-3",
  "incarnation_cross": {
    "id": "ra-38-39-48-21",
    "geometry": "ra",
    "activations": {
      "personality": {
        "sun": {
          "gate": 38,
          "line": 1
        },
        "earth": {
          "gate": 39,
          "line": 1
        }
      },
      "design": {
        "sun": {
          "gate": 48,
          "line": 3
        },
        "earth": {
          "gate": 21,
          "line": 3
        }
      }
    }
  },
  "variables": {
    "id": "PRL DRR",
    "personality": {
      "digestion": "right",
      "environment": "left"
    },
    "design": {
      "awareness": "right",
      "perspective": "right"
    }
  }
}
Reference

Field definitions & values

personality / design

Planetary activations computed at the requested UTC instant (personality) and at the derived Sun-88° instant (design). Each set includes sun, earth, north_node, south_node, moon, mercury, venus, mars, jupiter, saturn, uranus, neptune, pluto, chiron, lilith (nullable). Values contain:

  • longitude 0–360
  • gate 1–64
  • center normalised to head, ajna, throat, g, heart, spleen, sacral, solar-plexus, root
  • line, color, tone, base as integers 1–6
  • polarity left or right; optional degree_start, degree_end, hexagram, degrees
centers

Array of defined centers derived from non-hanging channels; output is deduplicated and sorted. Possible values: head, ajna, throat, g, heart, spleen, sacral, solar-plexus, root.

type

Derived Human Design type code based on defined centers and motor-to-throat connectivity. Possible values: mg, ge, ma, pr, re.

profile

Hyphenated profile from Sun/Earth lines. Example values: 1-3, 4-6. May be null when required activations are missing.

gates

Array of activated gates with per-line detail.

  • gate 1–64
  • hanging boolean
  • lines[] entries with line 1–6, center, sources array of personality and/or design
channels

Array of channels with connection state and circuit metadata.

  • id e.g., 18-58
  • gates two-gate array
  • centers two-center array
  • state one of hanging, conscious, unconscious, mixed, fully_merged (conscious/unconscious mean personality-only or design-only; fully_merged is cross-completed)
  • circuit_group individual, collective, tribal
  • circuit e.g., logic, abstract, knowing, integration, ego, defense, centering
incarnation_cross
  • id string identifier
  • geometry ra, la, or ju
  • activations with four Sun/Earth items, each with gate and line
variables
  • id compact code such as PLR DRL (or null when incomplete)
  • personality: digestion, environment as left/right/null
  • design: awareness, perspective as left/right/null

Access & keys

Single GET endpoint with JSON responses. API keys are provisioned manually.

Key requirements
  • 1Keys are 32-character alphanumeric strings validated against active/expiry dates.
  • 2Pass the key via ?key=...; requests without a key are rejected.
  • 3Each call increments daily usage stats for that key.
  • 4Self-checkout is available in test mode; production keys are issued by the BodyGraph.info team.
Operational notes
  • Use UTC datetimes only; timezone/place or latitude/longitude inputs are not accepted.
  • Earth is derived as Sun + 180°. Chiron is intentionally returned as null.
  • Responses set Content-Type: application/json; charset=utf-8 and no-store cache headers, returning JSON error payloads on failures.
  • CSPICE kernels are the only external runtime inputs; gate and channel catalogues are embedded in the API.
Self-checkout (Mollie test mode)

Create a subscription or buy extra packs using the Mollie sandbox. Redirect will open the Mollie checkout page.

Used for VAT validation via VIES when available.

FAQ

Key facts about the API.

No. The API returns data only so you can render charts yourself.

Send your 32-character key in the key query parameter. Requests without a valid key are rejected. Authorization headers are not used.

Use UTC only, formatted exactly as YYYY-MM-DDTHH:MM:SSZ. The API does not accept time zones, location fields, or partial timestamps; invalid values return HTTP 400.