Morphemeris DocsBeta

Firdaria

GET /v1/firdaria — The Persian planetary periods: major periods and sub-periods with their lords, at one instant or over a range.

Firdaria

The firdaria of a natal chart: the Persian time-lord technique that walks a fixed 75-year sequence of nine major periods, seven planets and the two lunar nodes, in an order set by sect. A day birth begins with the Sun, a night birth with the Moon. Each planetary major is split into seven equal sub-periods whose lords begin with the major lord and continue in the Chaldean order; the node majors have no sub-periods. After 75 years the sequence starts over.

Ask for one instant to get the major and sub-period in force, or for a range to get every period overlapping it as flat records, ready for a timeline.

Text
GET  /v1/firdaria
POST /v1/firdaria

Credit cost: 1

Parameters

ParameterTypeRequiredDefaultDescription
datetimestringOne of datetime or jdNatal moment, ISO 8601 UTC
jdnumberOne of datetime or jdNatal moment as a Julian Day (UT1)
lat, lonnumberYesNatal location, for the sect
atstringOne of at or start+endOne instant, ISO 8601 UTC: returns the major and sub-period in force then (or at_jd)
start, endstringOne of at or start+endA range, ISO 8601 UTC: returns every period overlapping it. end after start, at most 120 years later (or start_jd, end_jd)
day_chartstringNoautoSect: true, false, or auto, which reads it from the chart (the Sun on or above the horizon, as the lots do)
night_orderstringNonodes_lastWhere the nodes fall in the night sequence: nodes_last or nodes_after_mars. Irrelevant by day
year_daysnumberNo365.2422Length of a year in days, the mean tropical year by default
bodiesstringNoplanetsBodies in the natal chart. The Sun is needed to decide the sect
siderealstringNoAyanamsha. Firdaria depend only on the sect, so the records are identical in either zodiac

The sequence

Day birthYearsNight birthYears
Sun10Moon9
Venus8Saturn11
Mercury13Jupiter12
Moon9Mars7
Saturn11Sun10
Jupiter12Venus8
Mars7Mercury13
North Node3North Node3
South Node2South Node2

A Sun major of ten years runs its sub-periods Sun, Venus, Mercury, Moon, Saturn, Jupiter, Mars, each ten sevenths of a year. night_order=nodes_after_mars moves the two node periods to follow Mars in the night sequence (Moon, Saturn, Jupiter, Mars, North Node, South Node, Sun, Venus, Mercury), a form found in some medieval presentations.

Boundaries are arithmetic: birth + years × year_days, with the last sub-period ending exactly on its major. Nothing precedes birth. A range that begins earlier is cut to the birth instant, which is a true boundary and is not flagged. An at before birth returns 400.

Response

JSON
{
  "data": {
    "is_day_chart": true,
    "night_order": "nodes_last",
    "year_days": 365.2422,
    "at": { "jd": 2461100.5, "datetime": "2026-03-01T00:00:00.000Z" },
    "periods": [
      {
        "level": 1,
        "lord": "moon",
        "start": { "jd": 2459380.61, "datetime": "2021-06-15T02:37:48.000Z" },
        "end": { "jd": 2462667.79, "datetime": "2030-06-15T06:57:36.000Z" },
        "clamped_start": false,
        "clamped_end": false
      },
      {
        "level": 2,
        "lord": "jupiter",
        "major_lord": "moon",
        "start": { "jd": 2460789.54, "datetime": "2025-04-24T00:57:36.000Z" },
        "end": { "jd": 2461259.14, "datetime": "2026-08-06T15:21:36.000Z" },
        "clamped_start": false,
        "clamped_end": false
      }
    ]
  },
  "meta": { "..." }
}
FieldTypeDescription
is_day_chartbooleanThe sect the sequence was chosen for
night_orderstringnodes_last or nodes_after_mars
year_daysnumberThe year length used
atinstantThe instant asked about, as { jd, datetime }. Present for an at query
start, endinstantThe range asked about. Present for a range query
periods[].levelnumber1 for a major period, 2 for a sub-period
periods[].lordstringThe lord of this record's period, at its level
periods[].major_lordstringOn a sub-period, the lord of the major it belongs to. Absent on a major
periods[].start, endinstantWhen the period begins and ends
periods[].clamped_startbooleanstart is the range's start, not the period's own
periods[].clamped_endbooleanend is the range's end, not the period's own

Records are flat, ordered by start then level. An at query returns the whole major and sub-period containing the instant, never clamped; inside a node major there is one record, since the nodes have no sub-periods.

Examples

The time lords right now

Bash
curl "https://api.morphemeris.com/v1/firdaria?datetime=1990-06-15T14:30:00Z&lat=40.7&lon=-74&at=2026-03-01T00:00:00Z" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"
javascript
const res = await fetch(
  "https://api.morphemeris.com/v1/firdaria?datetime=1990-06-15T14:30:00Z&lat=40.7&lon=-74&at=2026-03-01T00:00:00Z",
  { headers: { Authorization: "Bearer morphemeris_live_YOUR_KEY" } }
);
const { data } = await res.json();
const [major, sub] = data.periods;
console.log(`${major.lord}${sub ? ` / ${sub.lord}` : ""}`);
Python
import requests

res = requests.get(
    "https://api.morphemeris.com/v1/firdaria",
    params={
        "datetime": "1990-06-15T14:30:00Z", "lat": 40.7, "lon": -74,
        "at": "2026-03-01T00:00:00Z",
    },
    headers={"Authorization": "Bearer morphemeris_live_YOUR_KEY"},
)
periods = res.json()["data"]["periods"]

A whole life, with the cycle repeating after 75 years

Bash
curl "https://api.morphemeris.com/v1/firdaria?datetime=1990-06-15T14:30:00Z&lat=40.7&lon=-74&start=1990-06-15T14:30:00Z&end=2090-06-15T00:00:00Z" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"

A night chart with the nodes after Mars

Bash
curl "https://api.morphemeris.com/v1/firdaria?datetime=1990-06-15T03:00:00Z&lat=40.7&lon=-74&night_order=nodes_after_mars&start=2026-01-01T00:00:00Z&end=2046-01-01T00:00:00Z" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"

See Time Lords for the technique, Profections and Zodiacal Releasing for the other two, and the time-lords guide for building a timeline from the records.