{"id":568780,"recorded_at":"2026-10-27T22:11:55.187660Z","observed_at":"2026-10-27T22:11:55.187587Z","subject_kind":"endpoint","subject":"c4f3d2f3-1b0e-4e00-b10d-9e5f8ddbe408","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":62,"tools":[{"description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"astroway_account_status"},{"description":"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.\n\n[Group: Agent Platform]\n[Endpoint: GET /v1/agent/tools]\n[Cost: see your plan — endpoint not in the public credit manifest]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"fields":{"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.","type":"string"},"format":{"default":"openai","description":"Which vendor contract the tool objects follow. `openai` returns `{ type, function }`, `anthropic` returns `{ name, description, input_schema }`.","enum":["openai","anthropic"],"type":"string"},"limit":{"default":32,"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`.","maximum":128,"minimum":1,"type":"integer"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"q":{"description":"Free-text filter applied within the selection, matched against path, summary, description and group.","maxLength":120,"type":"string"},"select":{"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.","type":"string"}},"type":"object"},"name":"astroway_agent_tools"},{"description":"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.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/chart]\n[Required: date]\n[Cost: 20 credits (Tier 2)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"includeFullTable":{"type":"boolean"},"includeLuck":{"type":"boolean"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"stageSchool":{"enum":["classical","unified"],"type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date"],"type":"object"},"name":"astroway_bazi_chart"},{"description":"Day stem element + yin/yang polarity + canonical archetype description. The \"self\" character in BaZi from which all other pillars are interpreted.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/day-master]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date"],"type":"object"},"name":"astroway_bazi_day_master"},{"description":"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.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/element-balance]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"includeFullTable":{"type":"boolean"},"includeLuck":{"type":"boolean"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"stageSchool":{"enum":["classical","unified"],"type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date"],"type":"object"},"name":"astroway_bazi_element_balance"},{"description":"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.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/four-pillars]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_bazi_four_pillars"},{"description":"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.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/hidden-stems]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"includeFullTable":{"type":"boolean"},"includeLuck":{"type":"boolean"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"stageSchool":{"enum":["classical","unified"],"type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date"],"type":"object"},"name":"astroway_bazi_hidden_stems"},{"description":"Hour pillar via 五鼠遁 (Five-Rats-Escape) day-stem → hour-stem table. The Zi hour opens the day at 23:00 local time.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/hour-pillar]\n[Required: date, time]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"default":8,"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date","time"],"type":"object"},"name":"astroway_bazi_hour_pillar"},{"description":"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.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/interactions]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"includeFullTable":{"type":"boolean"},"includeLuck":{"type":"boolean"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"stageSchool":{"enum":["classical","unified"],"type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date"],"type":"object"},"name":"astroway_bazi_interactions"},{"description":"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.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/life-stages]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"includeFullTable":{"type":"boolean"},"includeLuck":{"type":"boolean"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"stageSchool":{"enum":["classical","unified"],"type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date"],"type":"object"},"name":"astroway_bazi_life_stages"},{"description":"10-year luck pillars sequence. Direction by gender + year-stem polarity per Ziping canon.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/luck-pillars]\n[Required: date, gender]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"count":{"default":8,"maximum":10,"minimum":1,"type":"integer"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date","gender"],"type":"object"},"name":"astroway_bazi_luck_pillars"},{"description":"Month stem + branch from solar-term boundaries.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/month-pillar]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_bazi_month_pillar"},{"description":"Same Sheng-Ke + branch-clash analysis as yearly, but applied to a specific calendar month. Month branch resolved via mid-month jieqi.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/monthly]\n[Required: natalDate, targetYear, targetMonth]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"natalDate":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"natalTime":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"natalTzOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"targetMonth":{"maximum":12,"minimum":1,"type":"integer"},"targetYear":{"maximum":2100,"minimum":1900,"type":"integer"},"timezone":{"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.","type":"string"},"trueSolarTime":{"type":"boolean"}},"required":["natalDate","targetYear","targetMonth"],"type":"object"},"name":"astroway_bazi_monthly"},{"description":"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.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/na-yin]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"includeFullTable":{"type":"boolean"},"includeLuck":{"type":"boolean"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"stageSchool":{"enum":["classical","unified"],"type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date"],"type":"object"},"name":"astroway_bazi_na_yin"},{"description":"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.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/strength]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"includeFullTable":{"type":"boolean"},"includeLuck":{"type":"boolean"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"stageSchool":{"enum":["classical","unified"],"type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date"],"type":"object"},"name":"astroway_bazi_strength"},{"description":"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.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/symbolic-stars]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"includeFullTable":{"type":"boolean"},"includeLuck":{"type":"boolean"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"stageSchool":{"enum":["classical","unified"],"type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date"],"type":"object"},"name":"astroway_bazi_symbolic_stars"},{"description":"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).\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/ten-gods]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"}},"required":["date"],"type":"object"},"name":"astroway_bazi_ten_gods"},{"description":"Year stem + branch + animal + element with yin/yang.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/year-pillar]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_bazi_year_pillar"},{"description":"10 consecutive year pillars from a given starting year.\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/year-pillar-decade]\n[Required: startYear]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"startYear":{"maximum":2100,"minimum":1900,"type":"integer"}},"required":["startYear"],"type":"object"},"name":"astroway_bazi_year_pillar_decade"},{"description":"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 (三合).\n\n[Group: BaZi (Four Pillars)]\n[Endpoint: POST /v1/bazi/yearly]\n[Required: natalDate, targetYear]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"dayBoundary":{"enum":["23:00","midnight"],"type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"includeMonths":{"type":"boolean"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"natalDate":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"natalTime":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"natalTzOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"targetYear":{"maximum":2100,"minimum":1900,"type":"integer"},"timezone":{"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.","type":"string"},"trueSolarTime":{"type":"boolean"}},"required":["natalDate","targetYear"],"type":"object"},"name":"astroway_bazi_yearly"},{"description":"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.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/feng-shui/annual-stars]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"includeMonthly":{"type":"boolean"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"year":{"maximum":2200,"minimum":1800,"type":"integer"}},"type":"object"},"name":"astroway_chinese_feng_shui_annual_stars"},{"description":"Eastern-school Bagua mapping of 9 life areas (career, knowledge, family, wealth, fame, relationships, children, helpful-people, health) onto compass sectors.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/feng-shui/bagua]\n[Required: date, gender]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"solarYear":{"maximum":2200,"minimum":1800,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date","gender"],"type":"object"},"name":"astroway_chinese_feng_shui_bagua"},{"description":"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.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/feng-shui/flying-star]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"facing":{"maximum":360,"minimum":0,"type":"number"},"facingMountain":{"maxLength":8,"minLength":1,"type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"occupiedDate":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"occupiedTime":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"period":{"maximum":9,"minimum":1,"type":"integer"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"year":{"maximum":2200,"minimum":1800,"type":"integer"}},"type":"object"},"name":"astroway_chinese_feng_shui_flying_star"},{"description":"Personal Kua number from solar-year digit sum + gender. Maps to East/West group for direction work.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/feng-shui/kua]\n[Required: date, gender]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"solarYear":{"maximum":2200,"minimum":1800,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date","gender"],"type":"object"},"name":"astroway_chinese_feng_shui_kua"},{"description":"Personal 4 lucky + 4 unlucky compass directions from Kua. Standard Pa Kua mapping.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/feng-shui/lucky-directions]\n[Required: date, gender]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"gender":{"enum":["male","female"],"type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"solarYear":{"maximum":2200,"minimum":1800,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date","gender"],"type":"object"},"name":"astroway_chinese_feng_shui_lucky_directions"},{"description":"Chinese lunar month and day for a Gregorian date, including leap-month detection, plus the Chinese New Year of that year.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/lunar-date]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date"],"type":"object"},"name":"astroway_chinese_lunar_date"},{"description":"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.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/solar-terms]\n[Required: year]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"year":{"maximum":2899,"minimum":2,"type":"integer"}},"required":["year"],"type":"object"},"name":"astroway_chinese_solar_terms"},{"description":"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.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/tong-shu]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date"],"type":"object"},"name":"astroway_chinese_tong_shu"},{"description":"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.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/tong-shu/select]\n[Required: from, to, activity]\n[Cost: 20 credits (Tier 2)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"activity":{"enum":["marriage","opening","moving","travel","contract","construction","demolition","medical","funeral","education"],"type":"string"},"avoidClashWith":{"maxLength":12,"minLength":2,"type":"string"},"fields":{"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.","type":"string"},"from":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"includeNeutral":{"type":"boolean"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"to":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"}},"required":["from","to","activity"],"type":"object"},"name":"astroway_chinese_tong_shu_select"},{"description":"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.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/true-solar-time]\n[Required: date, time, timezoneOffset, longitude]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date","time","timezoneOffset","longitude"],"type":"object"},"name":"astroway_chinese_true_solar_time"},{"description":"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.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/zodiac/animal]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"solarYear":{"maximum":2200,"minimum":1800,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date"],"type":"object"},"name":"astroway_chinese_zodiac_animal"},{"description":"Pair compatibility score (0-100) using San He trine + Liu Chong conflict-pair canon.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/zodiac/compatibility]\n[Required: person1, person2]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"fields":{"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.","type":"string"},"language":{"type":"string"},"person1":{"properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"language":{"type":"string"},"solarYear":{"maximum":2200,"minimum":1800,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date"],"type":"object"},"person2":{"properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"language":{"type":"string"},"solarYear":{"maximum":2200,"minimum":1800,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date"],"type":"object"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"}},"required":["person1","person2"],"type":"object"},"name":"astroway_chinese_zodiac_compatibility"},{"description":"Fixed-branch element + cycling-stem element + yin/yang for given solar year.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/zodiac/element]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"solarYear":{"maximum":2200,"minimum":1800,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date"],"type":"object"},"name":"astroway_chinese_zodiac_element"},{"description":"Month-branch animal: represents inner motivations and private self.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/zodiac/inner-animal]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"solarYear":{"maximum":2200,"minimum":1800,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date"],"type":"object"},"name":"astroway_chinese_zodiac_inner_animal"},{"description":"Hour-of-birth branch animal: represents the deepest self. Requires birth time.\n\n[Group: Chinese: Zodiac & Feng Shui]\n[Endpoint: POST /v1/chinese/zodiac/secret-animal]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"language":{"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"solarYear":{"maximum":2200,"minimum":1800,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."}},"required":["date"],"type":"object"},"name":"astroway_chinese_zodiac_secret_animal"},{"description":"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.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"endpoints":{"description":"Endpoint paths to estimate, e.g. [\"/chart\", \"/synastry\", \"/reports/natal\"]. Leading slash optional.","examples":[["/chart"],["/chart","/synastry"],["/chart","/transits","/reports/natal"]],"items":{"type":"string"},"minItems":1,"type":"array"}},"required":["endpoints"],"type":"object"},"name":"astroway_cost_estimate"},{"description":"2 personas debate a topic, multi-round transcript.\n\n[Group: MCP Advanced]\n[Endpoint: POST /v1/mcp/agent-debate]\n[Required: topic, agentA, agentB]\n[Cost: 100 credits (Tier 4)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"agentA":{"type":"string"},"agentB":{"type":"string"},"chart":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"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.","properties":{"ayanamsa":{"description":"Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.","enum":["fagan-bradley","lahiri","de-luce","raman","krishnamurti","kp","yukteshwar","jn-bhasin","true-citra","djwhal-khul"],"type":"string"},"ayanamsaId":{"anyOf":[{"type":"number"},{"type":"null"}]},"city":{"default":"","type":"string"},"cosmogram":{"type":"boolean"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"houseSystem":{"default":"P","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"},"latitude":{"maximum":90,"minimum":-90,"type":"number"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"name":{"default":"","type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"zodiacType":{"enum":["tropical","sidereal"],"type":"string"}},"required":["date","time","latitude","longitude"],"type":"object"},"fields":{"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.","type":"string"},"language":{"default":"en","enum":["uk","en","ru","es","pl","de","fr","it","pt"],"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"rounds":{"default":2,"maximum":4,"minimum":1,"type":"integer"},"topic":{"maxLength":800,"minLength":4,"type":"string"}},"required":["topic","agentA","agentB"],"type":"object"},"name":"astroway_mcp_agent_debate"},{"description":"8 personas with specialties.\n\n[Group: MCP Advanced]\n[Endpoint: GET /v1/mcp/agent-pool-status]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"}},"type":"object"},"name":"astroway_mcp_agent_pool_status"},{"description":"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.\n\n[Group: AI & MCP]\n[Endpoint: POST /v1/ai/chat]\n[Required: message]\n[Cost: 100 credits (Tier 4)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"chart":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"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.","properties":{"ayanamsa":{"description":"Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.","enum":["fagan-bradley","lahiri","de-luce","raman","krishnamurti","kp","yukteshwar","jn-bhasin","true-citra","djwhal-khul"],"type":"string"},"ayanamsaId":{"anyOf":[{"type":"number"},{"type":"null"}]},"city":{"default":"","type":"string"},"cosmogram":{"type":"boolean"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"houseSystem":{"default":"P","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"},"latitude":{"maximum":90,"minimum":-90,"type":"number"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"name":{"default":"","type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"zodiacType":{"enum":["tropical","sidereal"],"type":"string"}},"required":["date","time","latitude","longitude"],"type":"object"},"fields":{"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.","type":"string"},"history":{"items":{"properties":{"content":{"maxLength":2000,"type":"string"},"role":{"enum":["user","assistant"],"type":"string"}},"required":["role","content"],"type":"object"},"maxItems":10,"type":"array"},"language":{"default":"uk","enum":["uk","en","de","ru","pl","es","pt","hi","fr","ko","it","ja","id","tr","nl","ro","cs","vi","ar","el","hu"],"type":"string"},"message":{"maxLength":2000,"minLength":2,"type":"string"},"persona":{"default":"astrologer","enum":["astrologer","plain","coach","teacher"],"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"}},"required":["message"],"type":"object"},"name":"astroway_mcp_ai_chat"},{"description":"Coach two charts on relationship dynamics.\n\n[Group: AI & MCP]\n[Endpoint: POST /v1/ai/comparison-coach]\n[Required: chart1, chart2, question]\n[Cost: 100 credits (Tier 4)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"chart1":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"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.","properties":{"ayanamsa":{"description":"Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.","enum":["fagan-bradley","lahiri","de-luce","raman","krishnamurti","kp","yukteshwar","jn-bhasin","true-citra","djwhal-khul"],"type":"string"},"ayanamsaId":{"anyOf":[{"type":"number"},{"type":"null"}]},"city":{"default":"","type":"string"},"cosmogram":{"type":"boolean"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"houseSystem":{"default":"P","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"},"latitude":{"maximum":90,"minimum":-90,"type":"number"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"name":{"default":"","type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"zodiacType":{"enum":["tropical","sidereal"],"type":"string"}},"required":["date","time","latitude","longitude"],"type":"object"},"chart2":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"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.","properties":{"ayanamsa":{"description":"Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.","enum":["fagan-bradley","lahiri","de-luce","raman","krishnamurti","kp","yukteshwar","jn-bhasin","true-citra","djwhal-khul"],"type":"string"},"ayanamsaId":{"anyOf":[{"type":"number"},{"type":"null"}]},"city":{"default":"","type":"string"},"cosmogram":{"type":"boolean"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"houseSystem":{"default":"P","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"},"latitude":{"maximum":90,"minimum":-90,"type":"number"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"name":{"default":"","type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"zodiacType":{"enum":["tropical","sidereal"],"type":"string"}},"required":["date","time","latitude","longitude"],"type":"object"},"fields":{"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.","type":"string"},"language":{"default":"uk","enum":["uk","en","de","ru","pl","es","pt","hi","fr","ko","it","ja","id","tr","nl","ro","cs","vi","ar","el","hu"],"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"question":{"maxLength":2000,"minLength":5,"type":"string"}},"required":["chart1","chart2","question"],"type":"object"},"name":"astroway_mcp_ai_comparison_coach"},{"description":"Detailed explanation of an aspect between two planets.\n\n[Group: AI & MCP]\n[Endpoint: POST /v1/ai/explain-aspect]\n[Required: planet1, planet2, aspectType]\n[Cost: 100 credits (Tier 4)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"aspectType":{"enum":["Conjunction","Sextile","Square","Trine","Opposition","Quincunx","Semi-square","Sesquiquadrate"],"type":"string"},"chart":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"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.","properties":{"ayanamsa":{"description":"Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.","enum":["fagan-bradley","lahiri","de-luce","raman","krishnamurti","kp","yukteshwar","jn-bhasin","true-citra","djwhal-khul"],"type":"string"},"ayanamsaId":{"anyOf":[{"type":"number"},{"type":"null"}]},"city":{"default":"","type":"string"},"cosmogram":{"type":"boolean"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"houseSystem":{"default":"P","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"},"latitude":{"maximum":90,"minimum":-90,"type":"number"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"name":{"default":"","type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"zodiacType":{"enum":["tropical","sidereal"],"type":"string"}},"required":["date","time","latitude","longitude"],"type":"object"},"fields":{"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.","type":"string"},"language":{"default":"uk","enum":["uk","en","de","ru","pl","es","pt","hi","fr","ko","it","ja","id","tr","nl","ro","cs","vi","ar","el","hu"],"type":"string"},"planet1":{"maxLength":40,"minLength":2,"type":"string"},"planet2":{"maxLength":40,"minLength":2,"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"}},"required":["planet1","planet2","aspectType"],"type":"object"},"name":"astroway_mcp_ai_explain_aspect"},{"description":"Explain a current transit hitting your natal chart.\n\n[Group: AI & MCP]\n[Endpoint: POST /v1/ai/explain-transit]\n[Required: chart, transitDate, transitPlanet, natalPlanet, aspectType]\n[Cost: 100 credits (Tier 4)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"aspectType":{"enum":["Conjunction","Sextile","Square","Trine","Opposition"],"type":"string"},"chart":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"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.","properties":{"ayanamsa":{"description":"Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.","enum":["fagan-bradley","lahiri","de-luce","raman","krishnamurti","kp","yukteshwar","jn-bhasin","true-citra","djwhal-khul"],"type":"string"},"ayanamsaId":{"anyOf":[{"type":"number"},{"type":"null"}]},"city":{"default":"","type":"string"},"cosmogram":{"type":"boolean"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"houseSystem":{"default":"P","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"},"latitude":{"maximum":90,"minimum":-90,"type":"number"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"name":{"default":"","type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"zodiacType":{"enum":["tropical","sidereal"],"type":"string"}},"required":["date","time","latitude","longitude"],"type":"object"},"fields":{"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.","type":"string"},"language":{"default":"uk","enum":["uk","en","de","ru","pl","es","pt","hi","fr","ko","it","ja","id","tr","nl","ro","cs","vi","ar","el","hu"],"type":"string"},"natalPlanet":{"maxLength":40,"minLength":2,"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"transitDate":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"transitPlanet":{"maxLength":40,"minLength":2,"type":"string"}},"required":["chart","transitDate","transitPlanet","natalPlanet","aspectType"],"type":"object"},"name":"astroway_mcp_ai_explain_transit"},{"description":"Run N personas in parallel + LLM synthesis.\n\n[Group: MCP Advanced]\n[Endpoint: POST /v1/mcp/multi-agent-coordinate]\n[Required: question, agents]\n[Cost: 100 credits (Tier 4)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"agents":{"items":{"type":"string"},"maxItems":4,"minItems":2,"type":"array"},"chart":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"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.","properties":{"ayanamsa":{"description":"Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.","enum":["fagan-bradley","lahiri","de-luce","raman","krishnamurti","kp","yukteshwar","jn-bhasin","true-citra","djwhal-khul"],"type":"string"},"ayanamsaId":{"anyOf":[{"type":"number"},{"type":"null"}]},"city":{"default":"","type":"string"},"cosmogram":{"type":"boolean"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"houseSystem":{"default":"P","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"},"latitude":{"maximum":90,"minimum":-90,"type":"number"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"name":{"default":"","type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"zodiacType":{"enum":["tropical","sidereal"],"type":"string"}},"required":["date","time","latitude","longitude"],"type":"object"},"fields":{"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.","type":"string"},"language":{"default":"en","enum":["uk","en","ru","es","pl","de","fr","it","pt"],"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"question":{"maxLength":2000,"minLength":4,"type":"string"}},"required":["question","agents"],"type":"object"},"name":"astroway_mcp_multi_agent_coordinate"},{"description":"Compact context for MCP agents working across multiple charts.\n\n[Group: AI & MCP]\n[Endpoint: POST /v1/mcp/multi-chart-context]\n[Required: charts]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"charts":{"items":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"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.","properties":{"ayanamsa":{"description":"Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.","enum":["fagan-bradley","lahiri","de-luce","raman","krishnamurti","kp","yukteshwar","jn-bhasin","true-citra","djwhal-khul"],"type":"string"},"ayanamsaId":{"anyOf":[{"type":"number"},{"type":"null"}]},"city":{"default":"","type":"string"},"cosmogram":{"type":"boolean"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"houseSystem":{"default":"P","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"},"latitude":{"maximum":90,"minimum":-90,"type":"number"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"name":{"default":"","type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"zodiacType":{"enum":["tropical","sidereal"],"type":"string"}},"required":["date","time","latitude","longitude"],"type":"object"},"maxItems":6,"minItems":1,"type":"array"},"fields":{"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.","type":"string"},"intent":{"enum":["compatibility","family","group","forecast"],"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"}},"required":["charts"],"type":"object"},"name":"astroway_mcp_multi_chart_context"},{"description":"Keyword-tag scoring over chart chunks.\n\n[Group: MCP Advanced]\n[Endpoint: POST /v1/mcp/rag-search]\n[Required: query, chart]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"chart":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"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.","properties":{"ayanamsa":{"description":"Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.","enum":["fagan-bradley","lahiri","de-luce","raman","krishnamurti","kp","yukteshwar","jn-bhasin","true-citra","djwhal-khul"],"type":"string"},"ayanamsaId":{"anyOf":[{"type":"number"},{"type":"null"}]},"city":{"default":"","type":"string"},"cosmogram":{"type":"boolean"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"houseSystem":{"default":"P","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"},"latitude":{"maximum":90,"minimum":-90,"type":"number"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"name":{"default":"","type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"zodiacType":{"enum":["tropical","sidereal"],"type":"string"}},"required":["date","time","latitude","longitude"],"type":"object"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"query":{"maxLength":400,"minLength":2,"type":"string"},"topK":{"default":5,"maximum":20,"minimum":1,"type":"integer"}},"required":["query","chart"],"type":"object"},"name":"astroway_mcp_rag_search"},{"description":"Server-Sent Events streaming chat completion with optional chart context.\n\n[Group: AI & MCP]\n[Endpoint: POST /v1/mcp/streaming]\n[Required: message]\n[Cost: 100 credits (Tier 4)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"chart":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"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.","properties":{"ayanamsa":{"description":"Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.","enum":["fagan-bradley","lahiri","de-luce","raman","krishnamurti","kp","yukteshwar","jn-bhasin","true-citra","djwhal-khul"],"type":"string"},"ayanamsaId":{"anyOf":[{"type":"number"},{"type":"null"}]},"city":{"default":"","type":"string"},"cosmogram":{"type":"boolean"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"houseSystem":{"default":"P","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"},"latitude":{"maximum":90,"minimum":-90,"type":"number"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"name":{"default":"","type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"anyOf":[{"maximum":14,"minimum":-14,"type":"number"},{"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."},"zodiacType":{"enum":["tropical","sidereal"],"type":"string"}},"required":["date","time","latitude","longitude"],"type":"object"},"fields":{"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.","type":"string"},"language":{"default":"uk","enum":["uk","en","de","ru","pl","es","pt","hi","fr","ko","it","ja","id","tr","nl","ro","cs","vi","ar","el","hu"],"type":"string"},"message":{"maxLength":2000,"minLength":2,"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"}},"required":["message"],"type":"object"},"name":"astroway_mcp_streaming"},{"description":"SSE-stream of a tool call envelope.\n\n[Group: MCP Advanced]\n[Endpoint: POST /v1/mcp/tool-call-stream]\n[Required: tool]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"args":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"propertyNames":{"type":"string"},"type":"object"},"fields":{"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.","type":"string"},"language":{"default":"en","enum":["uk","en","ru","es","pl","de","fr","it","pt"],"type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"tool":{"maxLength":80,"minLength":2,"type":"string"}},"required":["tool"],"type":"object"},"name":"astroway_mcp_tool_call_stream"},{"description":"Auto-generated tool manifest for MCP clients (modelcontextprotocol/2025-03 spec).\n\n[Group: AI & MCP]\n[Endpoint: GET /v1/mcp/tools-list]\n[Cost: see your plan — endpoint not in the public credit manifest]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"}},"type":"object"},"name":"astroway_mcp_tools_list"},{"description":"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.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/chart]\n[Required: date, time, gender]\n[Cost: 20 credits (Tier 2)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"age":{"maximum":120,"minimum":1,"type":"integer"},"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"dayDivide":{"enum":["forward","current"],"type":"string"},"fields":{"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.","type":"string"},"fixLeap":{"type":"boolean"},"gender":{"enum":["male","female"],"type":"string"},"language":{"type":"string"},"longitude":{"maximum":180,"minimum":-180,"type":"number"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"school":{"enum":["zhongzhou","quanji","quanshu","beipai"],"type":"string"},"tianmaSchool":{"enum":["year","month"],"type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"},"trueSolarTime":{"type":"boolean"},"yearDivide":{"enum":["lunar","lichun"],"type":"string"}},"required":["date","time","gender"],"type":"object"},"name":"astroway_ziwei_chart"},{"description":"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.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/four-transformations]\n[Required: date]\n[Cost: 10 credits (Tier 1)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"school":{"enum":["zhongzhou","quanji","quanshu","beipai"],"type":"string"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_four_transformations"},{"description":"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.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/full-chart]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_full_chart"},{"description":"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.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/main-stars]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_main_stars"},{"description":"Profession, status, official position.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/palace-career]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_palace_career"},{"description":"Children, fertility, juniors.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/palace-children]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_palace_children"},{"description":"Life path, character, soul mission.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/palace-destiny]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_palace_destiny"},{"description":"Body, illness, weak points.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/palace-health]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_palace_health"},{"description":"Real estate, family home, ancestry.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/palace-property]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_palace_property"},{"description":"Brothers, sisters, peer relationships.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/palace-siblings]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_palace_siblings"},{"description":"Marriage partner, romantic union.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/palace-spouse]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_palace_spouse"},{"description":"Travel, relocation, foreign opportunities.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/palace-travel]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_palace_travel"},{"description":"Income, material prosperity.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/palace-wealth]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_palace_wealth"},{"description":"All 12 palaces with English/pinyin/Chinese names + theme + rules.\n\n[Group: Zi Wei Dou Shu (Purple Star)]\n[Endpoint: POST /v1/ziwei/twelve-palaces]\n[Required: date]\n[Cost: 5 credits (Tier ½)]","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"fields":{"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.","type":"string"},"precision":{"description":"Compact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.","maximum":15,"minimum":0,"type":"integer"},"time":{"pattern":"^\\d{2}:\\d{2}(:\\d{2})?$","type":"string"},"timezone":{"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.","type":"string"},"timezoneOffset":{"description":"Ignored when timezone is sent.","maximum":14,"minimum":-14,"type":"number"}},"required":["date"],"type":"object"},"name":"astroway_ziwei_twelve_palaces"}]},"body_sha256":"469f0290e737f25bc31bf4a09480400c82ebedbe11a3a32ef4bcc609531dbf9c","prev_id":null,"leaf":"0x1f237c29d125142cc002cddf112fbe3169b4bbffee9a565df349f402dd5917ba","leaf_text":"{\"body\":\"469f0290e737f25bc31bf4a09480400c82ebedbe11a3a32ef4bcc609531dbf9c\",\"id\":568780,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793139115187587,\"prev\":null,\"subject\":\"c4f3d2f3-1b0e-4e00-b10d-9e5f8ddbe408\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0x1f234a2930121619c5e6a802433e61f7e16217e594a7229e0d7bc1033f3b0f14","0x6b987d7e669353fb0c20604f951c5b8e56831d9bba55a8c65bfe789092f5a717","0x187b167dda4b11efc2ea738b8fc37dd736c6742cb4d6765754769bf8db25719f","0x29ad2c11b26e732ab586df9df4b71d492509debb9e733cf8ee7858f577990e8d","0xcbef181c30baf6988b99203f629f99141c02f3c559708009cea376ec467a4dd3","0x1c3be3ce18601633c46ee0ae1b6f291f381bb841d535630fccdacba1ae6ccf6f","0xf9ea3367ce9fa435ec0f1a5521c0dad68b3670b1332b434d57a7330a46afcae8","0x5750c839f825e6a905d20851ae2f831c594363eaac1ceead45caa78effcce4f6","0xc374fa73d472576d265cb5316676d42f035b66b69ef3e0d8b0e86239ff74cecc","0x690754f06c253e5c8d55775a4228bc23a0315742f693118809ac4705f16db9b7","0xd45acc7fb7f21e23b363782fdacfbfa41ace261ec11192c4fa708ef87e38cea0","0xd4460ea292e8308ed2accdcd5b386b0914636a5b8cec975011dff814c29ff99a","0x20ca24353b8aca3e061eedf55f49b69ae8369b88135dfdabf30039ed34db329a","0xe8ee6f6ed50253c5ee2d1aa85a4b1a38ce94bca7f3b72fd1850f496152dbe285","0xa383a1cfe9b3f6af67eb4c7642564b9424d46d7fca90e7ba175d549f8b67dd0c","0x52efa60e0c3d8525486d2310eb3b6b566c9677c64fd1f819edb072cf101bcbdb","0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c","0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}