---
title: "Tertiary Progressions"
method: POST
path: "/tertiary-progressions"
tags: ["Prognostics"]
---

# Tertiary Progressions

`POST /tertiary-progressions`

Calculate tertiary progressions (day-for-a-lunar-month) to a target date. Supports converse direction.

## Request body

- NatalTarget — Natal chart plus a target date for time-based calculations: progressions, directions, profections, returns.
  - `date` string, required
  - `time` string, required
  - `timezoneOffset` number, nullable — 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.
  - `latitude` number, required
  - `longitude` number, required
  - `houseSystem` string
  - `name` string
  - `city` string
  - `zodiacType` 'tropical' | 'sidereal'
  - `ayanamsaId` number, nullable
  - `ayanamsa` 'fagan-bradley' | 'lahiri' | 'de-luce' | 'raman' | 'krishnamurti' | 'kp' | 'yukteshwar' | 'jn-bhasin' | 'true-citra' | 'djwhal-khul' — Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.
  - `cosmogram` boolean
  - `targetDate` string, required
  - `targetTime` string
  - `targetTzOffset` number, nullable
  - `converse` boolean

## Response `200`

Successful calculation

- object
  - `ok` boolean
  - `data` object
    - `input` object, nullable
      - `name` string, nullable
      - `date` string, nullable
      - `time` string, nullable
      - `timezoneOffset` number, nullable
      - `latitude` number, nullable
      - `longitude` number, nullable
      - `houseSystem` string, nullable
      - `city` string, nullable
      - `cosmogram` boolean, nullable
    - `julianDay` number, nullable
    - `siderealTime` number, nullable
    - `planets` object[], nullable
      - `id` number, nullable
      - `name` string, nullable
      - `longitude` number, nullable
      - `latitude` number, nullable
      - `distance` number, nullable
      - `speedLong` number, nullable
      - `speedLat` number, nullable
      - `speedDist` number, nullable
      - `isRetrograde` boolean, nullable
      - `declination` number, nullable
      - `rightAscension` number, nullable
    - `houses` object, nullable
      - `system` string, nullable
      - `cusps` number[], nullable
      - `ascendant` number, nullable
      - `mc` number, nullable
      - `armc` number, nullable
      - `vertex` number, nullable
      - `equatorialAsc` number, nullable
      - `coAscWK` number, nullable
      - `coAscMunkasey` number, nullable
      - `polarAsc` number, nullable
    - `aspects` object[], nullable
      - `planet1` string, nullable
      - `planet2` string, nullable
      - `planet1Id` number, nullable
      - `planet2Id` number, nullable
      - `type` object, nullable
        - `name` string, nullable
        - `i18nKey` string, nullable
        - `angle` number, nullable
        - `orb` number, nullable
        - `symbol` string, nullable
        - `isMajor` boolean, nullable
        - `color` string, nullable
      - `exactAngle` number, nullable
      - `orb` number, nullable
      - `isApplying` boolean, nullable
    - `parallelAspects` object[], nullable
      - `planet1` string, nullable
      - `planet2` string, nullable
      - `planet1Id` number, nullable
      - `planet2Id` number, nullable
      - `type` string, nullable
      - `exactDiff` number, nullable
      - `orb` number, nullable
    - `antiscia` object[], nullable
      - `planetId` number, nullable
      - `planetName` string, nullable
      - `antiscion` number, nullable
      - `contraAntiscion` number, nullable
    - `antisciaAspects` unknown[], nullable
      - unknown

## Other responses

- `400` — Validation error
- `401` — Missing or invalid API key

## Changes

- **2026-08-24** `8ab5a768b521` — 2 breaking, 2 warning, 16 info
  - the response property `data/aspects/items/` became nullable for the status `200`
  - the `data/aspects/items/` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - removed the optional property `data/progressedAngles` from the response with the `200` status
  - removed the optional property `data/progressedPlanets` from the response with the `200` status
  - …16 more
- **2026-08-18** `dd3764875e7a` — 1 info
  - added the new optional request property `allOf[#/components/schemas/ChartInput]/ayanamsa`
- **2026-08-15** `e637d1a9911b` — 2 warning
  - the `allOf[#/components/schemas/ChartInput]/timezoneOffset` request property's max was set to `14.00`
  - the `allOf[#/components/schemas/ChartInput]/timezoneOffset` request property's min was set to `-14.00`
- **2026-08-11** `b0533bcc12c0` — 4 breaking, 4 warning, 2 info
  - the request property `allOf[#/components/schemas/ChartInput]/latitude` became not nullable
  - the request property `allOf[#/components/schemas/ChartInput]/longitude` became not nullable
  - the request property `allOf[#/components/schemas/ChartInput]/latitude` became required
  - the request property `allOf[#/components/schemas/ChartInput]/longitude` became required
  - …6 more

[Change history](https://skmtc.dev/astroway/apis/astroway-calculation-api/changes/tertiary-progressions/post.md)

---

[API](https://skmtc.dev/astroway/apis/astroway-calculation-api.md) · [All operations](https://skmtc.dev/astroway/apis/astroway-calculation-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/astroway/astroway-calculation-api/revisions/8ab5a768b521/schema)
