@@ -67,6 +67,64 @@ public function findSignificantDates(
6767 return $ this ->callRequest ($ request );
6868 }
6969
70+ /**
71+ * Solar return chart - Annual birthday forecast chart for a single subject
72+ *
73+ * Cast the solar return chart for one subject and year: the chart erected for the exact moment
74+ * the transiting Sun returns to its natal ecliptic longitude, the foundational technique for
75+ * annual astrological forecasting. Returns the full tropical chart with planetary positions,
76+ * house cusps, aspects, Ascendant, and Midheaven. Location-sensitive: pass the birthplace to
77+ * anchor the chart to natal geography, or the current city for a relocated solar return where
78+ * the houses and Ascendant shift to where you are on your birthday. Built for year-ahead
79+ * forecast tools, birthday charts, and annual horoscope features.
80+ *
81+ * POST /forecast/solar-return
82+ *
83+ * @param string $date
84+ * Birth date in YYYY-MM-DD format. Anchors the natal Sun longitude the transiting Sun returns
85+ * to each year.
86+ * @param float $latitude
87+ * Latitude of the solar return location in decimal degrees. The solar return is
88+ * location-sensitive: use the birthplace to anchor the chart to natal geography, or the
89+ * current city for a relocated solar return.
90+ * @param float $longitude
91+ * Longitude of the solar return location in decimal degrees. Sets the local sidereal time, so
92+ * it drives the Ascendant, Midheaven, and house cusps of the return chart.
93+ * @param string $time
94+ * Birth time in 24-hour HH:MM:SS format. Pins the exact natal Sun position that defines the
95+ * solar return moment.
96+ * @param mixed $timezone
97+ * Decimal hours (e.g. 5.5 for IST, -5 for EST) OR IANA name (e.g. "America/New_York", "UTC").
98+ * IANA is resolved to the DST-correct offset for the request date. Invalid timezones return
99+ * 400 with a validation error.
100+ * @param int $year
101+ * Year to cast the solar return for. The chart is erected for the moment in this year when the
102+ * transiting Sun returns to the natal Sun longitude, on or within a day of the birthday.
103+ * @param string|null $houseSystem
104+ * House system for the return chart. placidus is the Western default. whole-sign, equal, and
105+ * koch are also supported.
106+ * @param string|null $lang
107+ * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en.
108+ * Languages without translations yet return English.
109+ *
110+ * @return array<string, mixed>
111+ */
112+ public function forecastSolarReturn (
113+ string $ date ,
114+ float $ latitude ,
115+ float $ longitude ,
116+ string $ time ,
117+ mixed $ timezone ,
118+ int $ year ,
119+ ?string $ houseSystem = null ,
120+ ?string $ lang = null
121+ ): array
122+ {
123+ $ request = new \RoxyAPI \Sdk \Generated \Requests \ForecastSolarReturnRequest (date: $ date , latitude: $ latitude , longitude: $ longitude , time: $ time , timezone: $ timezone , year: $ year , houseSystem: $ houseSystem , lang: $ lang );
124+
125+ return $ this ->callRequest ($ request );
126+ }
127+
70128 /**
71129 * Western transit forecast - Transit aspects, sign ingresses, retrograde stations
72130 *
@@ -155,64 +213,6 @@ public function generateDigest(
155213 return $ this ->callRequest ($ request );
156214 }
157215
158- /**
159- * Solar return chart - Annual birthday forecast chart for a single subject
160- *
161- * Cast the solar return chart for one subject and year: the chart erected for the exact moment
162- * the transiting Sun returns to its natal ecliptic longitude, the foundational technique for
163- * annual astrological forecasting. Returns the full tropical chart with planetary positions,
164- * house cusps, aspects, Ascendant, and Midheaven. Location-sensitive: pass the birthplace to
165- * anchor the chart to natal geography, or the current city for a relocated solar return where
166- * the houses and Ascendant shift to where you are on your birthday. Built for year-ahead
167- * forecast tools, birthday charts, and annual horoscope features.
168- *
169- * POST /forecast/solar-return
170- *
171- * @param string $date
172- * Birth date in YYYY-MM-DD format. Anchors the natal Sun longitude the transiting Sun returns
173- * to each year.
174- * @param float $latitude
175- * Latitude of the solar return location in decimal degrees. The solar return is
176- * location-sensitive: use the birthplace to anchor the chart to natal geography, or the
177- * current city for a relocated solar return.
178- * @param float $longitude
179- * Longitude of the solar return location in decimal degrees. Sets the local sidereal time, so
180- * it drives the Ascendant, Midheaven, and house cusps of the return chart.
181- * @param string $time
182- * Birth time in 24-hour HH:MM:SS format. Pins the exact natal Sun position that defines the
183- * solar return moment.
184- * @param mixed $timezone
185- * Decimal hours (e.g. 5.5 for IST, -5 for EST) OR IANA name (e.g. "America/New_York", "UTC").
186- * IANA is resolved to the DST-correct offset for the request date. Invalid timezones return
187- * 400 with a validation error.
188- * @param int $year
189- * Year to cast the solar return for. The chart is erected for the moment in this year when the
190- * transiting Sun returns to the natal Sun longitude, on or within a day of the birthday.
191- * @param string|null $houseSystem
192- * House system for the return chart. placidus is the Western default. whole-sign, equal, and
193- * koch are also supported.
194- * @param string|null $lang
195- * Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en.
196- * Languages without translations yet return English.
197- *
198- * @return array<string, mixed>
199- */
200- public function generateSolarReturn (
201- string $ date ,
202- float $ latitude ,
203- float $ longitude ,
204- string $ time ,
205- mixed $ timezone ,
206- int $ year ,
207- ?string $ houseSystem = null ,
208- ?string $ lang = null
209- ): array
210- {
211- $ request = new \RoxyAPI \Sdk \Generated \Requests \GenerateSolarReturnRequest (date: $ date , latitude: $ latitude , longitude: $ longitude , time: $ time , timezone: $ timezone , year: $ year , houseSystem: $ houseSystem , lang: $ lang );
212-
213- return $ this ->callRequest ($ request );
214- }
215-
216216 /**
217217 * Cross-domain forecast timeline - Transits, ingresses, stations, dasha changes, critical days
218218 *
0 commit comments