Перейти до вмісту
AstroWay/api v2.254.12 · docs
усі системи в нормі

Annual flying stars and afflictions

POST
/chinese/feng-shui/annual-stars
request.sh
curl -X POST https://api.astroway.info/v1/chinese/feng-shui/annual-stars \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json" \
-d '{ "year": 2026 }'

The nine annual stars for a solar year, plus Tai Sui, Sui Po, San Sha, the five yellow and the two black with the sectors they occupy. Optionally the monthly layer. The year turns at Li Chun, computed from the exact solar term.

fields
string

Comma-separated dotted paths, relative to data, to keep in the response. A path is applied to every element of an array, so planets.name means the name of each planet. Paths that match nothing come back in _fields_unmatched; a list where nothing matches at all is a 400, because an empty object would be a confident wrong answer.

Example
planets.name,planets.longitude
precision
integer
<= 15

Round every non-integer number in the response to this many decimal places. Integers are left alone, because an id is not a measurement. Ecliptic longitudes ship with fourteen decimals by default; 2 is about a tenth of an arcminute.

Example
4
Media type application/json
object
year
integer
>= 1800 <= 2200
date
string
/^\d{4}-\d{2}-\d{2}$/
time
string
/^\d{2}:\d{2}(:\d{2})?$/
timezoneOffset

Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent.

number
0 nullable >= -14 <= 14
timezone

IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known.

string
includeMonthly
boolean
language
string
Example
{
"year": 2026
}

Successful calculation

Media type application/json
object
ok
boolean
data
object
solarYear
number
nullable
yearBranch
string
nullable
animal
string
nullable
centreStar
object
star
number
nullable
chinese
string
nullable
palaces
Array<object>
nullable
object
palace
string
nullable
star
number
nullable
chinese
string
nullable
nature
string
nullable
afflictions
Array<object>
nullable
object
id
string
nullable
chinese
string
nullable
name
string
nullable
mountains
Array<string>
nullable
sector
string
nullable
advice
string
nullable
Example
{
"ok": true,
"data": {
"solarYear": 2026,
"yearBranch": "Wu",
"animal": "Horse",
"centreStar": {
"star": 1,
"chinese": "一白"
},
"palaces": [
{
"palace": "S",
"star": 5,
"chinese": "五黃",
"nature": "inauspicious"
}
],
"afflictions": [
{
"id": "tai-sui",
"chinese": "太歲",
"name": "Grand Duke Jupiter",
"mountains": [
"S2"
],
"sector": "S",
"advice": "..."
}
]
}
}

Validation error

Media type application/json
Example
{
"ok": false,
"error": {
"code": "INVALID_INPUT",
"message": "Validation failed: date: Date must be YYYY-MM-DD",
"details": [
{
"path": "date",
"message": "Date must be YYYY-MM-DD"
}
]
}
}

Missing or invalid API key

Media type application/json
Example
{
"ok": false,
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid API key"
}
}
Корисно?