Progressions Chart Image
POST https://starsapi.com/api/v3/western/forecasting/progressions-chart-image
Overview
Renders a secondary-progressions bi-wheel as a PNG image and returns a signed URL to it. The wheel shows the natal chart on the inner ring and the secondary-progressed chart on the outer ring, with cross-wheel aspects drawn from progressed planets to natal planets. The signed URL is valid for 24 hours and can be embedded in a UI or downloaded.
For the raw progressions data (progressed positions, angles, and progressed-to-natal aspects) without the rendered image, use forecasting/progressions.
Authentication
| Method | Example |
|---|---|
| Header (recommended) | X-Api-Key: sa_live_xxxxxxxxxxxx |
| Bearer | Authorization: Bearer sa_live_xxxxxxxxxxxx |
Auth is required only for the POST request. The returned chart_url is pre-signed with HMAC and does not require an API key when fetched.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
year – minute | integer | Yes | Standard birth data fields. |
second | integer | No | Default 0. |
latitude, longitude | number | Yes | Birth location (signed decimal degrees). |
timezone | string | Yes | IANA timezone (e.g. Asia/Kolkata). |
progression_year | integer | No | Target year for the progressed chart. Defaults to today (in birth timezone) if the three date fields are omitted. |
progression_month | integer | No | Target month. Defaults to the current month. |
progression_day | integer | No | Target day. Defaults to the current day. |
house_system | string | No | Default placidus. |
node_type | string | No | Default true. |
Response shape
The response envelope follows the standard v3 shape (status, success, data, meta). The data object contains:
| Field | Description |
|---|---|
chart_url | Signed URL to the rendered PNG. Valid for 24 hours. Embed directly in <img src> or fetch as binary. |
expires_at | Unix timestamp when the signed URL expires. |
target_date | The progression target date used (YYYY-MM-DD) — requested date, or today if it defaulted. |
target_date_text | Human-readable target date, e.g. 17 June 2026. |
progression_date_source | provided if the date was passed, or current_date if it defaulted to today. |
wheel_type | Always bi_wheel. |
inner_ring | Always natal. |
outer_ring | Always progressed_secondary. |
meta.house_system confirms the system used and meta.cache indicates cache HIT or MISS.
Fetching the image
The chart_url is a pre-signed URL of the form:
https://starsapi.com/api/v3/western/forecasting/progressions-chart-image?key=<cacheKey>&expires=<unix>&token=<hmac>
Fetch it with a plain GET (no auth headers required). The response is an image/png. The wheel is a bi-wheel: the natal chart forms the inner ring and the secondary-progressed chart forms the outer ring.
Since the URL is signed with an expiry, do not store it long-term. Store the birth details and re-request the endpoint when you need the image again — the response will be a fast cache HIT if the same inputs were used recently.
Caching
Chart images are cached on disk for 24 hours, keyed by the full input set (birth data, progression target date, house system, node type). Identical requests return meta.cache: "HIT"; fresh computations show MISS.
Because the default progression date is today, a request with no date fields naturally produces a new cache entry each calendar day.
Errors
| HTTP | Code | Cause |
|---|---|---|
| 400 | MISSING_FIELD | Required birth field absent. The progression_year/month/day fields are optional (default to today). |
| 400 | INVALID_DATE | Invalid progression target date. |
| 400 | INVALID_JSON | Request body is not valid JSON. |
| 403 | INVALID_SIGNATURE | Signed URL token invalid or tampered with. Re-request via POST. |
| 404 | CACHE_MISS | GET for a chart whose data was never generated. Call POST first. |
| 405 | METHOD_NOT_ALLOWED | Only POST (create) and GET (fetch image) are supported. |
| 410 | URL_EXPIRED | Signed URL past its 24-hour expiry. Re-request via POST. |
| 500 | EPHEM_ERROR | Chart computation failed. |
| 500 | RENDER_ERROR | Wheel rendering failed. |
See also
- Progressions — raw data version (positions, angles, aspects)
- Solar Return Chart Image
- Solar Arc
- Transits