pillars[].stem required | object | The Heavenly Stem of this pillar. |
pillars[].stem.id required | string | Heavenly Stem identifier. One of jia, yi, bing, ding, wu, ji, geng, xin, ren, gui. Always English pinyin, whatever the lang parameter says, so it stays safe to compare against in code and to key a glyph table on. |
pillars[].stem.chinese required | string | The stem in hanzi. Data rather than display copy, so it is identical under every lang. |
pillars[].stem.pinyin required | string | Tone-marked pinyin for the stem. Identical under every lang. |
pillars[].stem.element required | string | Five-phase element of the stem. One of Wood, Fire, Earth, Metal, Water. Always English, whatever the lang parameter says. Use elementLocalized for anything a reader sees. |
pillars[].stem.elementLocalized | string | Element name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it. |
pillars[].stem.polarity required | string | Polarity of the stem, yang or yin. The five odd stems are yang and the five even ones are yin, and this is half of what decides every Ten God relation in the chart. |
pillars[].branch required | object | The Earthly Branch of this pillar. |
pillars[].branch.id required | string | Earthly Branch identifier. One of zi, chou, yin, mao, chen, si, wu, wei, shen, you, xu, hai. Always English pinyin, whatever the lang parameter says. Note that "wu" is also a stem identifier: they never share a field, so a branch id is only ever read out of a branch position. |
pillars[].branch.chinese required | string | The branch in hanzi. Identical under every lang. |
pillars[].branch.pinyin required | string | Tone-marked pinyin for the branch. Identical under every lang. |
pillars[].branch.animal required | string | Zodiac animal of the branch. One of rat, ox, tiger, rabbit, dragon, snake, horse, goat, monkey, rooster, dog, pig. Always English, whatever the lang parameter says. Use animalLocalized for anything a reader sees. |
pillars[].branch.animalLocalized | string | Zodiac animal name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it. |
pillars[].branch.element required | string | Five-phase element of the branch. Always English, whatever the lang parameter says. Use elementLocalized for anything a reader sees. |
pillars[].branch.elementLocalized | string | Element name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it. |
pillars[].branch.polarity required | string | Polarity of the branch, yang or yin. |
pillars[].tenGod required | object | Relation the pillar STEM holds to the Day Master. The day pillar carries day-master instead, because the day stem is the reference point every other position is measured from rather than a relation to itself. |
pillars[].tenGod.id required | string | Ten God identifier. One of friend, rob-wealth, eating-god, hurting-officer, indirect-wealth, direct-wealth, seven-killings, direct-officer, indirect-resource, direct-resource, plus day-master in the day-stem position. Always English, whatever the lang parameter says. |
pillars[].tenGod.name required | string | Display name of the relation. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees. |
pillars[].tenGod.nameLocalized | string | Ten God name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it. |
pillars[].tenGod.chinese required | string | The relation in traditional hanzi. Identical under every lang. |
pillars[].tenGod.pinyin required | string | Tone-marked pinyin for the relation. Identical under every lang. |
pillars[].tenGod.category required | string | Which of the five cycle relations this belongs to. peer is the same element as the Day Master, output is what the Day Master generates, wealth is what it controls, influence is what controls it, resource is what generates it, and self marks the Day Master itself. Always English, whatever the lang parameter says. |
pillars[].tenGod.keynote required | string | One-line summary of what this relation contributes, for a compact rendering that has no room for the full meaning. |
pillars[].hiddenStems required | array of object | Stems stored inside the branch, principal first. These carry the qi a branch holds without showing it, and they are where a Day Master finds a root. |
pillars[].hiddenStems[].stem required | object | The stem stored in the branch. |
pillars[].hiddenStems[].stem.id required | string | Heavenly Stem identifier. One of jia, yi, bing, ding, wu, ji, geng, xin, ren, gui. Always English pinyin, whatever the lang parameter says, so it stays safe to compare against in code and to key a glyph table on. |
pillars[].hiddenStems[].stem.chinese required | string | The stem in hanzi. Data rather than display copy, so it is identical under every lang. |
pillars[].hiddenStems[].stem.pinyin required | string | Tone-marked pinyin for the stem. Identical under every lang. |
pillars[].hiddenStems[].stem.element required | string | Five-phase element of the stem. One of Wood, Fire, Earth, Metal, Water. Always English, whatever the lang parameter says. Use elementLocalized for anything a reader sees. |
pillars[].hiddenStems[].stem.elementLocalized | string | Element name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it. |
pillars[].hiddenStems[].stem.polarity required | string | Polarity of the stem, yang or yin. The five odd stems are yang and the five even ones are yin, and this is half of what decides every Ten God relation in the chart. |
pillars[].hiddenStems[].role required | string | Rank of this stem inside the branch, by the classical day-count that divides a thirty-day month 18, 9 and 3 days between the stems a branch holds. principal is the first-ranked stem and always matches the branch element; middle is the second-ranked; residual is the third. A branch holds one to three, always returned in rank order. What each rank CONTAINS depends on the branch family: on a storage branch the second-ranked stem is the seasonal carryover from the month before and the third is the stem that branch stores as the close of its trine, while on a growth branch the second-ranked stem is the one beginning its long-life phase there and the third is the carryover. Some schools name the same three positions by that function rather than by rank, which swaps the second and third labels on the four storage branches, so compare on rank rather than assuming a name. |
pillars[].hiddenStems[].tenGod required | object | Relation this hidden stem holds to the Day Master. |
pillars[].hiddenStems[].tenGod.id required | string | Ten God identifier. One of friend, rob-wealth, eating-god, hurting-officer, indirect-wealth, direct-wealth, seven-killings, direct-officer, indirect-resource, direct-resource, plus day-master in the day-stem position. Always English, whatever the lang parameter says. |
pillars[].hiddenStems[].tenGod.name required | string | Display name of the relation. Always English, whatever the lang parameter says. Use nameLocalized for anything a reader sees. |
pillars[].hiddenStems[].tenGod.nameLocalized | string | Ten God name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it. |
pillars[].hiddenStems[].tenGod.chinese required | string | The relation in traditional hanzi. Identical under every lang. |
pillars[].hiddenStems[].tenGod.pinyin required | string | Tone-marked pinyin for the relation. Identical under every lang. |
pillars[].hiddenStems[].tenGod.category required | string | Which of the five cycle relations this belongs to. peer is the same element as the Day Master, output is what the Day Master generates, wealth is what it controls, influence is what controls it, resource is what generates it, and self marks the Day Master itself. Always English, whatever the lang parameter says. |
pillars[].hiddenStems[].tenGod.keynote required | string | One-line summary of what this relation contributes, for a compact rendering that has no room for the full meaning. |
pillars[].naYin required | string | Na Yin sound element of the pillar, an older elemental reading assigned to each of the 30 stem-and-branch pairs. The hanzi name sits beside it in naYinChinese. |
pillars[].naYinChinese required | string | The Na Yin name in hanzi. Identical under every lang. |
pillars[].naYinElement required | string | Element the Na Yin resolves to. Independent of the stem element and often different from it, which is why it is reported separately rather than folded in. Always English, whatever the lang parameter says. Use naYinElementLocalized for anything a reader sees. |
pillars[].naYinElementLocalized | string | Na Yin element name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it. |
dayMaster required | object | The day stem, which is the subject of the whole chart. Everything else in the response is named by what it does to this one. |
dayMaster.stem required | string | Day stem identifier, which IS the Day Master. Always English pinyin, whatever the lang parameter says. |
dayMaster.chinese required | string | The Day Master stem in hanzi. Identical under every lang. |
dayMaster.pinyin required | string | Tone-marked pinyin for the Day Master stem. |
dayMaster.element required | string | Five-phase element of the Day Master. Every Ten God in the chart is measured from this element and this polarity. Always English, whatever the lang parameter says. Use elementLocalized for anything a reader sees. |
dayMaster.elementLocalized | string | Element name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it. |
dayMaster.polarity required | string | Polarity of the Day Master, yang or yin. |
dayMaster.nature required | string | What this particular stem is like as a Day Master, in the imagery the tradition uses to distinguish the two stems of each element. The yang and yin forms of one element behave very differently and this is where that difference lives. |
zodiacAnimal required | string | Zodiac animal of the year branch, under the year boundary this request applied. Always English, whatever the lang parameter says. Use zodiacAnimalLocalized for anything a reader sees. |
zodiacAnimalLocalized | string | Zodiac animal name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it. |
fiveElements required | array of object | Element balance across the eight chart characters, one entry per phase, with the reading for how represented each one is. |
fiveElements[].element required | string | Five-phase element. Always English, whatever the lang parameter says. Use elementLocalized for anything a reader sees. |
fiveElements[].elementLocalized | string | Element name in the requested language, for display only. Present only when lang is set to a language other than English, since in English it would repeat its canonical partner field exactly. Never compare against this value, compare against the canonical field beside it. |
fiveElements[].count required | number | How many of the eight chart characters carry this element, counting the four stems and the four branch elements one point each. Hidden stems are deliberately not counted here: a weighted total is a different quantity and mixing the two produces a number that matches no other calculator. |
fiveElements[].level required | string | How represented the element is. deficient means absent from all eight characters, excess means three or more, balanced is one or two. Always English, whatever the lang parameter says. |
fiveElements[].reading required | string | What this level of representation means for the chart. |
interactions required | array of object | Combinations, clashes, harms and punishments running between the four pillars. An empty array means the four pillars stand independently of each other, which is common and is not a defect. |
interactions[].type required | string | Kind of interaction. stem-combination and six-combination bind two positions, trine binds three, and clash, harm, punishment and stem-clash break them. Always English, whatever the lang parameter says. |
interactions[].id required | string | Identifier of the pairing itself, the member ids joined by hyphens in canonical order. |
interactions[].chinese required | string | The interaction named in hanzi. Identical under every lang. |
interactions[].pinyin required | string | Tone-marked pinyin for the interaction. Identical under every lang. |