openephemeris-com · Schema

ZodiacalReleasingResponse

Zodiacal releasing timeline — L1 general periods dated in 360-day years, each with its L2 sub-periods dated in 30-day months, plus peak and current-period identification.

CompanyAstrologyAIAstronomyDataAPI

Properties

Name Type Description
calculation_metadata objectnull Metadata about the calculation.
current_period objectnull The L1 general period active at the target datetime, with its active sub-period. Absent when the target falls outside the timeline.
l1_periods array Level-1 general periods in the zodiacal releasing timeline.
lot_sign integer Sign index of the Lot actually released from (0–11). When spirit_advanced is true this is one sign past the submitted lot_sign.
lot_sign_name string Name of the sign actually released from (e.g., 'Leo').
output_mode stringnull Output projection mode (json | llm).
peak_period_index integer Index of the longest angular L1 period (the peak chapter).
spirit_advanced boolean True when Valens' same-sign rule (IV, 4:7) moved Spirit forward one sign because it shared Fortune's. It changes every date in the timeline, so surface it.
starting_lot string Name of the releasing Lot ('fortune' or 'spirit').
success boolean Whether the calculation succeeded.
total_years integer Total 360-day years covered by the L1 timeline.
View JSON Schema on GitHub

JSON Schema

openephemeris-com-zodiacal-releasing-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/openephemeris-com/json-schema/openephemeris-com-zodiacal-releasing-response-schema.json",
  "title": "ZodiacalReleasingResponse",
  "description": "Zodiacal releasing timeline — L1 general periods dated in 360-day years, each with its L2 sub-periods dated in 30-day months, plus peak and current-period identification.",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/openephemeris-com-openapi.json#/components/schemas/ZodiacalReleasingResponse",
  "properties": {
    "calculation_metadata": {
      "description": "Metadata about the calculation.",
      "properties": {
        "algorithm_version": {
          "description": "Version of the releasing engine. 2.0.0 is the first that implements the canonical technique; 1.x ran level 1 in months and reported a static per-sign is_loosing.",
          "type": "string"
        },
        "birth_datetime": {
          "description": "Birth datetime, ISO 8601 UTC.",
          "type": "string"
        },
        "max_years": {
          "description": "Calendar years the timeline was run for.",
          "type": "integer"
        },
        "processing_time_ms": {
          "description": "Server processing time in milliseconds.",
          "type": "number"
        },
        "target_datetime": {
          "description": "Datetime the current period was resolved for, ISO 8601 UTC.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "current_period": {
      "description": "The L1 general period active at the target datetime, with its active sub-period. Absent when the target falls outside the timeline.",
      "properties": {
        "end_date": {
          "description": "End of this general period, ISO 8601 UTC.",
          "type": "string"
        },
        "is_angular": {
          "description": "Whether this is a peak (angular) chapter.",
          "type": "boolean"
        },
        "l1_index": {
          "description": "Index into l1_periods.",
          "type": "integer"
        },
        "ruler": {
          "description": "Ruling planet name.",
          "type": "string"
        },
        "sign": {
          "description": "Sign index (0–11).",
          "type": "integer"
        },
        "sign_name": {
          "description": "Sign name.",
          "type": "string"
        },
        "start_date": {
          "description": "Start of this general period, ISO 8601 UTC.",
          "type": "string"
        },
        "sub_period": {
          "description": "The L2 sub-period active at the target datetime.",
          "properties": {
            "end_date": {
              "description": "End of this sub-period, ISO 8601 UTC.",
              "type": "string"
            },
            "is_angular": {
              "description": "Whether this sign is angular from the Lot.",
              "type": "boolean"
            },
            "is_loosing": {
              "description": "Whether this sub-period is the one entered at a loosing of the bond.",
              "type": "boolean"
            },
            "months": {
              "description": "Duration in 30-day months.",
              "type": "integer"
            },
            "ruler": {
              "description": "Ruling planet name.",
              "type": "string"
            },
            "sign": {
              "description": "Sign index (0–11).",
              "type": "integer"
            },
            "sign_name": {
              "description": "Sign name.",
              "type": "string"
            },
            "start_date": {
              "description": "Start of this sub-period, ISO 8601 UTC.",
              "type": "string"
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "years": {
          "description": "Duration in 360-day years.",
          "type": "integer"
        },
        "years_into_period": {
          "description": "How far into this general period the target date falls, in 360-day years.",
          "type": "number"
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "l1_periods": {
      "description": "Level-1 general periods in the zodiacal releasing timeline.",
      "items": {
        "properties": {
          "end_date": {
            "description": "End of this general period, ISO 8601 UTC.",
            "type": "string"
          },
          "is_angular": {
            "description": "Whether this sign is angular (1st, 4th, 7th, 10th) from the Lot. Angular periods are peak chapters.",
            "type": "boolean"
          },
          "l2_periods": {
            "description": "Level-2 sub-periods within this general period, in sequence, including the jump at any loosing of the bond.",
            "items": {
              "properties": {
                "end_date": {
                  "description": "End of this sub-period, ISO 8601 UTC.",
                  "type": "string"
                },
                "is_angular": {
                  "description": "Whether this sign is angular (1st, 4th, 7th, 10th) from the Lot.",
                  "type": "boolean"
                },
                "is_loosing": {
                  "description": "True of the FIRST sub-period after a loosing of the bond — the sequence reached the sign its general period began on and jumped to the opposite sign instead.",
                  "type": "boolean"
                },
                "months": {
                  "description": "Duration in 30-day months — this sign's own minor years. A final sub-period truncated by the end of its general period keeps its natural value here; only end_date is clipped.",
                  "type": "integer"
                },
                "ruler": {
                  "description": "Ruling planet name.",
                  "type": "string"
                },
                "sign": {
                  "description": "Sign index (0–11).",
                  "type": "integer"
                },
                "sign_name": {
                  "description": "Sign name.",
                  "type": "string"
                },
                "start_date": {
                  "description": "Start of this sub-period, ISO 8601 UTC.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "ruler": {
            "description": "Ruling planet name.",
            "type": "string"
          },
          "sign": {
            "description": "Sign index (0–11).",
            "type": "integer"
          },
          "sign_name": {
            "description": "Sign name.",
            "type": "string"
          },
          "start_date": {
            "description": "Start of this general period, ISO 8601 UTC.",
            "type": "string"
          },
          "years": {
            "description": "Duration in 360-day years — this sign's minor years.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "title": "L1 Periods",
      "type": "array"
    },
    "lot_sign": {
      "description": "Sign index of the Lot actually released from (0–11). When spirit_advanced is true this is one sign past the submitted lot_sign.",
      "type": "integer"
    },
    "lot_sign_name": {
      "description": "Name of the sign actually released from (e.g., 'Leo').",
      "type": "string"
    },
    "output_mode": {
      "description": "Output projection mode (json | llm).",
      "type": [
        "string",
        "null"
      ]
    },
    "peak_period_index": {
      "description": "Index of the longest angular L1 period (the peak chapter).",
      "type": "integer"
    },
    "spirit_advanced": {
      "description": "True when Valens' same-sign rule (IV, 4:7) moved Spirit forward one sign because it shared Fortune's. It changes every date in the timeline, so surface it.",
      "type": "boolean"
    },
    "starting_lot": {
      "description": "Name of the releasing Lot ('fortune' or 'spirit').",
      "type": "string"
    },
    "success": {
      "description": "Whether the calculation succeeded.",
      "title": "Success",
      "type": "boolean"
    },
    "total_years": {
      "description": "Total 360-day years covered by the L1 timeline.",
      "type": "integer"
    }
  },
  "required": [
    "success",
    "starting_lot",
    "lot_sign",
    "lot_sign_name",
    "spirit_advanced",
    "l1_periods",
    "total_years",
    "peak_period_index"
  ],
  "type": "object"
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/openephemeris-com-zodiacal-releasing-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.