/api/astro/human-design/connection/1 creditConnection chart
How two bodygraphs wire together. Every channel in the combined chart falls into exactly one of four kinds, decided purely by who holds which gate. Electromagnetic: each person holds one end, so the channel exists only between them. Companionship: both hold both ends, and the meeting adds nothing. Dominance: one holds both ends and the other holds neither. Compromise: one holds both ends and the other holds one of them. Also returns the centres the pair define together that neither defines alone — what actually changes when they are in the same room — along with the combined type and definition, and a short summary of each person's own chart. Send the second person as partner_date_time and partner_timezone_as_float. Birthplaces are not needed for either person, for the same reason as the other Human Design endpoints.
https://yogataraapi.prahlad.app/api/astro/human-design/connection/Authentication
Send your key in the X-API-Key header. Keys are server-side credentials — never put one in browser JavaScript or a mobile app.
X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/jsonRequest fields
| Field | Type | Required | Notes |
|---|---|---|---|
| date_time | string (date-time) | required | The moment to calculate for, ISO 8601. ALWAYS include an offset or a trailing Z - a value with no zone is read as Asia/Kolkata (UTC+05:30), not UTC, and can return the previous day's result with a 200. '2026-09-01T06:00:00Z' and '2026-09-01 06:00:00' are different instants and give different answers. |
| partner_date_time | string (date-time) | required | |
| timezone_as_float | number (double) | required | UTC offset of the place, in hours, as a decimal. Example: 5.5 for India (UTC+05:30), -5 for New York in winter, 5.75 for Nepal. This is NOT validated against date_time - if the two disagree you get a successful response for the wrong moment, so derive both from the same source. Use the offset in force on that date, not today's: a summer birth in a country with daylight saving needs the summer offset. min -12 · max 14 |
| keys | array | optional | Which calculations to return, as a list of names. See the key table for this endpoint; an unrecognised name rejects the whole request. One call costs one credit however many keys you ask for, so request everything you need at once rather than making several calls. |
| latitude | number (double) | optional | Latitude of the place, in decimal degrees. Positive is north, negative is south. Example: 26.9124 for Jaipur, 40.7128 for New York. Minutes and seconds are not accepted - convert first. |
| longitude | number (double) | optional | Longitude of the place, in decimal degrees. Positive is east, negative is west. Example: 75.7873 for Jaipur, -74.0060 for New York. Note the sign: a missing minus puts New York in China. |
| partner_timezone_as_float | number (double) | optional | min -12 · max 14 |
Example request
curl -X POST https://yogataraapi.prahlad.app/api/astro/human-design/connection/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"2026-09-01 06:00:00","partner_date_time":"2026-09-01 06:00:00","timezone_as_float":5.5,"latitude":26.9124,"longitude":75.7873}'Response
{
"data": {
"person_a": {
"type": "Generator",
"strategy": "To respond",
"authority": "Emotional",
"profile": "4/6",
"definition": "Split Definition"
},
"person_b": {
"type": "Generator",
"strategy": "To respond",
"authority": "Emotional",
"profile": "4/6",
"definition": "Split Definition"
},
"connection": {
"electromagnetic": [],
"companionship": [
{
"channel": "17-62",
"name": "Acceptance",
"gates": [
17,
62
]
},
{
"channel": "30-41",
"name": "Recognition",
"gates": [
30,
41
]
},
{
"channel": "37-40",
"name": "Community",
"gates": [
37,
40
]
},
{
"channel": "39-55",
"name": "Emoting",
"gates": [
39,
55
]
},
{
"channel": "42-53",
"name": "Maturation",
"gates": [
42,
53
]
}
],
"dominance": [],
"compromise": []
},
"counts": {
"electromagnetic": 0,
"companionship": 5,
"dominance": 0,
"compromise": 0
},
"combined_defined_centres": [
"ajna",
"root",
"sacral",
"solar_plexus",
"throat",
"will"
],
"centres_defined_only_together": [],
"combined_type": "Generator",
"combined_definition": "Split Definition"
},
"status": 200,
"is_error": false,
"message": "successful"
}Captured from a real call using the exact request above. Results sit under data.
Errors
Metering errors return { "error": "…", "message": "<code>", "is_error": true }. Show error to people and branch on message. See the error reference.