Where /calculate gives you the raw Four Pillars, /interpret
adds the analysis layer of Korean Saju (사주 / Four Pillars, the Korean reading of Bazi):
Ten Gods (십신), 12 Life Stages, hidden stems, branch interactions, the Yongshin (useful
element), and Daeun — the 10-year luck cycles. One POST, structured JSON, 10 languages.
POST /api/v1/interpret takes the same body as /calculate:
year, month, day, hour, gender, plus an optional lang.
Use hour: -1 when the birth time is unknown.
curl -X POST https://saju-api.pages.dev/api/v1/interpret \
-H "X-API-Key: sajuapi_free_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1990,
"month": 5,
"day": 15,
"hour": 14,
"gender":"M",
"lang": "en"
}'
const res = await fetch("https://saju-api.pages.dev/api/v1/interpret", {
method: "POST",
headers: {
"X-API-Key": "sajuapi_free_YOUR_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
year: 1990, month: 5, day: 15, hour: 14, gender: "M", lang: "en",
}),
});
const data = await res.json();
console.log(data.ten_gods); // Ten Gods per pillar
console.log(data.yongshin); // useful element
console.log(data.daeun); // 10-year luck cycles
import requests
res = requests.post(
"https://saju-api.pages.dev/api/v1/interpret",
headers={"X-API-Key": "sajuapi_free_YOUR_KEY"},
json={"year": 1990, "month": 5, "day": 15, "hour": 14, "gender": "M", "lang": "en"},
)
data = res.json()
print(data["ten_gods"]) # Ten Gods per pillar
print(data["yongshin"]) # useful element
print(data["daeun"]) # 10-year luck cycles
| Field | What it is |
|---|---|
pillars | The Four Pillars (year / month / day / hour), each with stem, branch, and Hanja. |
ten_gods | The Ten Gods (십신 / Sipshin) — the relationship of each stem to the Day Master (e.g. wealth, officer, resource, peer). |
life_stages | The 12 Life Stages (12운성) for the chart — the strength phase of each pillar. |
hidden_stems | Hidden stems (지장간) concealed inside each Earthly Branch. |
interactions | Branch interactions: harmonies (합), clashes (충), and related combinations. |
yongshin | Yongshin (용신) — the most useful / balancing element for the chart. |
daeun | Daeun (대운) — the sequence of 10-year luck cycles (the "luck pillars"). |
summary | Localized human-readable strings for the pillars and Yongshin, in the requested lang. |
remaining | Requests left in your daily quota. |
{
"input": { "year": 1990, "month": 5, "day": 15, "hour": 14, "gender": "M", "lang": "en" },
"pillars": { "year": { ... }, "month": { ... }, "day": { ... }, "hour": { ... } },
"ten_gods": { ... },
"life_stages": { ... },
"hidden_stems": { ... },
"interactions": { ... },
"yongshin": { ... },
"daeun": [ ... ],
"summary": { "lang": "en", "pillars": { ... }, "yongshin": "..." },
"tier": "free",
"remaining": 97
}
ten_gods, yongshin, and daeun straight into a prompt as structured facts so an assistant explains a chart without inventing the metaphysics.daeun (10-year luck cycles) to drive "best years for X" or life-timeline widgets.yongshin (useful element) maps cleanly to color, content, or recommendation themes in a wellness or lifestyle app.lang to ship summaries in ko, en, ja, zh, es, pt-br, vi, id, hi, th while the structured fields stay language-neutral.| Status | Meaning |
|---|---|
400 | invalid_input with a reason (e.g. year_out_of_range, gender_must_be_M_or_F, unsupported_lang). Year range is 1920–2050. |
401 | Missing or malformed X-API-Key. |
405 | Use POST for this endpoint. |
429 | Daily quota for your tier exceeded. |