Call this server's tools from your browser. Nothing to install.
https://mcp.astroway.info/mcp/chinese
Bearer followed by your AstroWay API key (aw_live_* or aw_test_*), from api.astroway.info/dashboard
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
astroway_account_status Read-only
Check current API key status: tier, credit balance, rate limits, monthly cycle reset. Run this BEFORE invoking expensive endpoints (Tier 4+ at 100+ credits, Tier 6/7 at 500-5000 credits) to confirm the user has budget. Returns plain-text human-readable summary.
This tool takes no arguments.
Tools (62)
astroway_account_status
Check current API key status: tier, credit balance, rate limits, monthly cycle reset. Run this BEFORE invoking expensive endpoints (Tier 4+ at 100+ credits, Tier 6/7 at 500-5000 credits) to confirm the user has budget. Returns plain-text human-readable summary.
Tool definitions for an agent framework, generated from the live OpenAPI document, so the schema a model fills is the schema the endpoint validates. `format=openai` (default) returns `{ type, function }` objects you can spread straight into a chat completion; `format=anthropic` returns `{ name, description, input_schema }`. The objects carry nothing of ours: how to call each tool lives in a separate `executors` map keyed by tool name, because an unexpected key inside a vendor tool object is a 400 at their end.
[Group: Agent Platform]
[Endpoint: GET /v1/agent/tools]
[Cost: see your plan — endpoint not in the public credit manifest]
read-only
Argument
Type
Description
q
string
Free-text filter applied within the selection, matched against path, summary, description and group.
limit
integer
How many tools to return. The ceiling is the OpenAI limit of 128 functions per request; models degrade well before it. Anything left out is counted in `totalMatched`.
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
format
string
Which vendor contract the tool objects follow. `openai` returns `{ type, function }`, `anthropic` returns `{ name, description, input_schema }`.
select
string
What to hand over: `starter` (the curated set, the default), `all`, `group:<tag>` such as `group:Vedic`, or `paths:/chart,/synastry` for an explicit list. An unknown path is named in `notes` rather than dropped.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"maxLength": 120,
"description": "Free-text filter applied within the selection, matched against path, summary, description and group."
},
"limit": {
"type": "integer",
"default": 32,
"maximum": 128,
"minimum": 1,
"description": "How many tools to return. The ceiling is the OpenAI limit of 128 functions per request; models degrade well before it. Anything left out is counted in `totalMatched`."
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"format": {
"enum": [
"openai",
"anthropic"
],
"type": "string",
"default": "openai",
"description": "Which vendor contract the tool objects follow. `openai` returns `{ type, function }`, `anthropic` returns `{ name, description, input_schema }`."
},
"select": {
"type": "string",
"default": "starter",
"description": "What to hand over: `starter` (the curated set, the default), `all`, `group:<tag>` such as `group:Vedic`, or `paths:/chart,/synastry` for an explicit list. An unknown path is named in `notes` rather than dropped."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
astroway_bazi_chart
The four pillars with everything the classical apparatus reads off them in one call: hidden stems, na yin, the twelve stages of the day master, element balance over all eight characters, the strength verdict, symbolic stars from both reference pillars, and the branch and stem interactions. Localised by language. Pass longitude with trueSolarTime true to cut the double-hour from the sun over the birth place; the correction reaches the day and hour only, never the year and month, which turn on world instants.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/chart]
[Required: date]
[Cost: 20 credits (Tier 2)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender
string
language
string
timezone
string
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.
astroway_bazi_day_master
Day stem element + yin/yang polarity + canonical archetype description. The "self" character in BaZi from which all other pillars are interpreted.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/day-master]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
longitude
number
precision
integer
astroway_bazi_element_balance
Element balance across the whole chart. The `balance` object opens the branches and counts all eight characters three ways: visible, with every hidden stem, and weighted so the total stays at eight. The top-level elementCounts, dominantElement and missingElements are DEPRECATED (year and month only, four characters, branches unopened) and keep answering unchanged until 2027-09-08; the response carries RFC 8594 Deprecation and Sunset headers.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/element-balance]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender
string
language
string
timezone
string
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.
astroway_bazi_four_pillars
All four pillars: year, month, day, hour. Day pillar uses the canonical 60-jiazi cycle (anchor 1990-01-01 = Bing-Yin). Pass `time` to compute the hour pillar; day and hour roll at 23:00 local, year and month at the exact Lichun and 節 instants.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/four-pillars]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
astroway_bazi_hidden_stems
The one to three stems each branch shelters, with role and weight. This is where most of a chart's elements live: a chart with no visible Water can still be soaked in it. On the four storage branches the middle role belongs to the stored element, not to the second in the list.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/hidden-stems]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender
string
language
string
timezone
string
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.
astroway_bazi_hour_pillar
Hour pillar via 五鼠遁 (Five-Rats-Escape) day-stem → hour-stem table. The Zi hour opens the day at 23:00 local time.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/hour-pillar]
[Required: date, time]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time*
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
astroway_bazi_interactions
Stem combinations, six harmonies, full and half trines, clashes, harms, punishments and self-punishments present in the chart, with the pillars involved and the element a combination produces.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/interactions]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender
string
language
string
timezone
string
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.
longitude
astroway_bazi_life_stages
A stem read against each branch as a life cycle, from Chang Sheng through Di Wang to Jue. The day master through the chart; pass includeFullTable for the ten-by-twelve reference table. stageSchool picks the classical yin-reverse rule or the unified one.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/life-stages]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender
string
language
string
timezone
string
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.
astroway_bazi_luck_pillars
10-year luck pillars sequence. Direction by gender + year-stem polarity per Ziping canon.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/luck-pillars]
[Required: date, gender]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
count
integer
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender*
string
language
string
timezone
string
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.
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
astroway_bazi_monthly
Same Sheng-Ke + branch-clash analysis as yearly, but applied to a specific calendar month. Month branch resolved via mid-month jieqi.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/monthly]
[Required: natalDate, targetYear, targetMonth]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
longitude
number
natalDate*
string
natalTime
string
precision
astroway_bazi_na_yin
The sound-element of each pillar. The sixty jiazi collapse into thirty names, two consecutive pillars to a name; the year pillar na yin is what popular readings mean by "your element", and it is not the day master.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/na-yin]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender
string
language
string
timezone
string
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.
longitude
astroway_bazi_strength
The support-and-suppress reading over the weighted hidden-stem count, with the three classical criteria (season, root, allies) reported unweighted and the favourable elements that follow. The caveat names both limits: the month is counted like any other branch, and the cut points are this API's convention.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/strength]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender
string
language
string
timezone
string
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.
astroway_bazi_symbolic_stars
Peach Blossom, Travelling Horse, Canopy, Heavenly Nobleman, Blade and Void, computed from BOTH the year and the day reference pillar because the transmissions disagree about which one the rules read from. Where two transmissions place a star differently, both placements ship and each names the other.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/symbolic-stars]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender
string
language
string
timezone
string
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.
astroway_bazi_ten_gods
Ten Gods classification per day master. Bi Jian/Jie Cai (peer), Shi Shen/Shang Guan (output), Pian Cai/Zheng Cai (wealth), Qi Sha/Zheng Guan (officer), Pian Yin/Zheng Yin (resource).
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/ten-gods]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
longitude
number
precision
astroway_bazi_year_pillar
Year stem + branch + animal + element with yin/yang.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/year-pillar]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
astroway_bazi_year_pillar_decade
10 consecutive year pillars from a given starting year.
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/year-pillar-decade]
[Required: startYear]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
startYear*
integer
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"startYear"
],
"properties": {
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"startYear": {
"type": "integer",
"maximum": 2100,
"minimum": 1900
}
}
}
astroway_bazi_yearly
Compares target year pillar against natal day master + natal year branch. Returns element-flow relation (companion / mother / output / control / wealth) per Sheng-Ke cycle, branch clashes (六冲), and trine support (三合).
[Group: BaZi (Four Pillars)]
[Endpoint: POST /v1/bazi/yearly]
[Required: natalDate, targetYear]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender
string
language
string
timezone
string
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.
longitude
number
natalDate*
string
astroway_chinese_feng_shui_annual_stars
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.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/feng-shui/annual-stars]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date
string
time
string
year
integer
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
astroway_chinese_feng_shui_bagua
Eastern-school Bagua mapping of 9 life areas (career, knowledge, family, wealth, fame, relationships, children, helpful-people, health) onto compass sectors.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/feng-shui/bagua]
[Required: date, gender]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender*
string
language
string
timezone
string
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.
astroway_chinese_feng_shui_flying_star
The nine-palace natal chart of a building: mountain star, period star and facing star per sector, the named arrangement (旺山旺水 and the other three), and the special patterns. Send the facing in degrees or as one of the 24 mountains, and the period directly or as the date the building was occupied. Neither is defaulted.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/feng-shui/flying-star]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
year
integer
facing
number
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
period
integer
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
occupiedDate
string
occupiedTime
string
astroway_chinese_feng_shui_kua
Personal Kua number from solar-year digit sum + gender. Maps to East/West group for direction work.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/feng-shui/kua]
[Required: date, gender]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender*
string
language
string
timezone
string
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.
precision
astroway_chinese_feng_shui_lucky_directions
Personal 4 lucky + 4 unlucky compass directions from Kua. Standard Pa Kua mapping.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/feng-shui/lucky-directions]
[Required: date, gender]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender*
string
language
string
timezone
string
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.
precision
astroway_chinese_lunar_date
Chinese lunar month and day for a Gregorian date, including leap-month detection, plus the Chinese New Year of that year.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/lunar-date]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
astroway_chinese_solar_terms
The 24 solar terms of a Chinese solar year as exact instants, in UTC and Beijing time. Twelve of them open a BaZi pillar month; the other twelve decide where a leap month falls.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/solar-terms]
[Required: year]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
year*
integer
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"year"
],
"properties": {
"year": {
"type": "integer",
"maximum": 2899,
"minimum": 2
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
astroway_chinese_tong_shu
The almanac reading of one day: day pillar, the day officer (建除十二神) with what the register endorses and forbids, the 28 mansion with its quadrant and planet, and the animal the day clashes.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/tong-shu]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
astroway_chinese_tong_shu_select
Walk a date range and return the days the almanac endorses for one activity, each with the officer that decided it. Optionally drop the days that clash a person's animal. Range capped at 366 days and a longer one is refused, not truncated.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/tong-shu/select]
[Required: from, to, activity]
[Cost: 20 credits (Tier 2)]
read-only
Argument
Type
Description
to*
string
from*
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
activity*
string
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
avoidClashWith
string
includeNeutral
astroway_chinese_true_solar_time
The clock corrected to the sun over the birth longitude, split into the meridian term and the equation of time. China runs one zone across sixty degrees, so a Kashgar birth reads nearly three hours from solar noon on a Beijing clock, which moves the hour pillar.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/true-solar-time]
[Required: date, time, timezoneOffset, longitude]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time*
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
longitude
astroway_chinese_zodiac_animal
Animal sign of the birth year, bounded by the exact Lichun instant, plus the full pillar (stem + branch + element). `yearStart` and `yearEnd` are the two Lichun instants that bound the solar year, in UTC and Beijing time. Pass time + timezoneOffset for births on the boundary day.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/zodiac/animal]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
precision
integer
astroway_chinese_zodiac_compatibility
Pair compatibility score (0-100) using San He trine + Liu Chong conflict-pair canon.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/zodiac/compatibility]
[Required: person1, person2]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
person1*
object
person2*
object
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"person1",
"person2"
],
"properties": {
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"person1": {
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"solarYear": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
},
"person2": {
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"solarYear": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
},
"language": {
"type": "string"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
astroway_chinese_zodiac_element
Fixed-branch element + cycling-stem element + yin/yang for given solar year.
[Group: Chinese: Zodiac & Feng Shui]
[Endpoint: POST /v1/chinese/zodiac/element]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
astroway_cost_estimate
Estimate the credit cost of one or more endpoints WITHOUT invoking them. Returns total + per-endpoint breakdown with tier annotations. Useful when planning multi-step workflows: estimate first, ask user confirmation, then invoke. Cache TTL 5 min.
read-only
Argument
Type
Description
endpoints*
array
Endpoint paths to estimate, e.g. ["/chart", "/synastry", "/reports/natal"]. Leading slash optional.
2 personas debate a topic, multi-round transcript.
[Group: MCP Advanced]
[Endpoint: POST /v1/mcp/agent-debate]
[Required: topic, agentA, agentB]
[Cost: 100 credits (Tier 4)]
read-only
Argument
Type
Description
chart
object
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
topic*
string
agentA*
string
agentB*
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
rounds
integer
astroway_mcp_agent_pool_status
8 personas with specialties.
[Group: MCP Advanced]
[Endpoint: GET /v1/mcp/agent-pool-status]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
astroway_mcp_ai_chat
Chat answered from the positions we computed for this birth moment, not from the model's memory of a sun sign. Carries up to 10 turns of history, replies in 21 languages, and takes four voices through `persona`. Send your own provider key and the turn costs 5 credits instead of the endpoint price.
[Group: AI & MCP]
[Endpoint: POST /v1/ai/chat]
[Required: message]
[Cost: 100 credits (Tier 4)]
read-only
Argument
Type
Description
chart
object
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
history
array
message*
string
persona
string
astroway_mcp_ai_comparison_coach
Coach two charts on relationship dynamics.
[Group: AI & MCP]
[Endpoint: POST /v1/ai/comparison-coach]
[Required: chart1, chart2, question]
[Cost: 100 credits (Tier 4)]
read-only
Argument
Type
Description
chart1*
object
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
chart2*
object
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
astroway_mcp_ai_explain_aspect
Detailed explanation of an aspect between two planets.
[Group: AI & MCP]
[Endpoint: POST /v1/ai/explain-aspect]
[Required: planet1, planet2, aspectType]
[Cost: 100 credits (Tier 4)]
read-only
Argument
Type
Description
chart
object
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
planet1*
string
planet2*
string
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
astroway_mcp_ai_explain_transit
Explain a current transit hitting your natal chart.
[Group: AI & MCP]
[Endpoint: POST /v1/ai/explain-transit]
[Required: chart, transitDate, transitPlanet, natalPlanet, aspectType]
[Cost: 100 credits (Tier 4)]
read-only
Argument
Type
Description
chart*
object
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
aspectType*
string
astroway_mcp_multi_agent_coordinate
Run N personas in parallel + LLM synthesis.
[Group: MCP Advanced]
[Endpoint: POST /v1/mcp/multi-agent-coordinate]
[Required: question, agents]
[Cost: 100 credits (Tier 4)]
read-only
Argument
Type
Description
chart
object
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
agents*
array
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
question*
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
astroway_mcp_multi_chart_context
Compact context for MCP agents working across multiple charts.
[Group: AI & MCP]
[Endpoint: POST /v1/mcp/multi-chart-context]
[Required: charts]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
charts*
array
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
intent
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"charts"
],
"properties": {
"charts": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude"
],
"properties": {
"city": {
"type": "string",
"default": ""
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"default": ""
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"ayanamsa": {
"enum": [
"fagan-bradley",
"lahiri",
"de-luce",
"raman",
"krishnamurti",
"kp",
"yukteshwar",
"jn-bhasin",
"true-citra",
"djwhal-khul"
],
"type": "string",
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "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."
},
"cosmogram": {
"type": "boolean"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"ayanamsaId": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"zodiacType": {
"enum": [
"tropical",
"sidereal"
],
"type": "string"
},
"houseSystem": {
"enum": [
"P",
"K",
"R",
"C",
"E",
"W",
"B",
"M",
"O",
"A",
"T",
"V",
"D",
"F",
"G",
"H",
"I",
"i",
"L",
"N",
"Q",
"S",
"U",
"X",
"Y"
],
"type": "string",
"default": "P"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
},
"description": "Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as \"Placidus\" is refused, and the case matters because I and i are two different Sunshine systems.",
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"maxItems": 6,
"minItems": 1
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"intent": {
"enum": [
"compatibility",
"family",
"group",
"forecast"
],
"type": "string"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
astroway_mcp_rag_search
Keyword-tag scoring over chart chunks.
[Group: MCP Advanced]
[Endpoint: POST /v1/mcp/rag-search]
[Required: query, chart]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
topK
integer
chart*
object
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
query*
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
astroway_mcp_streaming
Server-Sent Events streaming chat completion with optional chart context.
[Group: AI & MCP]
[Endpoint: POST /v1/mcp/streaming]
[Required: message]
[Cost: 100 credits (Tier 4)]
read-only
Argument
Type
Description
chart
object
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as "Placidus" is refused, and the case matters because I and i are two different Sunshine systems.
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
message*
string
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
astroway_mcp_tool_call_stream
SSE-stream of a tool call envelope.
[Group: MCP Advanced]
[Endpoint: POST /v1/mcp/tool-call-stream]
[Required: tool]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
args
object
tool*
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tool"
],
"properties": {
"args": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"tool": {
"type": "string",
"maxLength": 80,
"minLength": 2
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"enum": [
"uk",
"en",
"ru",
"es",
"pl",
"de",
"fr",
"it",
"pt"
],
"type": "string",
"default": "en"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
astroway_mcp_tools_list
Auto-generated tool manifest for MCP clients (modelcontextprotocol/2025-03 spec).
[Group: AI & MCP]
[Endpoint: GET /v1/mcp/tools-list]
[Cost: see your plan — endpoint not in the public credit manifest]
read-only
Argument
Type
Description
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
astroway_ziwei_chart
Real star placement: soul and body palaces, the five-element class, all 14 main stars plus auxiliaries, the twelve stages, the 12 decade limits and the 四化 marked on the stars that carry them.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/chart]
[Required: date, time, gender]
[Cost: 20 credits (Tier 2)]
read-only
Argument
Type
Description
age
integer
date*
string
time*
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
gender*
string
school
string
fixLeap
boolean
language
string
timezone
string
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.
astroway_ziwei_four_transformations
The four stars activated by the birth year stem: 化禄 fortune, 化权 authority, 化科 repute, 化忌 obstruction. The one part of Zi Wei computable without star placement. Seven stems are agreed across traditions; for the three that are not (戊 庚 壬) every school reading ships in schoolVariants, and `school` switches the headline answer.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/four-transformations]
[Required: date]
[Cost: 10 credits (Tier 1)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
school
string
timezone
string
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.
precision
astroway_ziwei_full_chart
Deprecated 2026-09-08, sunset 2027-11-26. Year pillar + animal + a 12-palace overview, identical for every birth date. Use POST /ziwei/chart, which actually places the stars.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/full-chart]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
astroway_ziwei_main_stars
The 14 main stars in canonical order (Zi Wei series, then Tian Fu series) with theme/archetype. Reference table: does not vary with the date.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/main-stars]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
astroway_ziwei_palace_career
Profession, status, official position.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/palace-career]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
astroway_ziwei_palace_children
Children, fertility, juniors.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/palace-children]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
astroway_ziwei_palace_destiny
Life path, character, soul mission.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/palace-destiny]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
astroway_ziwei_palace_health
Body, illness, weak points.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/palace-health]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
astroway_ziwei_palace_property
Real estate, family home, ancestry.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/palace-property]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
astroway_ziwei_palace_siblings
Brothers, sisters, peer relationships.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/palace-siblings]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
astroway_ziwei_palace_spouse
Marriage partner, romantic union.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/palace-spouse]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
astroway_ziwei_palace_travel
Travel, relocation, foreign opportunities.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/palace-travel]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
astroway_ziwei_palace_wealth
Income, material prosperity.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/palace-wealth]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
astroway_ziwei_twelve_palaces
All 12 palaces with English/pinyin/Chinese names + theme + rules.
[Group: Zi Wei Dou Shu (Purple Star)]
[Endpoint: POST /v1/ziwei/twelve-palaces]
[Required: date]
[Cost: 5 credits (Tier ½)]
read-only
Argument
Type
Description
date*
string
time
string
fields
string
Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
timezone
string
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.
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
longitude
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
includeLuck
boolean
stageSchool
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
includeFullTable
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"includeLuck": {
"type": "boolean"
},
"stageSchool": {
"enum": [
"classical",
"unified"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
},
"includeFullTable": {
"type": "boolean"
}
}
}
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
longitude
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
includeLuck
boolean
stageSchool
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
includeFullTable
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"includeLuck": {
"type": "boolean"
},
"stageSchool": {
"enum": [
"classical",
"unified"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
},
"includeFullTable": {
"type": "boolean"
}
}
}
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
longitude
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
includeLuck
boolean
stageSchool
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
includeFullTable
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"includeLuck": {
"type": "boolean"
},
"stageSchool": {
"enum": [
"classical",
"unified"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
},
"includeFullTable": {
"type": "boolean"
}
}
}
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date",
"time"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"default": 8,
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
includeLuck
boolean
stageSchool
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
includeFullTable
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"includeLuck": {
"type": "boolean"
},
"stageSchool": {
"enum": [
"classical",
"unified"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
},
"includeFullTable": {
"type": "boolean"
}
}
}
longitude
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
includeLuck
boolean
stageSchool
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
includeFullTable
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"includeLuck": {
"type": "boolean"
},
"stageSchool": {
"enum": [
"classical",
"unified"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
},
"includeFullTable": {
"type": "boolean"
}
}
}
longitude
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date",
"gender"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"count": {
"type": "integer",
"default": 8,
"maximum": 10,
"minimum": 1
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
number
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
targetYear*
integer
dayBoundary
string
targetMonth*
integer
natalTzOffset
number
Ignored when timezone is sent.
trueSolarTime
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"natalDate",
"targetYear",
"targetMonth"
],
"properties": {
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"natalDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"natalTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"targetYear": {
"type": "integer",
"maximum": 2100,
"minimum": 1900
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"targetMonth": {
"type": "integer",
"maximum": 12,
"minimum": 1
},
"natalTzOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
},
"trueSolarTime": {
"type": "boolean"
}
}
}
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
includeLuck
boolean
stageSchool
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
includeFullTable
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"includeLuck": {
"type": "boolean"
},
"stageSchool": {
"enum": [
"classical",
"unified"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
},
"includeFullTable": {
"type": "boolean"
}
}
}
longitude
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
includeLuck
boolean
stageSchool
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
includeFullTable
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"includeLuck": {
"type": "boolean"
},
"stageSchool": {
"enum": [
"classical",
"unified"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
},
"includeFullTable": {
"type": "boolean"
}
}
}
longitude
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
includeLuck
boolean
stageSchool
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
includeFullTable
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"includeLuck": {
"type": "boolean"
},
"stageSchool": {
"enum": [
"classical",
"unified"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
},
"includeFullTable": {
"type": "boolean"
}
}
}
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
dayBoundary
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
number
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
natalTime
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
targetYear*
integer
dayBoundary
string
includeMonths
boolean
natalTzOffset
number
Ignored when timezone is sent.
trueSolarTime
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"natalDate",
"targetYear"
],
"properties": {
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"natalDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"natalTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"targetYear": {
"type": "integer",
"maximum": 2100,
"minimum": 1900
},
"dayBoundary": {
"enum": [
"23:00",
"midnight"
],
"type": "string"
},
"includeMonths": {
"type": "boolean"
},
"natalTzOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
},
"trueSolarTime": {
"type": "boolean"
}
}
}
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
includeMonthly
boolean
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"year": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"includeMonthly": {
"type": "boolean"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYear
integer
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date",
"gender"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"solarYear": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
facingMountain
string
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"year": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"facing": {
"type": "number",
"maximum": 360,
"minimum": 0
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"period": {
"type": "integer",
"maximum": 9,
"minimum": 1
},
"language": {
"type": "string"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"occupiedDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"occupiedTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"facingMountain": {
"type": "string",
"maxLength": 8,
"minLength": 1
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYear
integer
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date",
"gender"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"solarYear": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYear
integer
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date",
"gender"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"solarYear": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
boolean
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"from",
"to",
"activity"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"activity": {
"enum": [
"marriage",
"opening",
"moving",
"travel",
"contract",
"construction",
"demolition",
"medical",
"funeral",
"education"
],
"type": "string"
},
"language": {
"type": "string"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"avoidClashWith": {
"type": "string",
"maxLength": 12,
"minLength": 2
},
"includeNeutral": {
"type": "boolean"
}
}
}
*
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset*
number
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date",
"time",
"timezoneOffset",
"longitude"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
solarYear
integer
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"solarYear": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
solarYear
integer
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"solarYear": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
solarYear
integer
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"solarYear": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
solarYear
integer
timezoneOffset
any
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.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"solarYear": {
"type": "integer",
"maximum": 2200,
"minimum": 1800
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
}
}
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"topic",
"agentA",
"agentB"
],
"properties": {
"chart": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude"
],
"properties": {
"city": {
"type": "string",
"default": ""
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"default": ""
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"ayanamsa": {
"enum": [
"fagan-bradley",
"lahiri",
"de-luce",
"raman",
"krishnamurti",
"kp",
"yukteshwar",
"jn-bhasin",
"true-citra",
"djwhal-khul"
],
"type": "string",
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "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."
},
"cosmogram": {
"type": "boolean"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"ayanamsaId": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"zodiacType": {
"enum": [
"tropical",
"sidereal"
],
"type": "string"
},
"houseSystem": {
"enum": [
"P",
"K",
"R",
"C",
"E",
"W",
"B",
"M",
"O",
"A",
"T",
"V",
"D",
"F",
"G",
"H",
"I",
"i",
"L",
"N",
"Q",
"S",
"U",
"X",
"Y"
],
"type": "string",
"default": "P"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
},
"description": "Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as \"Placidus\" is refused, and the case matters because I and i are two different Sunshine systems.",
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"topic": {
"type": "string",
"maxLength": 800,
"minLength": 4
},
"agentA": {
"type": "string"
},
"agentB": {
"type": "string"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"rounds": {
"type": "integer",
"default": 2,
"maximum": 4,
"minimum": 1
},
"language": {
"enum": [
"uk",
"en",
"ru",
"es",
"pl",
"de",
"fr",
"it",
"pt"
],
"type": "string",
"default": "en"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
language
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"message"
],
"properties": {
"chart": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude"
],
"properties": {
"city": {
"type": "string",
"default": ""
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"default": ""
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"ayanamsa": {
"enum": [
"fagan-bradley",
"lahiri",
"de-luce",
"raman",
"krishnamurti",
"kp",
"yukteshwar",
"jn-bhasin",
"true-citra",
"djwhal-khul"
],
"type": "string",
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "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."
},
"cosmogram": {
"type": "boolean"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"ayanamsaId": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"zodiacType": {
"enum": [
"tropical",
"sidereal"
],
"type": "string"
},
"houseSystem": {
"enum": [
"P",
"K",
"R",
"C",
"E",
"W",
"B",
"M",
"O",
"A",
"T",
"V",
"D",
"F",
"G",
"H",
"I",
"i",
"L",
"N",
"Q",
"S",
"U",
"X",
"Y"
],
"type": "string",
"default": "P"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
},
"description": "Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as \"Placidus\" is refused, and the case matters because I and i are two different Sunshine systems.",
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"history": {
"type": "array",
"items": {
"type": "object",
"required": [
"role",
"content"
],
"properties": {
"role": {
"enum": [
"user",
"assistant"
],
"type": "string"
},
"content": {
"type": "string",
"maxLength": 2000
}
}
},
"maxItems": 10
},
"message": {
"type": "string",
"maxLength": 2000,
"minLength": 2
},
"persona": {
"enum": [
"astrologer",
"plain",
"coach",
"teacher"
],
"type": "string",
"default": "astrologer"
},
"language": {
"enum": [
"uk",
"en",
"de",
"ru",
"pl",
"es",
"pt",
"hi",
"fr",
"ko",
"it",
"ja",
"id",
"tr",
"nl",
"ro",
"cs",
"vi",
"ar",
"el",
"hu"
],
"type": "string",
"default": "uk"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
language
string
question*
string
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chart1",
"chart2",
"question"
],
"properties": {
"chart1": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude"
],
"properties": {
"city": {
"type": "string",
"default": ""
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"default": ""
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"ayanamsa": {
"enum": [
"fagan-bradley",
"lahiri",
"de-luce",
"raman",
"krishnamurti",
"kp",
"yukteshwar",
"jn-bhasin",
"true-citra",
"djwhal-khul"
],
"type": "string",
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "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."
},
"cosmogram": {
"type": "boolean"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"ayanamsaId": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"zodiacType": {
"enum": [
"tropical",
"sidereal"
],
"type": "string"
},
"houseSystem": {
"enum": [
"P",
"K",
"R",
"C",
"E",
"W",
"B",
"M",
"O",
"A",
"T",
"V",
"D",
"F",
"G",
"H",
"I",
"i",
"L",
"N",
"Q",
"S",
"U",
"X",
"Y"
],
"type": "string",
"default": "P"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
},
"description": "Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as \"Placidus\" is refused, and the case matters because I and i are two different Sunshine systems.",
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"chart2": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude"
],
"properties": {
"city": {
"type": "string",
"default": ""
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"default": ""
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"ayanamsa": {
"enum": [
"fagan-bradley",
"lahiri",
"de-luce",
"raman",
"krishnamurti",
"kp",
"yukteshwar",
"jn-bhasin",
"true-citra",
"djwhal-khul"
],
"type": "string",
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "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."
},
"cosmogram": {
"type": "boolean"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"ayanamsaId": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"zodiacType": {
"enum": [
"tropical",
"sidereal"
],
"type": "string"
},
"houseSystem": {
"enum": [
"P",
"K",
"R",
"C",
"E",
"W",
"B",
"M",
"O",
"A",
"T",
"V",
"D",
"F",
"G",
"H",
"I",
"i",
"L",
"N",
"Q",
"S",
"U",
"X",
"Y"
],
"type": "string",
"default": "P"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
},
"description": "Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as \"Placidus\" is refused, and the case matters because I and i are two different Sunshine systems.",
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"enum": [
"uk",
"en",
"de",
"ru",
"pl",
"es",
"pt",
"hi",
"fr",
"ko",
"it",
"ja",
"id",
"tr",
"nl",
"ro",
"cs",
"vi",
"ar",
"el",
"hu"
],
"type": "string",
"default": "uk"
},
"question": {
"type": "string",
"maxLength": 2000,
"minLength": 5
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
aspectType*
string
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"planet1",
"planet2",
"aspectType"
],
"properties": {
"chart": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude"
],
"properties": {
"city": {
"type": "string",
"default": ""
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"default": ""
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"ayanamsa": {
"enum": [
"fagan-bradley",
"lahiri",
"de-luce",
"raman",
"krishnamurti",
"kp",
"yukteshwar",
"jn-bhasin",
"true-citra",
"djwhal-khul"
],
"type": "string",
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "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."
},
"cosmogram": {
"type": "boolean"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"ayanamsaId": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"zodiacType": {
"enum": [
"tropical",
"sidereal"
],
"type": "string"
},
"houseSystem": {
"enum": [
"P",
"K",
"R",
"C",
"E",
"W",
"B",
"M",
"O",
"A",
"T",
"V",
"D",
"F",
"G",
"H",
"I",
"i",
"L",
"N",
"Q",
"S",
"U",
"X",
"Y"
],
"type": "string",
"default": "P"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
},
"description": "Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as \"Placidus\" is refused, and the case matters because I and i are two different Sunshine systems.",
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"planet1": {
"type": "string",
"maxLength": 40,
"minLength": 2
},
"planet2": {
"type": "string",
"maxLength": 40,
"minLength": 2
},
"language": {
"enum": [
"uk",
"en",
"de",
"ru",
"pl",
"es",
"pt",
"hi",
"fr",
"ko",
"it",
"ja",
"id",
"tr",
"nl",
"ro",
"cs",
"vi",
"ar",
"el",
"hu"
],
"type": "string",
"default": "uk"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"aspectType": {
"enum": [
"Conjunction",
"Sextile",
"Square",
"Trine",
"Opposition",
"Quincunx",
"Semi-square",
"Sesquiquadrate"
],
"type": "string"
}
}
}
natalPlanet*
string
transitDate*
string
transitPlanet*
string
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chart",
"transitDate",
"transitPlanet",
"natalPlanet",
"aspectType"
],
"properties": {
"chart": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude"
],
"properties": {
"city": {
"type": "string",
"default": ""
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"default": ""
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"ayanamsa": {
"enum": [
"fagan-bradley",
"lahiri",
"de-luce",
"raman",
"krishnamurti",
"kp",
"yukteshwar",
"jn-bhasin",
"true-citra",
"djwhal-khul"
],
"type": "string",
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "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."
},
"cosmogram": {
"type": "boolean"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"ayanamsaId": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"zodiacType": {
"enum": [
"tropical",
"sidereal"
],
"type": "string"
},
"houseSystem": {
"enum": [
"P",
"K",
"R",
"C",
"E",
"W",
"B",
"M",
"O",
"A",
"T",
"V",
"D",
"F",
"G",
"H",
"I",
"i",
"L",
"N",
"Q",
"S",
"U",
"X",
"Y"
],
"type": "string",
"default": "P"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
},
"description": "Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as \"Placidus\" is refused, and the case matters because I and i are two different Sunshine systems.",
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"enum": [
"uk",
"en",
"de",
"ru",
"pl",
"es",
"pt",
"hi",
"fr",
"ko",
"it",
"ja",
"id",
"tr",
"nl",
"ro",
"cs",
"vi",
"ar",
"el",
"hu"
],
"type": "string",
"default": "uk"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"aspectType": {
"enum": [
"Conjunction",
"Sextile",
"Square",
"Trine",
"Opposition"
],
"type": "string"
},
"natalPlanet": {
"type": "string",
"maxLength": 40,
"minLength": 2
},
"transitDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"transitPlanet": {
"type": "string",
"maxLength": 40,
"minLength": 2
}
}
}
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"question",
"agents"
],
"properties": {
"chart": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude"
],
"properties": {
"city": {
"type": "string",
"default": ""
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"default": ""
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"ayanamsa": {
"enum": [
"fagan-bradley",
"lahiri",
"de-luce",
"raman",
"krishnamurti",
"kp",
"yukteshwar",
"jn-bhasin",
"true-citra",
"djwhal-khul"
],
"type": "string",
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "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."
},
"cosmogram": {
"type": "boolean"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"ayanamsaId": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"zodiacType": {
"enum": [
"tropical",
"sidereal"
],
"type": "string"
},
"houseSystem": {
"enum": [
"P",
"K",
"R",
"C",
"E",
"W",
"B",
"M",
"O",
"A",
"T",
"V",
"D",
"F",
"G",
"H",
"I",
"i",
"L",
"N",
"Q",
"S",
"U",
"X",
"Y"
],
"type": "string",
"default": "P"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
},
"description": "Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as \"Placidus\" is refused, and the case matters because I and i are two different Sunshine systems.",
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"agents": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 4,
"minItems": 2
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"language": {
"enum": [
"uk",
"en",
"ru",
"es",
"pl",
"de",
"fr",
"it",
"pt"
],
"type": "string",
"default": "en"
},
"question": {
"type": "string",
"maxLength": 2000,
"minLength": 4
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query",
"chart"
],
"properties": {
"topK": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1
},
"chart": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude"
],
"properties": {
"city": {
"type": "string",
"default": ""
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"default": ""
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"ayanamsa": {
"enum": [
"fagan-bradley",
"lahiri",
"de-luce",
"raman",
"krishnamurti",
"kp",
"yukteshwar",
"jn-bhasin",
"true-citra",
"djwhal-khul"
],
"type": "string",
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "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."
},
"cosmogram": {
"type": "boolean"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"ayanamsaId": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"zodiacType": {
"enum": [
"tropical",
"sidereal"
],
"type": "string"
},
"houseSystem": {
"enum": [
"P",
"K",
"R",
"C",
"E",
"W",
"B",
"M",
"O",
"A",
"T",
"V",
"D",
"F",
"G",
"H",
"I",
"i",
"L",
"N",
"Q",
"S",
"U",
"X",
"Y"
],
"type": "string",
"default": "P"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
},
"description": "Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as \"Placidus\" is refused, and the case matters because I and i are two different Sunshine systems.",
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"query": {
"type": "string",
"maxLength": 400,
"minLength": 2
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"message"
],
"properties": {
"chart": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude"
],
"properties": {
"city": {
"type": "string",
"default": ""
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"default": ""
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"ayanamsa": {
"enum": [
"fagan-bradley",
"lahiri",
"de-luce",
"raman",
"krishnamurti",
"kp",
"yukteshwar",
"jn-bhasin",
"true-citra",
"djwhal-khul"
],
"type": "string",
"description": "Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"timezone": {
"type": "string",
"description": "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."
},
"cosmogram": {
"type": "boolean"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"ayanamsaId": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"zodiacType": {
"enum": [
"tropical",
"sidereal"
],
"type": "string"
},
"houseSystem": {
"enum": [
"P",
"K",
"R",
"C",
"E",
"W",
"B",
"M",
"O",
"A",
"T",
"V",
"D",
"F",
"G",
"H",
"I",
"i",
"L",
"N",
"Q",
"S",
"U",
"X",
"Y"
],
"type": "string",
"default": "P"
},
"timezoneOffset": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "null"
}
],
"default": 0,
"description": "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."
}
},
"description": "Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC; send timezone instead (an IANA name such as Europe/Kyiv, or auto) and the offset for that date is worked out, summer time included. city is a display label only: nothing here geocodes it, so it never stands in for coordinates. houseSystem is a single Swiss Ephemeris letter, P by default; a name such as \"Placidus\" is refused, and the case matters because I and i are two different Sunshine systems.",
"additionalProperties": {
"anyOf": [
{},
{
"type": "null"
}
]
}
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"message": {
"type": "string",
"maxLength": 2000,
"minLength": 2
},
"language": {
"enum": [
"uk",
"en",
"de",
"ru",
"pl",
"es",
"pt",
"hi",
"fr",
"ko",
"it",
"ja",
"id",
"tr",
"nl",
"ro",
"cs",
"vi",
"ar",
"el",
"hu"
],
"type": "string",
"default": "uk"
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
}
}
}
dayDivide
string
longitude
number
precision
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
yearDivide
string
tianmaSchool
string
trueSolarTime
boolean
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date",
"time",
"gender"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 1
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string"
},
"school": {
"enum": [
"zhongzhou",
"quanji",
"quanshu",
"beipai"
],
"type": "string"
},
"fixLeap": {
"type": "boolean"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"dayDivide": {
"enum": [
"forward",
"current"
],
"type": "string"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"yearDivide": {
"enum": [
"lunar",
"lichun"
],
"type": "string"
},
"tianmaSchool": {
"enum": [
"year",
"month"
],
"type": "string"
},
"trueSolarTime": {
"type": "boolean"
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
integer
Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
timezoneOffset
number
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"school": {
"enum": [
"zhongzhou",
"quanji",
"quanshu",
"beipai"
],
"type": "string"
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
Ignored when timezone is sent.
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}
Input schema (JSON)
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}(:\\d{2})?$"
},
"fields": {
"type": "string",
"description": "Compact mode: comma-separated dotted paths to keep, relative to `data`, e.g. \"planets.name,planets.longitude,houses.cusp\". Omit for the whole response."
},
"timezone": {
"type": "string",
"description": "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."
},
"precision": {
"type": "integer",
"maximum": 15,
"minimum": 0,
"description": "Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn."
},
"timezoneOffset": {
"type": "number",
"maximum": 14,
"minimum": -14,
"description": "Ignored when timezone is sent."
}
}
}