POST · WESTERN

Progressions Chart Image

Endpoint 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

MethodExample
Header (recommended)X-Api-Key: sa_live_xxxxxxxxxxxx
BearerAuthorization: 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

FieldTypeRequiredDescription
yearminuteintegerYesStandard birth data fields.
secondintegerNoDefault 0.
latitude, longitudenumberYesBirth location (signed decimal degrees).
timezonestringYesIANA timezone (e.g. Asia/Kolkata).
progression_yearintegerNoTarget year for the progressed chart. Defaults to today (in birth timezone) if the three date fields are omitted.
progression_monthintegerNoTarget month. Defaults to the current month.
progression_dayintegerNoTarget day. Defaults to the current day.
house_systemstringNoDefault placidus.
node_typestringNoDefault true.

Response shape

The response envelope follows the standard v3 shape (status, success, data, meta). The data object contains:

FieldDescription
chart_urlSigned URL to the rendered PNG. Valid for 24 hours. Embed directly in <img src> or fetch as binary.
expires_atUnix timestamp when the signed URL expires.
target_dateThe progression target date used (YYYY-MM-DD) — requested date, or today if it defaulted.
target_date_textHuman-readable target date, e.g. 17 June 2026.
progression_date_sourceprovided if the date was passed, or current_date if it defaulted to today.
wheel_typeAlways bi_wheel.
inner_ringAlways natal.
outer_ringAlways 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

HTTPCodeCause
400MISSING_FIELDRequired birth field absent. The progression_year/month/day fields are optional (default to today).
400INVALID_DATEInvalid progression target date.
400INVALID_JSONRequest body is not valid JSON.
403INVALID_SIGNATURESigned URL token invalid or tampered with. Re-request via POST.
404CACHE_MISSGET for a chart whose data was never generated. Call POST first.
405METHOD_NOT_ALLOWEDOnly POST (create) and GET (fetch image) are supported.
410URL_EXPIREDSigned URL past its 24-hour expiry. Re-request via POST.
500EPHEM_ERRORChart computation failed.
500RENDER_ERRORWheel rendering failed.

See also