Human Design MCP Server by RoxyAPI

Human Design bodygraph, type, authority, profile, gates and channels for AI agents.

我該用這個嗎

品質與安全性

A
說明品質
98%
結構描述完整度
99%
命名品質
83%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'get_human_design_gates_number' description lacks action verb在 get_human_design_gates_number 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~14,323Token(工具定義)
~13.3 KB典型回應大小
顯著的注意力影響(128k 上下文的 11.19%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "human-design": {
      "url": "https://roxyapi.com/mcp/human-design"
    }
  }
}

遠端端點

https://roxyapi.com/mcp/human-designstreamable-http

它能做什麼

工具清單

工具(12)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢post_human_design_bodygraph(lang, date, time, timezone, latitude, ...)

Generate a complete Human Design bodygraph from a birth date, time, and timezone. Returns the energy type, strategy, inner authority, signature, not-self theme, profile, definition, incarnation cross, all nine centers with defined state and active gates, the defined channels, and all 26 planetary activations across the Personality and Design sides. The single endpoint for a full chart in one call, built for Human Design apps, readings, and coaching tools.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "date": {
      "type": "string",
      "format": "date",
      "example": "1990-07-15",
      "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
    },
    "time": {
      "type": "string",
      "format": "time",
      "example": "13:00:00",
      "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
    },
    "timezone": {
      "anyOf": [
        {
          "type": "number",
          "minimum": -14,
          "maximum": 14
        },
        {
          "type": "string"
        }
      ],
      "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
      "example": "America/New_York"
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "default": 0,
      "example": 0,
      "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "default": 0,
      "example": 0,
      "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
    },
    "nodeType": {
      "type": "string",
      "enum": [
        "mean",
        "true"
      ],
      "default": "true",
      "example": "true",
      "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "date",
    "time",
    "timezone"
  ],
  "examples": [
    {
      "date": "1990-07-15",
      "time": "13:00:00",
      "timezone": "America/New_York"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "typeLocalized": {
      "type": "string"
    },
    "typeDescription": {
      "type": "string"
    },
    "aura": {
      "type": "string"
    },
    "strategy": {
      "type": "string"
    },
    "strategyLocalized": {
      "type": "string"
    },
    "strategyDescription": {
      "type": "string"
    },
    "authority": {
      "type": "string"
    },
    "authorityLocalized": {
      "type": "string"
    },
    "authorityDescription": {
      "type": "string"
    },
    "signature": {
      "type": "string"
    },
    "signatureLocalized": {
      "type": "string"
    },
    "notSelf": {
      "type": "string"
    },
    "notSelfLocalized": {
      "type": "string"
    },
    "profile": {
      "type": "string"
    },
    "profileKeynotes": {
      "type": "object",
      "properties": {
        "personalityLine": {
          "type": "number"
        },
        "designLine": {
          "type": "number"
        },
        "personality": {
          "type": "string"
        },
        "design": {
          "type": "string"
        }
      },
      "required": [
        "personalityLine",
        "designLine",
        "personality",
        "design"
      ]
    },
    "profileDescription": {
      "type": "string"
    },
    "definition": {
      "type": "string"
    },
    "definitionLocalized": {
      "type": "string"
    },
    "definitionDescription": {
      "type": "string"
    },
    "sides": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "designInstantUtc": {
      "type": "string"
    },
    "incarnationCross": {
      "type": "object",
      "properties": {
        "gates": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "angle": {
          "type": "string"
        },
        "angleLocalized": {
          "type": "string"
        },
        "angleCode": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      },
      "required": [
        "gates",
        "angle",
        "angleCode",
        "name"
      ]
    },
    "centers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "nameLocalized": {
            "type": "string"
          },
          "defined": {
            "type": "boolean"
          },
          "motor": {
            "type": "boolean"
          },
          "awareness": {
            "type": "boolean"
          },
          "theme": {
            "type": "string"
          },
          "notSelfQuestion": {
            "type": "string"
          },
          "biology": {
            "type": "string"
          },
          "gates": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "id",
          "name",
          "defined",
          "motor",
          "awareness",
          "theme",
          "notSelfQuestion",
          "biology",
          "gates"
        ]
      }
    },
    "channels": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "gateA": {
            "type": "number"
          },
          "gateB": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "nameLocalized": {
            "type": "string"
          },
          "circuit": {
            "type": "string"
          },
          "circuitLocalized": {
            "type": "string"
          },
          "centers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "string"
          },
          "circuitDescription": {
            "type": "string"
          }
        },
        "required": [
          "gateA",
          "gateB",
          "name",
          "circuit",
          "centers",
          "description",
          "circuitDescription"
        ]
      }
    },
    "gates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "planet": {
            "type": "string"
          },
          "planetLocalized": {
            "type": "string"
          },
          "side": {
            "type": "string"
          },
          "gate": {
            "type": "number"
          },
          "line": {
            "type": "number"
          },
          "gateName": {
            "type": "string"
          },
          "gateNameLocalized": {
            "type": "string"
          },
          "gateDescription": {
            "type": "string"
          },
          "lineMeaning": {
            "type": "string"
          },
          "planetDescription": {
            "type": "string"
          },
          "ichingHexagram": {
            "type": "object",
            "properties": {
              "number": {
                "type": "number"
              },
              "english": {
                "type": "string"
              }
            },
            "required": [
              "number",
              "english"
            ]
          }
        },
        "required": [
          "planet",
          "side",
          "gate",
          "line",
          "gateName",
          "gateDescription",
          "lineMeaning",
          "planetDescription",
          "ichingHexagram"
        ]
      }
    }
  },
  "required": [
    "type",
    "typeDescription",
    "aura",
    "strategy",
    "strategyDescription",
    "authority",
    "authorityDescription",
    "signature",
    "notSelf",
    "profile",
    "profileKeynotes",
    "profileDescription",
    "definition",
    "definitionDescription",
    "sides",
    "designInstantUtc",
    "incarnationCross",
    "centers",
    "channels",
    "gates"
  ]
}
🟢post_human_design_connection(lang, personA, personB, compact)

Calculate a Human Design connection chart by overlaying two bodygraphs. For each of the 36 channels the dynamic between the two people is classified as electromagnetic, dominance, compromise, or companionship, the four mechanics of how two designs meet. Also returns the nine centers as defined or open in the combined bodygraph with which person defines each, the combined definition, and a count of each dynamic. Built for relationship, dating, and coaching tools.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "personA": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date",
          "example": "1990-07-15",
          "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
        },
        "time": {
          "type": "string",
          "format": "time",
          "example": "13:00:00",
          "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
        },
        "timezone": {
          "anyOf": [
            {
              "type": "number",
              "minimum": -14,
              "maximum": 14
            },
            {
              "type": "string"
            }
          ],
          "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
          "example": "America/New_York"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0,
          "example": 0,
          "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0,
          "example": 0,
          "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
        },
        "nodeType": {
          "type": "string",
          "enum": [
            "mean",
            "true"
          ],
          "default": "true",
          "example": "true",
          "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ],
      "description": "Birth moment of the first person in the connection."
    },
    "personB": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date",
          "example": "1990-07-15",
          "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
        },
        "time": {
          "type": "string",
          "format": "time",
          "example": "13:00:00",
          "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
        },
        "timezone": {
          "anyOf": [
            {
              "type": "number",
              "minimum": -14,
              "maximum": 14
            },
            {
              "type": "string"
            }
          ],
          "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
          "example": "America/New_York"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0,
          "example": 0,
          "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0,
          "example": 0,
          "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
        },
        "nodeType": {
          "type": "string",
          "enum": [
            "mean",
            "true"
          ],
          "default": "true",
          "example": "true",
          "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ],
      "description": "Birth moment of the second person in the connection."
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "personA",
    "personB"
  ],
  "examples": [
    {
      "personA": {
        "date": "1990-07-15",
        "time": "13:00:00",
        "timezone": "America/New_York"
      },
      "personB": {
        "date": "1990-07-15",
        "time": "13:00:00",
        "timezone": "America/New_York"
      }
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "totalChannels": {
      "type": "number"
    },
    "channels": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "gateA": {
            "type": "number"
          },
          "gateB": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "nameLocalized": {
            "type": "string"
          },
          "circuit": {
            "type": "string"
          },
          "circuitLocalized": {
            "type": "string"
          },
          "centers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dynamic": {
            "type": "string"
          },
          "dynamicLocalized": {
            "type": "string"
          },
          "personAGates": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "personBGates": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "gateA",
          "gateB",
          "name",
          "circuit",
          "centers",
          "dynamic",
          "personAGates",
          "personBGates"
        ]
      }
    },
    "centers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "nameLocalized": {
            "type": "string"
          },
          "defined": {
            "type": "boolean"
          },
          "definedBy": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "name",
          "defined",
          "definedBy"
        ]
      }
    },
    "combinedDefinition": {
      "type": "string"
    },
    "combinedDefinitionLocalized": {
      "type": "string"
    },
    "summary": {
      "type": "object",
      "properties": {
        "electromagnetic": {
          "type": "number"
        },
        "dominance": {
          "type": "number"
        },
        "compromise": {
          "type": "number"
        },
        "companionship": {
          "type": "number"
        }
      },
      "required": [
        "electromagnetic",
        "dominance",
        "compromise",
        "companionship"
      ]
    }
  },
  "required": [
    "totalChannels",
    "channels",
    "centers",
    "combinedDefinition",
    "summary"
  ]
}
🟢post_human_design_penta(lang, members, compact)

Calculate the Human Design Penta (BG5, Base Group 5) for a small group of three to five people. The Penta is a trans-auric form built from a fixed set of six channels running only between the Sacral, the G Center, and the Throat. It reports which of the twelve Penta gates are filled and by whom, which of the six channels are defined Strengths, the upper leadership channels versus the lower generative channels, the 2/14 material core, and the functional gaps where no member supplies a role. Built for team, family, and group analysis tools. Below three people no Penta forms and above five a second Penta emerges, so the group size must be three to five.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "members": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "example": "1990-07-15",
            "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
          },
          "time": {
            "type": "string",
            "format": "time",
            "example": "13:00:00",
            "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
          },
          "timezone": {
            "anyOf": [
              {
                "type": "number",
                "minimum": -14,
                "maximum": 14
              },
              {
                "type": "string"
              }
            ],
            "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
            "example": "America/New_York"
          },
          "latitude": {
            "type": "number",
            "minimum": -90,
            "maximum": 90,
            "default": 0,
            "example": 0,
            "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
          },
          "longitude": {
            "type": "number",
            "minimum": -180,
            "maximum": 180,
            "default": 0,
            "example": 0,
            "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
          },
          "nodeType": {
            "type": "string",
            "enum": [
              "mean",
              "true"
            ],
            "default": "true",
            "example": "true",
            "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
          }
        },
        "required": [
          "date",
          "time",
          "timezone"
        ]
      },
      "minItems": 3,
      "maxItems": 5,
      "description": "Birth moments of the three to five people in the group. Below three no Penta forms; above five a second Penta emerges."
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "members"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "memberCount": {
      "type": "number"
    },
    "channels": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "gateA": {
            "type": "number"
          },
          "gateB": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "nameLocalized": {
            "type": "string"
          },
          "circuit": {
            "type": "string"
          },
          "circuitLocalized": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "isCore": {
            "type": "boolean"
          },
          "defined": {
            "type": "boolean"
          },
          "gateAHeldBy": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "gateBHeldBy": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "gateA",
          "gateB",
          "name",
          "circuit",
          "position",
          "isCore",
          "defined",
          "gateAHeldBy",
          "gateBHeldBy"
        ]
      }
    },
    "gates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "gate": {
            "type": "number"
          },
          "gateName": {
            "type": "string"
          },
          "gateNameLocalized": {
            "type": "string"
          },
          "filled": {
            "type": "boolean"
          },
          "heldBy": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "gate",
          "gateName",
          "filled",
          "heldBy"
        ]
      }
    },
    "summary": {
      "type": "object",
      "properties": {
        "definedChannels": {
          "type": "number"
        },
        "filledGates": {
          "type": "number"
        },
        "gapGates": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "coreDefined": {
          "type": "boolean"
        }
      },
      "required": [
        "definedChannels",
        "filledGates",
        "gapGates",
        "coreDefined"
      ]
    }
  },
  "required": [
    "memberCount",
    "channels",
    "gates",
    "summary"
  ]
}
🟢post_human_design_transit(lang, birthData, date, time, compact)

Overlay the current or any given planetary positions on a natal Human Design bodygraph to see which channels the transit temporarily completes. Returns the 13 transiting body activations with gate and line, the channels the transit completes beyond the natal definition split into personal channels where the transit supplies the partner gate of a natal gate and educational channels where the transit supplies both gates, the natally open centers those channels temporarily define, and a short factual summary. A transit is a single moment, so there is no Design side. When date and time are omitted the overlay is computed for now in UTC. Built for daily Human Design apps, transit widgets, and notification tools.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "birthData": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "format": "date",
          "example": "1990-07-15",
          "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
        },
        "time": {
          "type": "string",
          "format": "time",
          "example": "13:00:00",
          "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
        },
        "timezone": {
          "anyOf": [
            {
              "type": "number",
              "minimum": -14,
              "maximum": 14
            },
            {
              "type": "string"
            }
          ],
          "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
          "example": "America/New_York"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "default": 0,
          "example": 0,
          "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "default": 0,
          "example": 0,
          "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
        },
        "nodeType": {
          "type": "string",
          "enum": [
            "mean",
            "true"
          ],
          "default": "true",
          "example": "true",
          "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
        }
      },
      "required": [
        "date",
        "time",
        "timezone"
      ],
      "description": "Birth moment whose natal bodygraph the transit is overlaid on."
    },
    "date": {
      "type": "string",
      "format": "date",
      "example": "2026-05-23",
      "description": "Transit date in YYYY-MM-DD UTC. Optional. Defaults to today in UTC when omitted, giving the just-now transit."
    },
    "time": {
      "type": "string",
      "format": "time",
      "example": "12:00:00",
      "description": "Transit time in HH:MM:SS UTC. Optional. Defaults to the current UTC time when omitted. Precision matters: the Moon moves through a gate in roughly half a day."
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "birthData"
  ],
  "examples": [
    {
      "birthData": {
        "date": "1990-07-15",
        "time": "13:00:00",
        "timezone": "America/New_York"
      }
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string"
    },
    "time": {
      "type": "string"
    },
    "timezone": {
      "type": "number"
    },
    "activations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "bodyLocalized": {
            "type": "string"
          },
          "gate": {
            "type": "number"
          },
          "line": {
            "type": "number"
          },
          "gateName": {
            "type": "string"
          },
          "gateNameLocalized": {
            "type": "string"
          },
          "ichingHexagram": {
            "type": "object",
            "properties": {
              "number": {
                "type": "number"
              },
              "english": {
                "type": "string"
              }
            },
            "required": [
              "number",
              "english"
            ]
          }
        },
        "required": [
          "body",
          "gate",
          "line",
          "gateName",
          "ichingHexagram"
        ]
      }
    },
    "completedChannels": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "gateA": {
            "type": "number"
          },
          "gateB": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "nameLocalized": {
            "type": "string"
          },
          "circuit": {
            "type": "string"
          },
          "circuitLocalized": {
            "type": "string"
          },
          "centers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "kind": {
            "type": "string"
          },
          "kindLocalized": {
            "type": "string"
          },
          "natalGates": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "transitGates": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "gateA",
          "gateB",
          "name",
          "circuit",
          "centers",
          "kind",
          "natalGates",
          "transitGates"
        ]
      }
    },
    "temporaryCenters": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "nameLocalized": {
            "type": "string"
          },
          "temporarilyDefined": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "temporarilyDefined"
        ]
      }
    },
    "summary": {
      "type": "string"
    }
  },
  "required": [
    "date",
    "time",
    "timezone",
    "activations",
    "completedChannels",
    "temporaryCenters",
    "summary"
  ]
}
🟢post_human_design_type(lang, date, time, timezone, latitude, ...)

Calculate the core Human Design identity from a birth moment: the energy type, the aura strategy, the inner authority, the signature and not-self themes, and the profile. The fast lookup for type-and-authority features without the full bodygraph payload. Verified against NASA JPL Horizons positions.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "date": {
      "type": "string",
      "format": "date",
      "example": "1990-07-15",
      "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
    },
    "time": {
      "type": "string",
      "format": "time",
      "example": "13:00:00",
      "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
    },
    "timezone": {
      "anyOf": [
        {
          "type": "number",
          "minimum": -14,
          "maximum": 14
        },
        {
          "type": "string"
        }
      ],
      "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
      "example": "America/New_York"
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "default": 0,
      "example": 0,
      "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "default": 0,
      "example": 0,
      "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
    },
    "nodeType": {
      "type": "string",
      "enum": [
        "mean",
        "true"
      ],
      "default": "true",
      "example": "true",
      "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "date",
    "time",
    "timezone"
  ],
  "examples": [
    {
      "date": "1990-07-15",
      "time": "13:00:00",
      "timezone": "America/New_York"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "typeLocalized": {
      "type": "string"
    },
    "typeDescription": {
      "type": "string"
    },
    "aura": {
      "type": "string"
    },
    "strategy": {
      "type": "string"
    },
    "strategyLocalized": {
      "type": "string"
    },
    "strategyDescription": {
      "type": "string"
    },
    "authority": {
      "type": "string"
    },
    "authorityLocalized": {
      "type": "string"
    },
    "authorityDescription": {
      "type": "string"
    },
    "signature": {
      "type": "string"
    },
    "signatureLocalized": {
      "type": "string"
    },
    "notSelf": {
      "type": "string"
    },
    "notSelfLocalized": {
      "type": "string"
    },
    "profile": {
      "type": "string"
    }
  },
  "required": [
    "type",
    "typeDescription",
    "aura",
    "strategy",
    "strategyDescription",
    "authority",
    "authorityDescription",
    "signature",
    "notSelf",
    "profile"
  ]
}
🟢post_human_design_gates(lang, date, time, timezone, latitude, ...)

Calculate the 26 gate activations for a birth moment, split into the 13 conscious Personality activations at birth and the 13 unconscious Design activations 88 degrees of solar arc earlier. Each activation reports the planet, gate, line, gate keynote, and the matching I-Ching hexagram. Built for activation columns and detailed chart views.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "date": {
      "type": "string",
      "format": "date",
      "example": "1990-07-15",
      "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
    },
    "time": {
      "type": "string",
      "format": "time",
      "example": "13:00:00",
      "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
    },
    "timezone": {
      "anyOf": [
        {
          "type": "number",
          "minimum": -14,
          "maximum": 14
        },
        {
          "type": "string"
        }
      ],
      "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
      "example": "America/New_York"
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "default": 0,
      "example": 0,
      "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "default": 0,
      "example": 0,
      "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
    },
    "nodeType": {
      "type": "string",
      "enum": [
        "mean",
        "true"
      ],
      "default": "true",
      "example": "true",
      "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "date",
    "time",
    "timezone"
  ],
  "examples": [
    {
      "date": "1990-07-15",
      "time": "13:00:00",
      "timezone": "America/New_York"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "personality": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "planet": {
            "type": "string"
          },
          "planetLocalized": {
            "type": "string"
          },
          "side": {
            "type": "string"
          },
          "gate": {
            "type": "number"
          },
          "line": {
            "type": "number"
          },
          "gateName": {
            "type": "string"
          },
          "gateNameLocalized": {
            "type": "string"
          },
          "gateDescription": {
            "type": "string"
          },
          "lineMeaning": {
            "type": "string"
          },
          "planetDescription": {
            "type": "string"
          },
          "ichingHexagram": {
            "type": "object",
            "properties": {
              "number": {
                "type": "number"
              },
              "english": {
                "type": "string"
              }
            },
            "required": [
              "number",
              "english"
            ]
          }
        },
        "required": [
          "planet",
          "side",
          "gate",
          "line",
          "gateName",
          "gateDescription",
          "lineMeaning",
          "planetDescription",
          "ichingHexagram"
        ]
      }
    },
    "design": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "planet": {
            "type": "string"
          },
          "planetLocalized": {
            "type": "string"
          },
          "side": {
            "type": "string"
          },
          "gate": {
            "type": "number"
          },
          "line": {
            "type": "number"
          },
          "gateName": {
            "type": "string"
          },
          "gateNameLocalized": {
            "type": "string"
          },
          "gateDescription": {
            "type": "string"
          },
          "lineMeaning": {
            "type": "string"
          },
          "planetDescription": {
            "type": "string"
          },
          "ichingHexagram": {
            "type": "object",
            "properties": {
              "number": {
                "type": "number"
              },
              "english": {
                "type": "string"
              }
            },
            "required": [
              "number",
              "english"
            ]
          }
        },
        "required": [
          "planet",
          "side",
          "gate",
          "line",
          "gateName",
          "gateDescription",
          "lineMeaning",
          "planetDescription",
          "ichingHexagram"
        ]
      }
    }
  },
  "required": [
    "personality",
    "design"
  ]
}
🟢get_human_design_gates_number(number, lang, compact)

Look up the static reference data for a Human Design gate by its number from 1 to 64: the gate keynote name, the center it sits in, the matching I-Ching hexagram, and the gates that form a channel with it. A pure reference endpoint with no birth data required.

輸入結構描述

{
  "type": "object",
  "properties": {
    "number": {
      "type": "integer",
      "description": "Gate number from 1 to 64.",
      "minimum": 1,
      "maximum": 64,
      "example": 34
    },
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "number"
  ],
  "examples": [
    {
      "number": 34
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "number": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "nameLocalized": {
      "type": "string"
    },
    "center": {
      "type": "string"
    },
    "centerName": {
      "type": "string"
    },
    "centerNameLocalized": {
      "type": "string"
    },
    "ichingHexagram": {
      "type": "object",
      "properties": {
        "number": {
          "type": "number"
        },
        "english": {
          "type": "string"
        }
      },
      "required": [
        "number",
        "english"
      ]
    },
    "channelPartners": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "gate": {
            "type": "number"
          },
          "channel": {
            "type": "string"
          },
          "channelLocalized": {
            "type": "string"
          }
        },
        "required": [
          "gate",
          "channel"
        ]
      }
    }
  },
  "required": [
    "number",
    "name",
    "center",
    "centerName",
    "ichingHexagram",
    "channelPartners"
  ]
}
🟢post_human_design_channels(lang, date, time, timezone, latitude, ...)

Calculate the defined channels for a birth moment. A channel is defined when both of its gates are activated, and it wires together the two centers it connects. Returns each defined channel with its gates, name, circuit family, and connected centers, plus the full set of centers those channels define. Built for bodygraph rendering and definition analysis.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "date": {
      "type": "string",
      "format": "date",
      "example": "1990-07-15",
      "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
    },
    "time": {
      "type": "string",
      "format": "time",
      "example": "13:00:00",
      "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
    },
    "timezone": {
      "anyOf": [
        {
          "type": "number",
          "minimum": -14,
          "maximum": 14
        },
        {
          "type": "string"
        }
      ],
      "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
      "example": "America/New_York"
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "default": 0,
      "example": 0,
      "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "default": 0,
      "example": 0,
      "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
    },
    "nodeType": {
      "type": "string",
      "enum": [
        "mean",
        "true"
      ],
      "default": "true",
      "example": "true",
      "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "date",
    "time",
    "timezone"
  ],
  "examples": [
    {
      "date": "1990-07-15",
      "time": "13:00:00",
      "timezone": "America/New_York"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "channels": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "gateA": {
            "type": "number"
          },
          "gateB": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "nameLocalized": {
            "type": "string"
          },
          "circuit": {
            "type": "string"
          },
          "circuitLocalized": {
            "type": "string"
          },
          "centers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "string"
          },
          "circuitDescription": {
            "type": "string"
          }
        },
        "required": [
          "gateA",
          "gateB",
          "name",
          "circuit",
          "centers",
          "description",
          "circuitDescription"
        ]
      }
    },
    "total": {
      "type": "number"
    },
    "definedCenters": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "channels",
    "total",
    "definedCenters"
  ]
}
🟢post_human_design_centers(lang, date, time, timezone, latitude, ...)

Calculate the state of all nine Human Design centers for a birth moment: whether each is defined or open, whether it is a motor or an awareness center, its theme, and the active gates it holds. The data layer behind a rendered bodygraph where defined centers are colored and open centers are white.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "date": {
      "type": "string",
      "format": "date",
      "example": "1990-07-15",
      "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
    },
    "time": {
      "type": "string",
      "format": "time",
      "example": "13:00:00",
      "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
    },
    "timezone": {
      "anyOf": [
        {
          "type": "number",
          "minimum": -14,
          "maximum": 14
        },
        {
          "type": "string"
        }
      ],
      "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
      "example": "America/New_York"
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "default": 0,
      "example": 0,
      "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "default": 0,
      "example": 0,
      "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
    },
    "nodeType": {
      "type": "string",
      "enum": [
        "mean",
        "true"
      ],
      "default": "true",
      "example": "true",
      "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "date",
    "time",
    "timezone"
  ],
  "examples": [
    {
      "date": "1990-07-15",
      "time": "13:00:00",
      "timezone": "America/New_York"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "centers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "nameLocalized": {
            "type": "string"
          },
          "defined": {
            "type": "boolean"
          },
          "motor": {
            "type": "boolean"
          },
          "awareness": {
            "type": "boolean"
          },
          "theme": {
            "type": "string"
          },
          "notSelfQuestion": {
            "type": "string"
          },
          "biology": {
            "type": "string"
          },
          "gates": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "id",
          "name",
          "defined",
          "motor",
          "awareness",
          "theme",
          "notSelfQuestion",
          "biology",
          "gates"
        ]
      }
    },
    "definedCount": {
      "type": "number"
    }
  },
  "required": [
    "centers",
    "definedCount"
  ]
}
🟢get_human_design_centers_id(id, lang, compact)

Look up the static reference data for one of the nine Human Design centers by its id: the display name, whether it is a motor or awareness center, and what it means both defined and undefined. A pure reference endpoint with no birth data required.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Center id. One of head, ajna, throat, g, heart, sacral, solar-plexus, spleen, root.",
      "enum": [
        "head",
        "ajna",
        "throat",
        "g",
        "heart",
        "sacral",
        "solar-plexus",
        "spleen",
        "root"
      ],
      "example": "sacral"
    },
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "id"
  ],
  "examples": [
    {
      "id": "sacral"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "nameLocalized": {
      "type": "string"
    },
    "motor": {
      "type": "boolean"
    },
    "awareness": {
      "type": "boolean"
    },
    "definedMeaning": {
      "type": "string"
    },
    "undefinedMeaning": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "motor",
    "awareness",
    "definedMeaning",
    "undefinedMeaning"
  ]
}
🟢post_human_design_profile(lang, date, time, timezone, latitude, ...)

Calculate the Human Design profile for a birth moment: the conscious Personality Sun line over the unconscious Design Sun line, with the keynote for each. The profile is the geometry of the life role, for example 5/1 the Heretic Investigator. Verified against NASA JPL Horizons positions.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "date": {
      "type": "string",
      "format": "date",
      "example": "1990-07-15",
      "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
    },
    "time": {
      "type": "string",
      "format": "time",
      "example": "13:00:00",
      "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
    },
    "timezone": {
      "anyOf": [
        {
          "type": "number",
          "minimum": -14,
          "maximum": 14
        },
        {
          "type": "string"
        }
      ],
      "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
      "example": "America/New_York"
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "default": 0,
      "example": 0,
      "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "default": 0,
      "example": 0,
      "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
    },
    "nodeType": {
      "type": "string",
      "enum": [
        "mean",
        "true"
      ],
      "default": "true",
      "example": "true",
      "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "date",
    "time",
    "timezone"
  ],
  "examples": [
    {
      "date": "1990-07-15",
      "time": "13:00:00",
      "timezone": "America/New_York"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "profile": {
      "type": "string"
    },
    "personalityLine": {
      "type": "number"
    },
    "designLine": {
      "type": "number"
    },
    "personalityKeynote": {
      "type": "string"
    },
    "designKeynote": {
      "type": "string"
    }
  },
  "required": [
    "profile",
    "personalityLine",
    "designLine",
    "personalityKeynote",
    "designKeynote"
  ]
}
🟢post_human_design_variables(lang, date, time, timezone, latitude, ...)

Calculate the four Human Design Variable arrows for a birth moment: Determination and Environment on the design side, Perspective and Motivation on the personality side. Each arrow returns its Color, Tone, and Base numbers from the hexagram-line substructure, the left or right direction set by the Tone, and the sourced Color and direction labels. This is the advanced Rave Variables and Primary Health System layer beneath Type, Strategy, Authority, and Profile. Color, Tone, and Base shift with tiny differences in birth time, so each arrow carries a confidence flag that turns false near a Color or Tone boundary, and a precise birth time is essential. Built for Human Design apps offering PHS, diet, environment, and Rave Psychology readings.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.",
      "enum": [
        "en",
        "tr",
        "de",
        "es",
        "hi",
        "pt",
        "fr",
        "ru",
        "zh-Hans",
        "zh-Hant"
      ],
      "default": "en",
      "example": "en"
    },
    "date": {
      "type": "string",
      "format": "date",
      "example": "1990-07-15",
      "description": "Birth date in YYYY-MM-DD format. The anchor for both the Personality activations at birth and the Design activations 88 degrees of solar arc earlier."
    },
    "time": {
      "type": "string",
      "format": "time",
      "example": "13:00:00",
      "description": "Birth time in 24-hour HH:MM:SS format. Precision matters: the profile lines and gate boundaries shift with the exact minute of birth."
    },
    "timezone": {
      "anyOf": [
        {
          "type": "number",
          "minimum": -14,
          "maximum": 14
        },
        {
          "type": "string"
        }
      ],
      "description": "IANA name (e.g. \"America/New_York\", \"Europe/London\", \"UTC\"), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \"-05:00\", \"+01:00\"). Prefer the IANA name: it is resolved to the offset in force at the birth date and time, historical daylight-saving rules included, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state at that moment. On a transition day a time in the repeated hour is read as its first occurrence and a time in the skipped hour is moved forward past the gap. Invalid timezones return 400 with a validation error.",
      "example": "America/New_York"
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "default": 0,
      "example": 0,
      "description": "Birth latitude in decimal degrees. Optional and does not affect the bodygraph, which depends only on ecliptic longitudes. Defaults to 0."
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "default": 0,
      "example": 0,
      "description": "Birth longitude in decimal degrees. Optional and does not affect the bodygraph. Defaults to 0."
    },
    "nodeType": {
      "type": "string",
      "enum": [
        "mean",
        "true"
      ],
      "default": "true",
      "example": "true",
      "description": "Lunar node convention. \"mean\" is the smoothed average node, which always moves retrograde; \"true\" is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node activations. True is what professional Human Design software uses (HumanDesign.ai, Total Human Design) and is the value RoxyAPI verifies against, so leave it unset for a standard chart. It matters only when a node sits on a gate boundary, where the choice moves a node gate. Because a gate can be half of a channel, that can change the completed channels and, with them, whether a center reads defined or open, plus the definition, authority, profile or type. A chart where only one center disagrees is the usual shape, since the type and profile often survive unchanged. If another calculator disagrees on any of those, it is almost certainly using the mean node: pass \"mean\" to match it. Defaults to \"true\"."
    },
    "compact": {
      "type": "boolean",
      "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
      "default": false
    }
  },
  "required": [
    "date",
    "time",
    "timezone"
  ],
  "examples": [
    {
      "date": "1990-07-15",
      "time": "13:00:00",
      "timezone": "America/New_York"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "arrows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "nameLocalized": {
            "type": "string"
          },
          "layer": {
            "type": "string"
          },
          "layerLocalized": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "positionLocalized": {
            "type": "string"
          },
          "activation": {
            "type": "object",
            "properties": {
              "planet": {
                "type": "string"
              },
              "planetLocalized": {
                "type": "string"
              },
              "side": {
                "type": "string"
              }
            },
            "required": [
              "planet",
              "side"
            ]
          },
          "color": {
            "type": "number"
          },
          "tone": {
            "type": "number"
          },
          "base": {
            "type": "number"
          },
          "direction": {
            "type": "string"
          },
          "colorLabel": {
            "type": "string"
          },
          "colorLabelLocalized": {
            "type": "string"
          },
          "directionLabel": {
            "type": "string"
          },
          "directionLabelLocalized": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "layerDescription": {
            "type": "string"
          },
          "colorMeaning": {
            "type": "string"
          },
          "toneMeaning": {
            "type": "string"
          },
          "directionMeaning": {
            "type": "string"
          },
          "baseName": {
            "type": "string"
          },
          "baseNameLocalized": {
            "type": "string"
          },
          "cognition": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string"
              },
              "labelLocalized": {
                "type": "string"
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "label",
              "description"
            ]
          },
          "confident": {
            "type": "boolean"
          }
        },
        "required": [
          "key",
          "name",
          "layer",
          "position",
          "activation",
          "color",
          "tone",
          "base",
          "direction",
          "colorLabel",
          "directionLabel",
          "description",
          "layerDescription",
          "colorMeaning",
          "toneMeaning",
          "directionMeaning",
          "baseName",
          "confident"
        ]
      }
    },
    "confident": {
      "type": "boolean"
    },
    "confidenceMarginDeg": {
      "type": "number"
    },
    "baseDescription": {
      "type": "string"
    }
  },
  "required": [
    "arrows",
    "confident",
    "confidenceMarginDeg",
    "baseDescription"
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本12 個工具
已驗證未記錄版本12 個工具