---
title: "Annual Profections Time Lords"
method: POST
path: "/predictive/time-lords/profections"
tags: ["predictive"]
---

# Annual Profections Time Lords

`POST /predictive/time-lords/profections`

## Request

- Base URL: `https://api.openephemeris.com`
- URL: `https://api.openephemeris.com/predictive/time-lords/profections`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-OpenEphemeris-API-Key`
  - API key in header `X-API-Key`
  - API key in header `X-Service-Key`

Calculate annual profections — the foundational Hellenistic timing technique that advances one zodiac sign per birthday from the natal Ascendant. Returns the profected sign, activated house, time lord planet, element, modality, and a full multi-year timeline.

Profections are the simplest and most widely used timing technique in traditional astrology, experiencing a major revival in modern Hellenistic practice. Each year of life activates one whole-sign house from the Ascendant; the ruler of that sign becomes the "time lord" coloring the entire year. Angular years (1st, 4th, 7th, 10th) are typically the most eventful.

🤖 Agent-first endpoint — pure deterministic math, no ephemeris required.

## Query parameters

- `format` string
- `output_mode` string, nullable

## Request body

- ProfectionsRequest: Input for annual profections calculation. Requires the natal ascendant sign (0 = Aries … 11 = Pisces) and the birth datetime to derive the native's age at the target date.
  - `ascendant_sign` integer, required: Natal ascendant sign index (0 = Aries, 1 = Taurus, … 11 = Pisces). Determines the 1st-house starting sign for the profection wheel.
  - `birth_datetime` string, date-time, required: Natal birth datetime in ISO 8601 UTC format.
  - `house_system` string: Optional.
  - `latitude` number: Optional. If provided, calculates natal chart to determine ascendant/sect/lots.
  - `longitude` number: Optional.
  - `target_datetime` string, date-time: Date to evaluate the profection for. Defaults to the current date if omitted.
  - `years_backward` integer: Number of past profection years to include in the timeline. Default: 5.
  - `years_forward` integer: Number of future profection years to include in the timeline. Default: 10.

## Response `200`

Successful Response

- ProfectionsResponse: Annual profections result — current active profection and the full timeline.
  - `ascendant_sign_name` string: Natal Ascendant sign name for reference.
  - `birth_datetime` string: Birth datetime used for the calculation.
  - `current_year` object, required: The active profection for the target date.
    - `age` integer, required: Age of the native at the target date (birthday-based).
    - `birthday_next_year` string, date-time, nullable: Estimated birthday datetime when the next profection begins.
    - `birthday_this_year` string, date-time, nullable: Estimated birthday datetime for this profection year.
    - `element` string, required: Element of the profected sign (Fire, Earth, Air, Water).
    - `house_activated` integer, required: Whole-sign house number activated (1–12).
    - `is_angular` boolean, required: Whether this is an angular-house year (1st, 4th, 7th, 10th). Angular years are traditionally the most significant.
    - `modality` string, required: Modality of the profected sign (Cardinal, Fixed, Mutable).
    - `profected_sign` integer, required: Sign index of the profected Ascendant (0–11).
    - `profected_sign_name` string, required: Name of the profected sign (e.g., "Sagittarius").
    - `time_lord` string, required: Modern planet name ruling the profected sign.
    - `time_lord_traditional_name` string, required: Traditional Hellenistic name for the time lord planet.
    - `year_of_life` integer, required: Year of life (age + 1, e.g., 1st year of life = age 0).
  - `output_mode` string, nullable: Output projection mode (json | llm).
  - `success` boolean, required: Whether the calculation succeeded.
  - `timeline` object[], required: Profection entries for surrounding years (past and future).
    - `age` integer
    - `element` string
    - `house_activated` integer
    - `is_angular` boolean
    - `is_current` boolean: True for the active profection year.
    - `modality` string
    - `profected_sign` integer
    - `profected_sign_name` string
    - `time_lord` string
    - `time_lord_traditional_name` string
    - `year_of_life` integer

## Other responses

- `422`: Unprocessable Entity - Invalid input
- `500`: Internal Server Error

---

[API](https://skmtc.dev/openephemeris/apis/open-ephemeris-api.md) · [All operations](https://skmtc.dev/openephemeris/apis/open-ephemeris-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openephemeris/apis/open-ephemeris-api/revisions/d195a769cb89?raw)
