{
  "openapi": "3.1.0",
  "info": {
    "title": "96Astro API",
    "version": "1.0.0-preview",
    "description": "Vedic and Western astrology calculations, panchang, matching, reports and AI readings over one JSON API.\n\nEvery capability is `POST /v1/{family}/{capability}` with a JSON body. A successful call returns\n`{\"data\": ..., \"meta\": ...}`; every failure returns `{\"error\": ...}` with a stable `code`. Errors are never charged.\n\n**Authentication.** Send the key as `Authorization: Bearer <key>` (or `X-API-Key: <key>`). Never put a key in the URL.\n\n**Sandbox.** There is one base URL. A sandbox key (`sk_test_...`) runs real calculations without charging credits,\nup to a daily call limit, and AI readings on the fast tier only. A live key (`sk_live_...`) is charged.\n\n**Credits.** `x-credits` on each operation is its price per successful call: a fixed number, or for AI readings\n`metered`, a per-tier minimum and ceiling (the ceiling is reserved before the call and the unused part released).\n\n**PDF reports.** `POST /v1/jobs/pdf` renders any report capability as a branded PDF in the background: poll\n`GET /v1/jobs/{job_id}` and download the signed, expiring `download_url`. It costs the report's own credits\nplus 120, reserved when the job is accepted and released if it fails.\n\n**Response bodies.** Each operation's 200 response carries an example captured from the live engine with a sandbox\nkey (so `credits_used` is 0), trimmed for size, and a schema for `data` inferred from that example. Inferred schemas\nare marked `x-schema-source: example`: they describe one real response, not a contract, and a field may be absent or\nnull in other responses. AI reading examples are written by hand from the documented shape and marked\n`x-example-source: illustrative`.\n",
    "contact": {
      "name": "96Astro API support",
      "email": "support@96astro.com"
    },
    "x-engine-revision": "c06a1692b29c933fab4286109dc6c851b2a44953"
  },
  "servers": [
    {
      "url": "https://api.96astro.com",
      "description": "Production. Sandbox and live are chosen by the key."
    }
  ],
  "security": [
    {
      "bearerAuth": []
    },
    {
      "apiKeyHeader": []
    }
  ],
  "tags": [
    {
      "name": "vedic-charts",
      "description": "Sidereal birth charts, planet positions, divisional and special-lagna charts, rendered chart images and chart markers.",
      "x-displayName": "Birth charts & planets"
    },
    {
      "name": "strengths",
      "description": "Ashtakavarga, Shadbala and other strength measures, planetary friendship, avasthas, aspects and dignity tables.",
      "x-displayName": "Strengths & relationships"
    },
    {
      "name": "dashas",
      "description": "Planetary and sign-based period systems with their sub-periods, computed from the birth moment.",
      "x-displayName": "Dasha systems"
    },
    {
      "name": "panchang",
      "description": "Daily and monthly panchang, timing tables, calendars, eclipses and planetary events for a date and place.",
      "x-displayName": "Panchang & almanac"
    },
    {
      "name": "festivals-muhurta",
      "description": "Recurring observances, shraddha dates, auspicious-window search and naming syllables.",
      "x-displayName": "Festivals & muhurta"
    },
    {
      "name": "matching",
      "description": "Vedic and South Indian compatibility between two people, from full charts or from birth stars, singly or in bulk.",
      "x-displayName": "Compatibility matching"
    },
    {
      "name": "doshas-yogas",
      "description": "Dosha checks and classical yoga detection from a birth chart.",
      "x-displayName": "Doshas & yogas"
    },
    {
      "name": "predictions",
      "description": "Rule-based readings: sign horoscopes, transits, characteristics, life readings and period forecasts.",
      "x-displayName": "Predictions & readings"
    },
    {
      "name": "kp",
      "description": "KP cusps, significators, ruling planets, horary, transit, ephemeris and birth-time rectification aids.",
      "x-displayName": "Krishnamurti Paddhati (KP)"
    },
    {
      "name": "jaimini",
      "description": "Chara karakas, Jaimini sign charts and special points.",
      "x-displayName": "Jaimini"
    },
    {
      "name": "lal-kitab",
      "description": "Lal Kitab chart, annual chart, debts, teva, dasha, remedies and predictions.",
      "x-displayName": "Lal Kitab"
    },
    {
      "name": "bnn",
      "description": "BNN progression charts, nadi relations, graha phala, ratna, yogas and dashas.",
      "x-displayName": "Bhrigu Nandi Nadi (BNN)"
    },
    {
      "name": "tajika",
      "description": "Varshaphal and Tithi Pravesh annual charts, sahams and annual dashas.",
      "x-displayName": "Annual charts (Tajika)"
    },
    {
      "name": "western",
      "description": "Tropical natal charts, transits, sun-sign forecasts and synastry.",
      "x-displayName": "Western astrology"
    },
    {
      "name": "tarot",
      "description": "Tarot card draws and fixed spreads.",
      "x-displayName": "Tarot"
    },
    {
      "name": "numerology",
      "description": "Chaldean/Vedic numerology, name numbers, day numbers and biorhythms.",
      "x-displayName": "Numerology"
    },
    {
      "name": "remedies",
      "description": "Gemstone, rudraksha, nakshatra-vastu and Panch Pakshi guidance.",
      "x-displayName": "Remedies & guidance"
    },
    {
      "name": "reports",
      "description": "Long multi-section readings assembled from the chart: topic reports, classical Kundli bundles, matching and longevity.",
      "x-displayName": "Reports"
    },
    {
      "name": "location-astrology",
      "description": "Astrocartography, relocation, city ranking and place-based timing for a birth chart.",
      "x-displayName": "Location astrology"
    },
    {
      "name": "vastu",
      "description": "Floor-plan Vastu analysis, Ayadi, comparisons, heatmaps and reference tables.",
      "x-displayName": "Vastu"
    },
    {
      "name": "mundane",
      "description": "World-level forecasting for a moment and place.",
      "x-displayName": "Mundane astrology"
    },
    {
      "name": "ai",
      "description": "AI-written readings and answers grounded in chart, report or Vastu data the service computes.",
      "x-displayName": "AI interpretation"
    },
    {
      "name": "utilities",
      "description": "Languages, place search, time-zone resolution and quick sign finders.",
      "x-displayName": "Utilities"
    },
    {
      "name": "jobs",
      "description": "Report PDFs, rendered as background jobs.",
      "x-displayName": "Jobs and files"
    }
  ],
  "paths": {
    "/v1/vedic-charts/birth-chart-bundle": {
      "post": {
        "operationId": "birth-chart-bundle",
        "summary": "Full Birth Chart Bundle",
        "description": "The core birth chart in one call: ayanamsha, ascendant, planets, the D1 and D9 charts, a Moon and Avakhada summary, Vimshottari periods and the Manglik check. Chart images: use chart-image-styles.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["sign", "sign_number", "sign_lord", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_number", "nakshatra_lord", "pada"]},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}, "house": {"type": "integer"}, "speed": {"type": "number"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}}, "required": ["name", "sign", "sign_number", "sign_lord", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_number", "nakshatra_lord", "pada", "house", "speed", "retrograde", "combust"]}},
                        "charts": {"type": "object", "properties": {"D1": {"type": "object", "properties": {"code": {"type": "string"}, "name": {"type": "string"}, "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "degree": {"type": "integer"}}, "required": ["sign", "sign_number", "degree"]}, "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "degree": {"type": "integer"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}, "house": {"type": "integer"}}, "required": ["name", "sign", "sign_number", "degree", "retrograde", "combust", "house"]}}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "planets": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "sign", "sign_number", "planets"]}}}, "required": ["code", "name", "ascendant", "planets", "houses"]}, "D9": {"type": "object", "properties": {"code": {"type": "string"}, "name": {"type": "string"}, "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "degree": {"type": "number"}}, "required": ["sign", "sign_number", "degree"]}, "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "degree": {"type": "number"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}, "house": {"type": "integer"}}, "required": ["name", "sign", "sign_number", "degree", "retrograde", "combust", "house"]}}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "planets": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "sign", "sign_number", "planets"]}}}, "required": ["code", "name", "ascendant", "planets", "houses"]}}, "required": ["D1", "D9"]},
                        "summary": {"type": "object", "properties": {"moon": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["sign", "sign_lord", "nakshatra", "nakshatra_lord", "pada"]}, "avakhada": {"type": "object", "properties": {"varna": {"type": "string"}, "vashya": {"type": "string"}, "yoni": {"type": "string"}, "gana": {"type": "string"}, "nadi": {"type": "string"}, "rasi_lord": {"type": "string"}, "paya": {"type": "string"}, "tatva": {"type": "string"}, "element": {"type": "string"}, "yunja": {"type": "string"}, "varga": {"type": "string"}, "hansak": {"type": "string"}, "name_syllable": {"type": "string"}}, "required": ["varna", "vashya", "yoni", "gana", "nadi", "rasi_lord", "paya", "tatva", "element", "yunja", "varga", "hansak", "name_syllable"]}, "panchang_at_birth": {"type": "object", "properties": {"tithi": {"type": "string"}, "yoga": {"type": "string"}, "karana": {"type": "string"}}, "required": ["tithi", "yoga", "karana"]}, "sun_sign": {"type": "object", "properties": {"sidereal": {"type": "string"}, "tropical": {"type": "string"}}, "required": ["sidereal", "tropical"]}}, "required": ["moon", "avakhada", "panchang_at_birth", "sun_sign"]},
                        "vimshottari": {"type": "object", "properties": {"balance_at_birth": {"type": "object", "properties": {"lord": {"type": "string"}, "years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["lord", "years", "months", "days"]}, "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "mahadasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}, "antardasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}, "pratyantardasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}, "required": ["as_of", "mahadasha", "antardasha", "pratyantardasha"]}, "mahadashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}}, "required": ["lord", "start", "end", "antardashas"]}}}, "required": ["balance_at_birth", "current", "mahadashas"]},
                        "manglik": {"type": "object", "properties": {"manglik": {"type": "boolean"}, "count": {"type": "integer"}}, "required": ["manglik", "count"]}
                      },
                      "required": [
                        "ayanamsha",
                        "ascendant",
                        "planets",
                        "charts",
                        "summary",
                        "vimshottari",
                        "manglik"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "ascendant": {"sign": "Capricorn", "sign_number": 10, "sign_lord": "Saturn", "degree": 23.8935, "degree_dms": "23-53-37", "longitude": 293.8935, "nakshatra": "Dhanishta", "nakshatra_number": 23, "nakshatra_lord": "Mars", "pada": 1},
                        "planets": [{"name": "Sun", "sign": "Libra", "sign_number": 7, "sign_lord": "Venus", "degree": 0.9951, "degree_dms": "00-59-42", "longitude": 180.9951, "nakshatra": "Chitra", "nakshatra_number": 14, "nakshatra_lord": "Mars", "pada": 3, "house": 10, "speed": 0.993145, "retrograde": false, "combust": false}, {"name": "Moon", "sign": "Virgo", "sign_number": 6, "sign_lord": "Mercury", "degree": 27.8766, "degree_dms": "27-52-36", "longitude": 177.8766, "nakshatra": "Chitra", "nakshatra_number": 14, "nakshatra_lord": "Mars", "pada": 2, "house": 9, "speed": 12.335806, "retrograde": false, "combust": true}, {"name": "Mars", "sign": "Taurus", "sign_number": 2, "sign_lord": "Venus", "degree": 20.7877, "degree_dms": "20-47-16", "longitude": 50.7877, "nakshatra": "Rohini", "nakshatra_number": 4, "nakshatra_lord": "Moon", "pada": 4, "house": 5, "speed": 0.035376, "retrograde": false, "combust": false}],
                        "charts": {"D1": {"code": "D1", "name": "Rasi", "ascendant": {"sign": "Capricorn", "sign_number": 10, "degree": 2}, "planets": [{"name": "Sun", "sign": "Libra", "sign_number": 7, "degree": 2, "retrograde": false, "combust": false, "house": 10}, {"name": "Moon", "sign": "Virgo", "sign_number": 6, "degree": 1, "retrograde": false, "combust": true, "house": 9}, {"name": "Mars", "sign": "Taurus", "sign_number": 2, "degree": 4, "retrograde": false, "combust": false, "house": 5}], "houses": [{"house": 1, "sign": "Capricorn", "sign_number": 10, "planets": ["Rahu"]}, {"house": 2, "sign": "Aquarius", "sign_number": 11, "planets": []}, {"house": 3, "sign": "Pisces", "sign_number": 12, "planets": []}]}, "D9": {"code": "D9", "name": "Navamsa", "ascendant": {"sign": "Leo", "sign_number": 5, "degree": 5.0425}, "planets": [{"name": "Sun", "sign": "Libra", "sign_number": 7, "degree": 8.955, "retrograde": false, "combust": false, "house": 3}, {"name": "Moon", "sign": "Virgo", "sign_number": 6, "degree": 10.89, "retrograde": false, "combust": true, "house": 2}, {"name": "Mars", "sign": "Cancer", "sign_number": 4, "degree": 7.09, "retrograde": false, "combust": false, "house": 12}], "houses": [{"house": 1, "sign": "Leo", "sign_number": 5, "planets": []}, {"house": 2, "sign": "Virgo", "sign_number": 6, "planets": ["Moon", "Mercury", "Venus"]}, {"house": 3, "sign": "Libra", "sign_number": 7, "planets": ["Sun"]}]}},
                        "summary": {"moon": {"sign": "Virgo", "sign_lord": "Mercury", "nakshatra": "Chitra", "nakshatra_lord": "Mars", "pada": 2}, "avakhada": {"varna": "Vaishya", "vashya": "Manava", "yoni": "Tiger", "gana": "Rakshasa", "nadi": "Madhya", "rasi_lord": "Mercury", "paya": "Silver", "tatva": "Prithvi", "element": "Earth", "yunja": "Antya", "varga": "Mouse", "hansak": "Prithvi", "name_syllable": "Po"}, "panchang_at_birth": {"tithi": "Amavasya", "yoga": "Vaidhriti", "karana": "Naga"}, "sun_sign": {"sidereal": "Libra", "tropical": "Libra"}},
                        "vimshottari": {"balance_at_birth": {"lord": "Mars", "years": 4, "months": 7, "days": 11}, "current": {"as_of": "2026-10-14", "mahadasha": {"lord": "Jupiter", "start": "2013-05-30", "end": "2029-05-30"}, "antardasha": {"lord": "Mars", "start": "2026-01-28", "end": "2027-01-04"}, "pratyantardasha": {"lord": "Venus", "start": "2026-09-23", "end": "2026-11-19"}}, "mahadashas": [{"lord": "Mars", "start": "1990-10-18", "end": "1995-05-31", "antardashas": [{"lord": "Jupiter", "start": "1990-10-18", "end": "1990-10-20"}, {"lord": "Saturn", "start": "1990-10-20", "end": "1991-11-29"}, {"lord": "Mercury", "start": "1991-11-29", "end": "1992-11-25"}]}, {"lord": "Rahu", "start": "1995-05-31", "end": "2013-05-30", "antardashas": [{"lord": "Rahu", "start": "1995-05-31", "end": "1998-02-10"}, {"lord": "Jupiter", "start": "1998-02-10", "end": "2000-07-06"}, {"lord": "Saturn", "start": "2000-07-06", "end": "2003-05-13"}]}, {"lord": "Jupiter", "start": "2013-05-30", "end": "2029-05-30", "antardashas": [{"lord": "Jupiter", "start": "2013-05-30", "end": "2015-07-18"}, {"lord": "Saturn", "start": "2015-07-18", "end": "2018-01-28"}, {"lord": "Mercury", "start": "2018-01-28", "end": "2020-05-05"}]}]},
                        "manglik": {"manglik": false, "count": 0}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/avakhada-birth-summary": {
      "post": {
        "operationId": "avakhada-birth-summary",
        "summary": "Avakhada Chakra & Birth Summary",
        "description": "Ascendant, Moon sign and nakshatra with pada, sidereal and tropical Sun sign, the Avakhada attributes (varna, yoni, gana, nadi and more), the birth tithi/yoga/karana, the sunrise panchang and sunrise/sunset times.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["sign", "sign_lord", "nakshatra", "pada"]},
                        "moon": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["sign", "sign_lord", "nakshatra", "nakshatra_lord", "pada"]},
                        "sun_sign": {"type": "object", "properties": {"sidereal": {"type": "string"}, "tropical": {"type": "string"}}, "required": ["sidereal", "tropical"]},
                        "avakhada": {"type": "object", "properties": {"varna": {"type": "string"}, "vashya": {"type": "string"}, "yoni": {"type": "string"}, "gana": {"type": "string"}, "nadi": {"type": "string"}, "rasi_lord": {"type": "string"}, "paya": {"type": "string"}, "tatva": {"type": "string"}, "element": {"type": "string"}, "yunja": {"type": "string"}, "varga": {"type": "string"}, "hansak": {"type": "string"}, "name_syllable": {"type": "string"}}, "required": ["varna", "vashya", "yoni", "gana", "nadi", "rasi_lord", "paya", "tatva", "element", "yunja", "varga", "hansak", "name_syllable"]},
                        "panchang_at_birth": {"type": "object", "properties": {"tithi": {"type": "string"}, "yoga": {"type": "string"}, "karana": {"type": "string"}}, "required": ["tithi", "yoga", "karana"]},
                        "panchang_at_sunrise": {"type": "object", "properties": {"tithi": {"type": "string"}, "paksha": {"type": "string"}, "nakshatra": {"type": "string"}, "yoga": {"type": "string"}, "karana": {"type": "string"}, "limb_end_times": {"type": "object", "properties": {"tithi": {"type": "string"}, "nakshatra": {"type": "string"}, "yoga": {"type": "string"}, "karana": {"type": "string"}}, "required": ["tithi", "nakshatra", "yoga", "karana"]}}, "required": ["tithi", "paksha", "nakshatra", "yoga", "karana", "limb_end_times"]},
                        "sunrise": {"type": "string"},
                        "sunset": {"type": "string"}
                      },
                      "required": [
                        "ayanamsha",
                        "ascendant",
                        "moon",
                        "sun_sign",
                        "avakhada",
                        "panchang_at_birth",
                        "panchang_at_sunrise",
                        "sunrise",
                        "sunset"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "ascendant": {"sign": "Capricorn", "sign_lord": "Saturn", "nakshatra": "Dhanishta", "pada": 1},
                        "moon": {"sign": "Virgo", "sign_lord": "Mercury", "nakshatra": "Chitra", "nakshatra_lord": "Mars", "pada": 2},
                        "sun_sign": {"sidereal": "Libra", "tropical": "Libra"},
                        "avakhada": {"varna": "Vaishya", "vashya": "Manava", "yoni": "Tiger", "gana": "Rakshasa", "nadi": "Madhya", "rasi_lord": "Mercury", "paya": "Silver", "tatva": "Prithvi", "element": "Earth", "yunja": "Antya", "varga": "Mouse", "hansak": "Prithvi", "name_syllable": "Po"},
                        "panchang_at_birth": {"tithi": "Amavasya", "yoga": "Vaidhriti", "karana": "Naga"},
                        "panchang_at_sunrise": {"tithi": "Amavasya", "paksha": "Krishna", "nakshatra": "Chitra", "yoga": "Vaidhriti", "karana": "Chatushpada", "limb_end_times": {"tithi": "21:06", "nakshatra": "07:40", "yoga": "16:31", "karana": "21:06"}},
                        "sunrise": "06:23:52",
                        "sunset": "17:49:12"
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/planet-positions": {
      "post": {
        "operationId": "planet-positions",
        "summary": "Planet Positions",
        "description": "Sidereal longitude, sign and sign lord, nakshatra, nakshatra lord and pada, house, speed, retrograde and combust flags for the Ascendant, the nine grahas and Uranus, Neptune and Pluto.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "node": {"type": "string"},
                        "house_system": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["sign", "sign_number", "sign_lord", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_number", "nakshatra_lord", "pada"]},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}, "house": {"type": "integer"}, "speed": {"type": "number"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}}, "required": ["name", "sign", "sign_number", "sign_lord", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_number", "nakshatra_lord", "pada", "house", "speed", "retrograde", "combust"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "node",
                        "house_system",
                        "ascendant",
                        "planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "node": "true",
                        "house_system": "whole_sign",
                        "ascendant": {"sign": "Capricorn", "sign_number": 10, "sign_lord": "Saturn", "degree": 23.8935, "degree_dms": "23-53-37", "longitude": 293.8935, "nakshatra": "Dhanishta", "nakshatra_number": 23, "nakshatra_lord": "Mars", "pada": 1},
                        "planets": [{"name": "Sun", "sign": "Libra", "sign_number": 7, "sign_lord": "Venus", "degree": 0.9951, "degree_dms": "00-59-42", "longitude": 180.9951, "nakshatra": "Chitra", "nakshatra_number": 14, "nakshatra_lord": "Mars", "pada": 3, "house": 10, "speed": 0.993145, "retrograde": false, "combust": false}, {"name": "Moon", "sign": "Virgo", "sign_number": 6, "sign_lord": "Mercury", "degree": 27.8766, "degree_dms": "27-52-36", "longitude": 177.8766, "nakshatra": "Chitra", "nakshatra_number": 14, "nakshatra_lord": "Mars", "pada": 2, "house": 9, "speed": 12.335806, "retrograde": false, "combust": true}, {"name": "Mars", "sign": "Taurus", "sign_number": 2, "sign_lord": "Venus", "degree": 20.7877, "degree_dms": "20-47-16", "longitude": 50.7877, "nakshatra": "Rohini", "nakshatra_number": 4, "nakshatra_lord": "Moon", "pada": 4, "house": 5, "speed": 0.035376, "retrograde": false, "combust": false}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/divisional-charts": {
      "post": {
        "operationId": "divisional-charts",
        "summary": "Divisional Charts (D1-D300)",
        "description": "Up to 23 divisional (varga) charts, D1 to D300: each with its ascendant, planet placements and twelve houses with sign and occupants. Pick charts with `charts`; images: use chart-image-styles.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DivisionalInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "charts": [
                  "D9",
                  "D10"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "node": {"type": "string"},
                        "charts": {"type": "array", "items": {"type": "object", "properties": {"code": {"type": "string"}, "name": {"type": "string"}, "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "degree": {"type": "number"}}, "required": ["sign", "sign_number", "degree"]}, "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "degree": {"type": "number"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}, "house": {"type": "integer"}}, "required": ["name", "sign", "sign_number", "degree", "retrograde", "combust", "house"]}}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "planets": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "sign", "sign_number", "planets"]}}}, "required": ["code", "name", "ascendant", "planets", "houses"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "node",
                        "charts"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "node": "true",
                        "charts": [{"code": "D9", "name": "Navamsa", "ascendant": {"sign": "Leo", "sign_number": 5, "degree": 5.0425}, "planets": [{"name": "Sun", "sign": "Libra", "sign_number": 7, "degree": 8.955, "retrograde": false, "combust": false, "house": 3}, {"name": "Moon", "sign": "Virgo", "sign_number": 6, "degree": 10.89, "retrograde": false, "combust": true, "house": 2}, {"name": "Mars", "sign": "Cancer", "sign_number": 4, "degree": 7.09, "retrograde": false, "combust": false, "house": 12}], "houses": [{"house": 1, "sign": "Leo", "sign_number": 5, "planets": []}, {"house": 2, "sign": "Virgo", "sign_number": 6, "planets": ["Moon", "Mercury", "Venus"]}, {"house": 3, "sign": "Libra", "sign_number": 7, "planets": ["Sun"]}]}, {"code": "D10", "name": "Dasamsa", "ascendant": {"sign": "Aries", "sign_number": 1, "degree": 23}, "planets": [{"name": "Sun", "sign": "Libra", "sign_number": 7, "degree": 0, "retrograde": false, "combust": false, "house": 7}, {"name": "Moon", "sign": "Aquarius", "sign_number": 11, "degree": 27, "retrograde": false, "combust": true, "house": 11}, {"name": "Mars", "sign": "Cancer", "sign_number": 4, "degree": 20, "retrograde": false, "combust": false, "house": 4}], "houses": [{"house": 1, "sign": "Aries", "sign_number": 1, "planets": ["Uranus"]}, {"house": 2, "sign": "Taurus", "sign_number": 2, "planets": ["Pluto"]}, {"house": 3, "sign": "Gemini", "sign_number": 3, "planets": ["Ketu", "Neptune"]}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/special-lagna-charts": {
      "post": {
        "operationId": "special-lagna-charts",
        "summary": "Special Lagna Charts",
        "description": "Charts cast from the special lagnas (Hora, Ghati, Bhava, Indu, Sree, Pranapada, Varnada): each lagna's own sign and degree, the planets' houses from it and the twelve houses.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "charts": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "lagna": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "degree": {"type": "number"}}, "required": ["sign", "sign_number", "degree"]}, "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "house": {"type": "integer"}}, "required": ["name", "sign", "degree", "house"]}}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "planets": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "sign", "sign_number", "planets"]}}}, "required": ["id", "name", "lagna", "planets", "houses"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "charts"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "charts": [{"id": "hora_lagna", "name": "Hora Lagna", "lagna": {"sign": "Gemini", "sign_number": 3, "degree": 4.06}, "planets": [{"name": "Sun", "sign": "Libra", "degree": 0.9951, "house": 5}, {"name": "Moon", "sign": "Virgo", "degree": 27.8766, "house": 4}, {"name": "Mars", "sign": "Taurus", "degree": 20.7877, "house": 12}], "houses": [{"house": 1, "sign": "Gemini", "sign_number": 3, "planets": []}, {"house": 2, "sign": "Cancer", "sign_number": 4, "planets": ["Jupiter", "Ketu"]}, {"house": 3, "sign": "Leo", "sign_number": 5, "planets": []}]}, {"id": "ghati_lagna", "name": "Ghati Lagna", "lagna": {"sign": "Gemini", "sign_number": 3, "degree": 8.66}, "planets": [{"name": "Sun", "sign": "Libra", "degree": 0.9951, "house": 5}, {"name": "Moon", "sign": "Virgo", "degree": 27.8766, "house": 4}, {"name": "Mars", "sign": "Taurus", "degree": 20.7877, "house": 12}], "houses": [{"house": 1, "sign": "Gemini", "sign_number": 3, "planets": []}, {"house": 2, "sign": "Cancer", "sign_number": 4, "planets": ["Jupiter", "Ketu"]}, {"house": 3, "sign": "Leo", "sign_number": 5, "planets": []}]}, {"id": "bhava_lagna", "name": "Bhava Lagna", "lagna": {"sign": "Aquarius", "sign_number": 11, "degree": 2.53}, "planets": [{"name": "Sun", "sign": "Libra", "degree": 0.9951, "house": 9}, {"name": "Moon", "sign": "Virgo", "degree": 27.8766, "house": 8}, {"name": "Mars", "sign": "Taurus", "degree": 20.7877, "house": 4}], "houses": [{"house": 1, "sign": "Aquarius", "sign_number": 11, "planets": []}, {"house": 2, "sign": "Pisces", "sign_number": 12, "planets": []}, {"house": 3, "sign": "Aries", "sign_number": 1, "planets": []}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/bhav-chalit": {
      "post": {
        "operationId": "bhav-chalit",
        "summary": "Bhav Chalit Chart & Bhava Table",
        "description": "Bhava (house) table with start, middle and end of each house, the planets in each bhava, and every planet's sign house next to its bhava house.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "house_system": {"type": "string"},
                        "bhavas": {"type": "array", "items": {"type": "object", "properties": {"bhava": {"type": "integer"}, "start": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}}, "required": ["longitude", "sign", "degree"]}, "middle": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}}, "required": ["longitude", "sign", "degree"]}, "end": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}}, "required": ["longitude", "sign", "degree"]}, "planets": {"type": "array"}}, "required": ["bhava", "start", "middle", "end", "planets"]}},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "rasi_house": {"type": "integer"}, "bhava": {"type": "integer"}}, "required": ["name", "sign", "rasi_house", "bhava"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "house_system",
                        "bhavas",
                        "planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "house_system": "sripati",
                        "bhavas": [{"bhava": 1, "start": {"longitude": 281.11, "sign": "Capricorn", "degree": 11.11}, "middle": {"longitude": 293.89, "sign": "Capricorn", "degree": 23.89}, "end": {"longitude": 311.11, "sign": "Aquarius", "degree": 11.11}, "planets": []}, {"bhava": 2, "start": {"longitude": 311.11, "sign": "Aquarius", "degree": 11.11}, "middle": {"longitude": 328.33, "sign": "Aquarius", "degree": 28.33}, "end": {"longitude": 345.55, "sign": "Pisces", "degree": 15.55}, "planets": []}, {"bhava": 3, "start": {"longitude": 345.55, "sign": "Pisces", "degree": 15.55}, "middle": {"longitude": 2.77, "sign": "Aries", "degree": 2.77}, "end": {"longitude": 19.99, "sign": "Aries", "degree": 19.99}, "planets": []}],
                        "planets": [{"name": "Sun", "sign": "Libra", "rasi_house": 10, "bhava": 9}, {"name": "Moon", "sign": "Virgo", "rasi_house": 9, "bhava": 9}, {"name": "Mars", "sign": "Taurus", "rasi_house": 5, "bhava": 5}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/chandra-kundali": {
      "post": {
        "operationId": "chandra-kundali",
        "summary": "Chandra Kundali (Moon Chart)",
        "description": "The chart re-read with the Moon's sign as the first house: the Ascendant's and each planet's house from the Moon, and the twelve houses with their occupants.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "moon_sign": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "house": {"type": "integer"}}, "required": ["sign", "degree", "house"]},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "house": {"type": "integer"}}, "required": ["name", "sign", "degree", "house"]}},
                        "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "planets": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "sign", "sign_number", "planets"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "moon_sign",
                        "ascendant",
                        "planets",
                        "houses"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "moon_sign": "Virgo",
                        "ascendant": {"sign": "Capricorn", "degree": 23.8935, "house": 5},
                        "planets": [{"name": "Sun", "sign": "Libra", "degree": 0.9951, "house": 2}, {"name": "Moon", "sign": "Virgo", "degree": 27.8766, "house": 1}, {"name": "Mars", "sign": "Taurus", "degree": 20.7877, "house": 9}],
                        "houses": [{"house": 1, "sign": "Virgo", "sign_number": 6, "planets": ["Moon", "Mercury", "Venus"]}, {"house": 2, "sign": "Libra", "sign_number": 7, "planets": ["Sun", "Pluto"]}, {"house": 3, "sign": "Scorpio", "sign_number": 8, "planets": []}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/chakra-charts": {
      "post": {
        "operationId": "chakra-charts",
        "summary": "Chakra Charts",
        "description": "Kalachakra, Kota, Sudarshan and Shoola chakras as SVG drawings built from the birth positions, with the point positions (longitude, nakshatra, pada) used to draw them.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "charts": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "title": {"type": "string"}, "svg": {"type": "string"}}, "required": ["id", "title", "svg"]}},
                        "points": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "retrograde": {"type": "boolean"}}, "required": ["name", "longitude", "nakshatra", "pada", "retrograde"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "charts",
                        "points"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "charts": [{"id": "kalachakra", "title": "Kalachakra", "svg": "<SVG document, 14240 characters; omitted from this example>"}, {"id": "kota", "title": "Kota Chakra", "svg": "<SVG document, 11430 characters; omitted from this example>"}, {"id": "sudarshan", "title": "Sudarshan Chakra", "svg": "<SVG document, 25786 characters; omitted from this example>"}],
                        "points": [{"name": "Ascendant", "longitude": 293.8936, "nakshatra": "Dhanishta", "pada": 1, "retrograde": false}, {"name": "Sun", "longitude": 180.995, "nakshatra": "Chitra", "pada": 3, "retrograde": false}, {"name": "Moon", "longitude": 177.8767, "nakshatra": "Chitra", "pada": 2, "retrograde": false}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/upagrahas-sphutas": {
      "post": {
        "operationId": "upagrahas-sphutas",
        "summary": "Upagrahas, Special Lagnas & Sphutas",
        "description": "Positions of the Gulika group, the Sun-based upagrahas (Dhooma and others), special lagnas, the sphutas (Prana, Deha, Mrityu and others) and the MC and IC, plus the chara karakas.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "chara_karakas": {"type": "object", "properties": {"darakaraka": {"type": "string"}, "amatyakaraka": {"type": "string"}, "bhratrikaraka": {"type": "string"}, "putrakaraka": {"type": "string"}, "pitrikaraka": {"type": "string"}, "atmakaraka": {"type": "string"}, "gnatikaraka": {"type": "string"}, "matrikaraka": {"type": "string"}}, "required": ["darakaraka", "amatyakaraka", "bhratrikaraka", "putrakaraka", "pitrikaraka", "atmakaraka", "gnatikaraka", "matrikaraka"]},
                        "gulikadi": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["name", "sign", "degree", "longitude", "nakshatra", "pada"]}},
                        "sun_based": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["name", "sign", "degree", "longitude", "nakshatra", "pada"]}},
                        "special_lagnas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["name", "sign", "degree", "longitude", "nakshatra", "pada"]}},
                        "sphutas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["name", "sign", "degree", "longitude", "nakshatra", "pada"]}},
                        "angles": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["name", "sign", "degree", "longitude", "nakshatra", "pada"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "chara_karakas",
                        "gulikadi",
                        "sun_based",
                        "special_lagnas",
                        "sphutas",
                        "angles"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "chara_karakas": {"darakaraka": "Sun", "amatyakaraka": "Moon", "bhratrikaraka": "Mars", "putrakaraka": "Mercury", "pitrikaraka": "Jupiter", "atmakaraka": "Venus", "gnatikaraka": "Saturn", "matrikaraka": "Rahu"},
                        "gulikadi": [{"name": "Gulika", "sign": "Scorpio", "degree": 6.7111, "longitude": 216.7111, "nakshatra": "Anuradha", "pada": 2}, {"name": "Maandi", "sign": "Scorpio", "degree": 18.9788, "longitude": 228.9788, "nakshatra": "Jyeshtha", "pada": 1}, {"name": "Kaala", "sign": "Scorpio", "degree": 25.2197, "longitude": 235.2197, "nakshatra": "Jyeshtha", "pada": 3}],
                        "sun_based": [{"name": "Dhooma", "sign": "Aquarius", "degree": 14.3283, "longitude": 314.3283, "nakshatra": "Shatabhisha", "pada": 3}, {"name": "Vyatipata", "sign": "Taurus", "degree": 15.6717, "longitude": 45.6717, "nakshatra": "Rohini", "pada": 2}, {"name": "Parivesha", "sign": "Scorpio", "degree": 15.6717, "longitude": 225.6717, "nakshatra": "Anuradha", "pada": 4}],
                        "special_lagnas": [{"name": "Bhava Lagna", "sign": "Aquarius", "degree": 2.5283, "longitude": 302.5283, "nakshatra": "Dhanishta", "pada": 3}, {"name": "Hora Lagna", "sign": "Gemini", "degree": 4.0617, "longitude": 64.0617, "nakshatra": "Mrigashira", "pada": 4}, {"name": "Ghati Lagna", "sign": "Gemini", "degree": 8.6617, "longitude": 68.6617, "nakshatra": "Ardra", "pada": 1}],
                        "sphutas": [{"name": "Prana Sphuta", "sign": "Capricorn", "degree": 22.7653, "longitude": 292.7653, "nakshatra": "Shravana", "pada": 4}, {"name": "Deha Sphuta", "sign": "Pisces", "degree": 28.8717, "longitude": 358.8717, "nakshatra": "Revati", "pada": 4}, {"name": "Mrityu Sphuta", "sign": "Capricorn", "degree": 8.81, "longitude": 278.81, "nakshatra": "Uttara Ashadha", "pada": 4}],
                        "angles": [{"name": "Midheaven (MC)", "sign": "Scorpio", "degree": 7.2129, "longitude": 217.2129, "nakshatra": "Anuradha", "pada": 2}, {"name": "Imum Coeli (IC)", "sign": "Taurus", "degree": 7.2129, "longitude": 37.2129, "nakshatra": "Krittika", "pada": 4}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/drekkana-22nd": {
      "post": {
        "operationId": "drekkana-22nd",
        "summary": "Drekkana & 22nd Drekkana",
        "description": "The D3 sign and lord of the Ascendant and the Moon, and the 22nd drekkana from each.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "drekkana": {"type": "object", "properties": {"number": {"type": "integer"}, "sign": {"type": "string"}, "lord": {"type": "string"}}, "required": ["number", "sign", "lord"]}, "twenty_second_drekkana": {"type": "object", "properties": {"sign": {"type": "string"}, "lord": {"type": "string"}}, "required": ["sign", "lord"]}}, "required": ["sign", "degree", "drekkana", "twenty_second_drekkana"]},
                        "moon": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "drekkana": {"type": "object", "properties": {"number": {"type": "integer"}, "sign": {"type": "string"}, "lord": {"type": "string"}}, "required": ["number", "sign", "lord"]}, "twenty_second_drekkana": {"type": "object", "properties": {"sign": {"type": "string"}, "lord": {"type": "string"}}, "required": ["sign", "lord"]}}, "required": ["sign", "degree", "drekkana", "twenty_second_drekkana"]}
                      },
                      "required": [
                        "ayanamsha",
                        "ascendant",
                        "moon"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "ascendant": {"sign": "Capricorn", "degree": 23.8935, "drekkana": {"number": 3, "sign": "Virgo", "lord": "Mercury"}, "twenty_second_drekkana": {"sign": "Aries", "lord": "Mars"}},
                        "moon": {"sign": "Virgo", "degree": 27.8767, "drekkana": {"number": 3, "sign": "Taurus", "lord": "Venus"}, "twenty_second_drekkana": {"sign": "Sagittarius", "lord": "Jupiter"}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/strengths/varga-tables": {
      "post": {
        "operationId": "varga-tables",
        "summary": "Varga, Dignity & Deity Tables",
        "description": "Varga tables: each planet's sign in every division, its dignity in each division, the vaiseshikamsa counts and the varga deity of each body.",
        "tags": [
          "strengths"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "signs": {"type": "array", "items": {"type": "object", "properties": {"division": {"type": "string"}, "name": {"type": "string"}, "planets": {"type": "object", "properties": {"Sun": {"type": "string"}, "Moon": {"type": "string"}, "Mars": {"type": "string"}, "Mercury": {"type": "string"}, "Jupiter": {"type": "string"}, "Venus": {"type": "string"}, "Saturn": {"type": "string"}, "Rahu": {"type": "string"}, "Ketu": {"type": "string"}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]}}, "required": ["division", "name", "planets"]}},
                        "dignities": {"type": "array", "items": {"type": "object", "properties": {"division": {"type": "string"}, "name": {"type": "string"}, "planets": {"type": "object", "properties": {"Sun": {"type": "string"}, "Moon": {"type": "string"}, "Mars": {"type": "string"}, "Mercury": {"type": "string"}, "Jupiter": {"type": "string"}, "Venus": {"type": "string"}, "Saturn": {"type": "string"}, "Rahu": {"type": "string"}, "Ketu": {"type": "string"}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]}}, "required": ["division", "name", "planets"]}},
                        "vaiseshikamsa": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "shad": {"type": "string"}, "sapta": {"type": "string"}, "dasa": {"type": "string"}, "shodasa": {"type": "string"}}, "required": ["planet", "shad", "sapta", "dasa", "shodasa"]}},
                        "varga_deities": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "D1": {"type": "string"}, "D2": {"type": "string"}, "D3": {"type": "string"}, "D4": {"type": "string"}, "D7": {"type": "string"}, "D9": {"type": "string"}, "D10": {"type": "string"}, "D12": {"type": "string"}}, "required": ["planet", "D1", "D2", "D3", "D4", "D7", "D9", "D10", "D12"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "signs",
                        "dignities",
                        "vaiseshikamsa",
                        "varga_deities"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "signs": [{"division": "D1", "name": "Janma", "planets": {"Sun": "Libra", "Moon": "Virgo", "Mars": "Taurus", "Mercury": "Virgo", "Jupiter": "Cancer", "Venus": "Virgo", "Saturn": "Sagittarius", "Rahu": "Capricorn", "Ketu": "Cancer"}}, {"division": "D2", "name": "Hora", "planets": {"Sun": "Leo", "Moon": "Leo", "Mars": "Leo", "Mercury": "Leo", "Jupiter": "Leo", "Venus": "Leo", "Saturn": "Cancer", "Rahu": "Cancer", "Ketu": "Cancer"}}, {"division": "D3", "name": "Drekkana", "planets": {"Sun": "Libra", "Moon": "Taurus", "Mars": "Capricorn", "Mercury": "Taurus", "Jupiter": "Scorpio", "Venus": "Taurus", "Saturn": "Leo", "Rahu": "Capricorn", "Ketu": "Cancer"}}],
                        "dignities": [{"division": "D1", "name": "Janma", "planets": {"Sun": "Debilitat.", "Moon": "Neutral", "Mars": "Enemy", "Mercury": "Exalted", "Jupiter": "Exalted", "Venus": "Debilitat.", "Saturn": "Enemy", "Rahu": "Grt. Friend", "Ketu": "Grt. Enemy"}}, {"division": "D2", "name": "Hora", "planets": {"Sun": "Moolatrik.", "Moon": "Grt. Friend", "Mars": "Neutral", "Mercury": "Grt. Friend", "Jupiter": "Grt. Friend", "Venus": "Neutral", "Saturn": "Neutral", "Rahu": "Grt. Enemy", "Ketu": "Grt. Enemy"}}, {"division": "D3", "name": "Drekkana", "planets": {"Sun": "Debilitat.", "Moon": "Exalted", "Mars": "Exalted", "Mercury": "Neutral", "Jupiter": "Grt. Friend", "Venus": "Own", "Saturn": "Neutral", "Rahu": "Grt. Friend", "Ketu": "Grt. Enemy"}}],
                        "vaiseshikamsa": [{"planet": "Sun", "shad": "2-Kimshuka", "sapta": "2-Kimshuka", "dasa": "3-Uttama", "shodasa": "5-Kanduka"}, {"planet": "Moon", "shad": "", "sapta": "", "dasa": "", "shodasa": "3-Kusuma"}, {"planet": "Mars", "shad": "3-Vyanjana", "sapta": "3-Vyanjana", "dasa": "3-Uttama", "shodasa": "8-ChandanaVana"}],
                        "varga_deities": [{"planet": "ASC", "D1": "Vasu", "D2": "Deva", "D3": "Durvasa", "D4": "Sanatana", "D7": "Ksira", "D9": "Manushya", "D10": "Yama", "D12": "Ashwini Kumara"}, {"planet": "Sun", "D1": "Tvashta", "D2": "Deva", "D3": "Narada", "D4": "Sanaka", "D7": "Ksara", "D9": "Deva", "D10": "Indra", "D12": "Ganesha"}, {"planet": "Moon", "D1": "Tvashta", "D2": "Deva", "D3": "Durvasa", "D4": "Sanatana", "D7": "Ksara", "D9": "Rakshasa", "D10": "Indra", "D12": "Sarpa"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/chart-image-styles": {
      "post": {
        "operationId": "chart-image-styles",
        "summary": "Chart Image Styles",
        "description": "Chart drawings as SVG in one style per call (north, south, east or western) for the charts you name (D1 to D300, chalit, chandra_kundali, kp, karakamsha, swamsha).",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ImageInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "style": "south",
                "charts": [
                  "D1",
                  "D9"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "images": {"type": "array", "items": {"type": "object", "properties": {"chart": {"type": "string"}, "style": {"type": "string"}, "format": {"type": "string"}, "svg": {"type": "string"}}, "required": ["chart", "style", "format", "svg"]}}
                      },
                      "required": [
                        "images"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "images": [{"chart": "D1", "style": "south", "format": "svg", "svg": "<SVG document, 10548 characters; omitted from this example>"}, {"chart": "D9", "style": "south", "format": "svg", "svg": "<SVG document, 10418 characters; omitted from this example>"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/strengths/ashtakavarga-bundle": {
      "post": {
        "operationId": "ashtakavarga-bundle",
        "summary": "Ashtakavarga (in bundle)",
        "description": "Bhinnashtakavarga per planet with contributors, Sarvashtakavarga by sign, trikona and ekadhipatya reductions with pindas, and Ayus figures for the birth chart.",
        "tags": [
          "strengths"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "school": {"type": "string"},
                        "sign_order": {"type": "array", "items": {"type": "string"}},
                        "bhinnashtakavarga": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Moon": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Mars": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Mercury": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Jupiter": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Venus": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Saturn": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Lagna": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Lagna"]},
                        "sarvashtakavarga": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}}, "required": ["by_sign", "total"]},
                        "reductions": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Moon": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Mars": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Mercury": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Jupiter": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Venus": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Saturn": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Lagna": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Lagna"]},
                        "ayus": {"type": "object", "properties": {"school": {"type": "string"}, "nakshatra_ayus": {"type": "object", "properties": {"shodhya_sav": {"type": "integer"}, "ayus_units": {"type": "number"}, "years": {"type": "number"}, "sav_before": {"type": "array", "items": {"type": "integer"}}, "sav_trikona": {"type": "array", "items": {"type": "integer"}}, "sav_ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}}, "required": ["shodhya_sav", "ayus_units", "years", "sav_before", "sav_trikona", "sav_ekadhipatya", "rashi_pinda", "graha_pinda"]}, "mandal_ayu": {"type": "object", "properties": {"triggers_found": {"type": "array", "items": {"type": "string"}}, "applicable": {"type": "boolean"}, "breakdown": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array", "items": {"type": "string"}}, "haran_tier": {"type": "string"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Moon": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array", "items": {"type": "string"}}, "haran_tier": {"type": "string"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Mars": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array"}, "haran_tier": {"type": "null"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Mercury": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array", "items": {"type": "string"}}, "haran_tier": {"type": "string"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Jupiter": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array"}, "haran_tier": {"type": "null"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Venus": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array", "items": {"type": "string"}}, "haran_tier": {"type": "string"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Saturn": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array"}, "haran_tier": {"type": "null"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]}, "total": {"type": "number"}, "years": {"type": "number"}}, "required": ["triggers_found", "applicable", "breakdown", "total", "years"]}, "chakrapata_applied": {"type": "boolean"}, "eclipse_checked": {"type": "boolean"}}, "required": ["school", "nakshatra_ayus", "mandal_ayu", "chakrapata_applied", "eclipse_checked"]}
                      },
                      "required": [
                        "ayanamsha",
                        "school",
                        "sign_order",
                        "bhinnashtakavarga",
                        "sarvashtakavarga",
                        "reductions",
                        "ayus"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "school": "BPHS",
                        "sign_order": ["Aries", "Taurus", "Gemini"],
                        "bhinnashtakavarga": {"Sun": {"by_sign": [2, 4, 6], "total": 48, "contributors": {"Saturn": [0, 0, 1], "Jupiter": [0, 1, 0], "Mars": [0, 1, 1], "Sun": [1, 1, 1], "Venus": [0, 0, 0], "Mercury": [0, 1, 1], "Moon": [0, 0, 1], "Lagna": [1, 0, 1]}}, "Moon": {"by_sign": [4, 4, 6], "total": 49, "contributors": {"Saturn": [1, 1, 0], "Jupiter": [1, 1, 1], "Mars": [0, 0, 1], "Sun": [1, 1, 0], "Venus": [0, 1, 1], "Mercury": [1, 0, 1], "Moon": [0, 0, 1], "Lagna": [0, 0, 1]}}, "Mars": {"by_sign": [2, 2, 4], "total": 39, "contributors": {"Saturn": [0, 0, 1], "Jupiter": [1, 1, 1], "Mars": [0, 1, 1], "Sun": [0, 0, 0], "Venus": [1, 0, 0], "Mercury": [0, 0, 0], "Moon": [0, 0, 0], "Lagna": [0, 0, 1]}}, "Mercury": {"by_sign": [3, 4, 7], "total": 54, "contributors": {"Saturn": [0, 0, 1], "Jupiter": [0, 1, 1], "Mars": [0, 1, 1], "Sun": [0, 0, 1], "Venus": [1, 1, 0], "Mercury": [0, 1, 1], "Moon": [1, 0, 1], "Lagna": [1, 0, 1]}}, "Jupiter": {"by_sign": [4, 8, 5], "total": 56, "contributors": {"Saturn": [1, 1, 0], "Jupiter": [1, 1, 0], "Mars": [0, 1, 1], "Sun": [1, 1, 1], "Venus": [0, 1, 1], "Mercury": [0, 1, 1], "Moon": [0, 1, 0], "Lagna": [1, 1, 1]}}, "Venus": {"by_sign": [6, 6, 1], "total": 52, "contributors": {"Saturn": [1, 0, 0], "Jupiter": [1, 1, 0], "Mars": [1, 0, 0], "Sun": [0, 1, 0], "Venus": [1, 1, 1], "Mercury": [0, 1, 0], "Moon": [1, 1, 0], "Lagna": [1, 1, 0]}}, "Saturn": {"by_sign": [5, 4, 3], "total": 39, "contributors": {"Saturn": [1, 1, 0], "Jupiter": [0, 1, 1], "Mars": [1, 0, 0], "Sun": [1, 1, 0], "Venus": [0, 0, 0], "Mercury": [1, 1, 1], "Moon": [0, 0, 0], "Lagna": [1, 0, 1]}}, "Lagna": {"by_sign": [3, 4, 3], "total": 49, "contributors": {"Saturn": [0, 1, 0], "Jupiter": [1, 1, 0], "Mars": [0, 1, 0], "Sun": [0, 0, 0], "Venus": [1, 1, 0], "Mercury": [1, 0, 1], "Moon": [0, 0, 1], "Lagna": [0, 0, 1]}}},
                        "sarvashtakavarga": {"by_sign": [26, 32, 32], "total": 337},
                        "reductions": {"Sun": {"before": [2, 4, 6], "trikona": [0, 3, 3], "ekadhipatya": [0, 3, 3], "rashi_pinda": 134, "graha_pinda": 34, "sodhya_pinda": 168}, "Moon": {"before": [4, 4, 6], "trikona": [3, 1, 2], "ekadhipatya": [3, 1, 2], "rashi_pinda": 78, "graha_pinda": 38, "sodhya_pinda": 116}, "Mars": {"before": [2, 2, 4], "trikona": [0, 1, 2], "ekadhipatya": [0, 1, 2], "rashi_pinda": 84, "graha_pinda": 28, "sodhya_pinda": 112}, "Mercury": {"before": [3, 4, 7], "trikona": [0, 0, 3], "ekadhipatya": [0, 0, 3], "rashi_pinda": 90, "graha_pinda": 20, "sodhya_pinda": 110}, "Jupiter": {"before": [4, 8, 5], "trikona": [1, 5, 0], "ekadhipatya": [1, 5, 0], "rashi_pinda": 104, "graha_pinda": 85, "sodhya_pinda": 189}, "Venus": {"before": [6, 6, 1], "trikona": [4, 1, 0], "ekadhipatya": [1, 1, 0], "rashi_pinda": 108, "graha_pinda": 50, "sodhya_pinda": 158}, "Saturn": {"before": [5, 4, 3], "trikona": [4, 3, 0], "ekadhipatya": [2, 3, 0], "rashi_pinda": 115, "graha_pinda": 59, "sodhya_pinda": 174}, "Lagna": {"before": [3, 4, 3], "trikona": [0, 1, 0], "ekadhipatya": [0, 1, 0], "rashi_pinda": 69, "graha_pinda": 60, "sodhya_pinda": 129}},
                        "ayus": {"school": "BPHS", "nakshatra_ayus": {"shodhya_sav": 602, "ayus_units": 156.07, "years": 138.45, "sav_before": [26, 32, 32], "sav_trikona": [4, 13, 5], "sav_ekadhipatya": [4, 13, 5], "rashi_pinda": 408, "graha_pinda": 194}, "mandal_ayu": {"triggers_found": ["Moon not in kendra and conjoined with another planet"], "applicable": true, "breakdown": {"Sun": {"shodhya": 168, "gross": 16.56, "haran_multiplier": 0.5, "haran_tags": ["debilitated"], "haran_tier": "A", "reduced": 8.28}, "Moon": {"shodhya": 116, "gross": 3.07, "haran_multiplier": 0.5, "haran_tags": ["multi-in-sign"], "haran_tier": "A", "reduced": 1.54}, "Mars": {"shodhya": 112, "gross": 2.04, "haran_multiplier": 1.0, "haran_tags": [], "haran_tier": null, "reduced": 2.04}, "Mercury": {"shodhya": 110, "gross": 1.52, "haran_multiplier": 0.5, "haran_tags": ["multi-in-sign"], "haran_tier": "A", "reduced": 0.76}, "Jupiter": {"shodhya": 189, "gross": 22.0, "haran_multiplier": 1.0, "haran_tags": [], "haran_tier": null, "reduced": 22.0}, "Venus": {"shodhya": 158, "gross": 13.96, "haran_multiplier": 0.5, "haran_tags": ["multi-in-sign", "debilitated"], "haran_tier": "A", "reduced": 6.98}, "Saturn": {"shodhya": 174, "gross": 18.11, "haran_multiplier": 1.0, "haran_tags": [], "haran_tier": null, "reduced": 18.11}}, "total": 59.7, "years": 58.85}, "chakrapata_applied": false, "eclipse_checked": false}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/strengths/shadbala": {
      "post": {
        "operationId": "shadbala",
        "summary": "Shadbala",
        "description": "Six-fold strength (Shadbala) for the seven grahas: sthana, dig, kala, chesta, naisargika and drig components, total in virupas and rupas against the minimum, rank, and ishta/kashta phala.",
        "tags": [
          "strengths"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "unit": {"type": "string"},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "total_virupas": {"type": "number"}, "rupas": {"type": "number"}, "minimum_rupas": {"type": "number"}, "ratio": {"type": "number"}, "rank": {"type": "integer"}, "sthana": {"type": "object", "properties": {"uccha": {"type": "number"}, "saptavargaja": {"type": "number"}, "oja_yugma": {"type": "number"}, "kendra": {"type": "number"}, "drekkana": {"type": "number"}, "total": {"type": "number"}}, "required": ["uccha", "saptavargaja", "oja_yugma", "kendra", "drekkana", "total"]}, "dig": {"type": "number"}, "kala": {"type": "object", "properties": {"nathonnatha": {"type": "number"}, "paksha": {"type": "number"}, "tribhaga": {"type": "number"}, "abda": {"type": "number"}, "masa": {"type": "number"}, "vara": {"type": "number"}, "hora": {"type": "number"}, "ayana": {"type": "number"}, "yuddha": {"type": "number"}, "total": {"type": "number"}}, "required": ["nathonnatha", "paksha", "tribhaga", "abda", "masa", "vara", "hora", "ayana", "yuddha", "total"]}, "chesta": {"type": "number"}, "naisargika": {"type": "number"}, "drig": {"type": "number"}, "ishta_phala": {"type": "number"}, "kashta_phala": {"type": "number"}}, "required": ["planet", "total_virupas", "rupas", "minimum_rupas", "ratio", "rank", "sthana", "dig", "kala", "chesta", "naisargika", "drig", "ishta_phala", "kashta_phala"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "unit",
                        "planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "unit": "virupas",
                        "planets": [{"planet": "Sun", "total_virupas": 501.06, "rupas": 8.35, "minimum_rupas": 5.0, "ratio": 1.67, "rank": 1, "sthana": {"uccha": 3.0, "saptavargaja": 75.0, "oja_yugma": 30.0, "kendra": 60.0, "drekkana": 15.0, "total": 183.0}, "dig": 52.37, "kala": {"nathonnatha": 49.33, "paksha": 58.96, "tribhaga": 0.0, "abda": 0.0, "masa": 30.0, "vara": 0.0, "hora": 0.0, "ayana": 35.7, "yuddha": 0.0, "total": 173.99}, "chesta": 21.22, "naisargika": 60.0, "drig": 10.48, "ishta_phala": 7.98, "kashta_phala": 47.02}, {"planet": "Jupiter", "total_virupas": 600.66, "rupas": 10.01, "minimum_rupas": 6.5, "ratio": 1.54, "rank": 2, "sthana": {"uccha": 55.98, "saptavargaja": 153.75, "oja_yugma": 15.0, "kendra": 60.0, "drekkana": 0.0, "total": 284.73}, "dig": 2.28, "kala": {"nathonnatha": 49.33, "paksha": 1.04, "tribhaga": 60.0, "abda": 0.0, "masa": 0.0, "vara": 45.0, "hora": 60.0, "ayana": 52.26, "yuddha": 0.0, "total": 267.63}, "chesta": 27.72, "naisargika": 34.28, "drig": -15.98, "ishta_phala": 39.39, "kashta_phala": 11.39}, {"planet": "Saturn", "total_virupas": 388.62, "rupas": 6.48, "minimum_rupas": 5.0, "ratio": 1.29, "rank": 3, "sthana": {"uccha": 38.17, "saptavargaja": 88.13, "oja_yugma": 15.0, "kendra": 15.0, "drekkana": 0.0, "total": 156.3}, "dig": 9.47, "kala": {"nathonnatha": 10.67, "paksha": 58.96, "tribhaga": 60.0, "abda": 0.0, "masa": 0.0, "vara": 0.0, "hora": 0.0, "ayana": 58.04, "yuddha": 0.0, "total": 187.67}, "chesta": 28.51, "naisargika": 8.57, "drig": -1.9, "ishta_phala": 32.99, "kashta_phala": 26.22}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/strengths/saptbal": {
      "post": {
        "operationId": "saptbal",
        "summary": "Saptbal Strength Table",
        "description": "A seven-component strength score per planet with workings, normalised score, category and rank, given separately from the Lagna (Bhava Chalit) frame and from the Moon frame.",
        "tags": [
          "strengths"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "method_version": {"type": "string"},
                        "frames": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "label": {"type": "string"}, "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "score": {"type": "integer"}, "normalized": {"type": "number"}, "category": {"type": "string"}, "rank": {"type": "integer"}, "retrograde": {"type": "boolean"}, "components": {"type": "object", "properties": {"from_lagna": {"type": "integer"}, "from_bhava": {"type": "integer"}, "rashi": {"type": "integer"}, "d9_rashi": {"type": "integer"}, "d9_bhava": {"type": "integer"}, "kaal_purush_rashi": {"type": "integer"}, "digbala": {"type": "integer"}}, "required": ["from_lagna", "from_bhava", "rashi", "d9_rashi", "d9_bhava", "kaal_purush_rashi", "digbala"]}, "workings": {"type": "object", "properties": {"from_lagna": {"type": "string"}, "from_bhava": {"type": "string"}, "rashi": {"type": "string"}, "kaal_purush_rashi": {"type": "string"}, "digbala": {"type": "string"}, "d9_rashi": {"type": "string"}, "d9_bhava": {"type": "string"}, "total": {"type": "string"}}, "required": ["from_lagna", "from_bhava", "rashi", "kaal_purush_rashi", "digbala", "d9_rashi", "d9_bhava", "total"]}}, "required": ["planet", "score", "normalized", "category", "rank", "retrograde", "components", "workings"]}}}, "required": ["id", "label", "planets"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "method_version",
                        "frames"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "method_version": "1.1.0",
                        "frames": [{"id": "lagna", "label": "From Lagna (Bhava/Chalit)", "planets": [{"planet": "Mercury", "score": 213, "normalized": 83.28, "category": "Very Strong", "rank": 1, "retrograde": false, "components": {"from_lagna": 70, "from_bhava": 30, "rashi": 60, "d9_rashi": 70, "d9_bhava": 30, "kaal_purush_rashi": -40, "digbala": -7}, "workings": {"from_lagna": "Chalit house 9 from the ascendant", "from_bhava": "4 from house 6, counted inclusively, where its own sign falls", "rashi": "exalted in Virgo", "kaal_purush_rashi": "house 9 is naturally Sagittarius, whose lord Jupiter counts Mercury a enemy", "digbala": "4 house(s) from house 1, where Mercury has full directional strength", "d9_rashi": "exalted in Virgo in the Navamsa", "d9_bhava": "house 2 of the Navamsa", "total": "70 + 30 + 60 + -40 + -7 + 70 + 30 = 213"}}, {"planet": "Jupiter", "score": 180, "normalized": 78.12, "category": "Very Strong", "rank": 2, "retrograde": false, "components": {"from_lagna": 70, "from_bhava": -30, "rashi": 60, "d9_rashi": 70, "d9_bhava": 30, "kaal_purush_rashi": 0, "digbala": -20}, "workings": {"from_lagna": "Chalit house 7 from the ascendant", "from_bhava": "8 from house 12, counted inclusively, where its own sign falls", "rashi": "exalted in Cancer", "kaal_purush_rashi": "house 7 is naturally Libra, whose lord Venus counts Jupiter a neutral", "digbala": "6 house(s) from house 1, where Jupiter has full directional strength", "d9_rashi": "in Navamsa Sagittarius, and Jupiter counts its lord Jupiter a friend", "d9_bhava": "house 5 of the Navamsa", "total": "70 + -30 + 60 + 0 + -20 + 70 + 30 = 180"}}, {"planet": "Ketu", "score": 158, "normalized": 74.69, "category": "Strong", "rank": 3, "retrograde": false, "components": {"from_lagna": 70, "from_bhava": 15, "rashi": -60, "d9_rashi": 70, "d9_bhava": 30, "kaal_purush_rashi": 40, "digbala": -7}, "workings": {"from_lagna": "Ketu owns no sign, so this is Moon's own From Lagna -- Moon lords the sign Ketu occupies", "from_bhava": "Ketu owns no sign, so this is Moon's own From Bhava -- Moon lords the sign Ketu occupies", "rashi": "in Cancer, whose lord Moon counts Ketu a enemy", "kaal_purush_rashi": "house 7 is naturally Libra, whose lord Venus counts Ketu a friend", "digbala": "4 house(s) from house 10, where Ketu has full directional strength", "d9_rashi": "Ketu owns no sign, so this is Moon's own D9 Rashi -- Moon lords the sign Ketu occupies", "d9_bhava": "Ketu owns no sign, so this is Moon's own D9 Bhava -- Moon lords the sign Ketu occupies", "total": "70 + 15 + -60 + 40 + -7 + 70 + 30 = 158"}}]}, {"id": "moon", "label": "From Moon (Chandra Lagna)", "planets": [{"planet": "Mercury", "score": 240, "normalized": 87.5, "category": "Very Strong", "rank": 1, "retrograde": false, "components": {"from_lagna": 70, "from_bhava": 30, "rashi": 60, "d9_rashi": 70, "d9_bhava": 30, "kaal_purush_rashi": -40, "digbala": 20}, "workings": {"from_lagna": "Chalit house 1 from the ascendant", "from_bhava": "4 from house 10, counted inclusively, where its own sign falls", "rashi": "exalted in Virgo", "kaal_purush_rashi": "house 1 is naturally Aries, whose lord Mars counts Mercury a enemy", "digbala": "0 house(s) from house 1, where Mercury has full directional strength", "d9_rashi": "exalted in Virgo in the Navamsa", "d9_bhava": "house 2 of the Navamsa", "total": "70 + 30 + 60 + -40 + 20 + 70 + 30 = 240"}}, {"planet": "Jupiter", "score": 207, "normalized": 82.34, "category": "Very Strong", "rank": 2, "retrograde": false, "components": {"from_lagna": 70, "from_bhava": -30, "rashi": 60, "d9_rashi": 70, "d9_bhava": 30, "kaal_purush_rashi": 0, "digbala": 7}, "workings": {"from_lagna": "Chalit house 11 from the ascendant", "from_bhava": "8 from house 4, counted inclusively, where its own sign falls", "rashi": "exalted in Cancer", "kaal_purush_rashi": "house 11 is naturally Aquarius, whose lord Saturn counts Jupiter a neutral", "digbala": "2 house(s) from house 1, where Jupiter has full directional strength", "d9_rashi": "in Navamsa Sagittarius, and Jupiter counts its lord Jupiter a friend", "d9_bhava": "house 5 of the Navamsa", "total": "70 + -30 + 60 + 0 + 7 + 70 + 30 = 207"}}, {"planet": "Moon", "score": 165, "normalized": 75.78, "category": "Very Strong", "rank": 3, "retrograde": false, "components": {"from_lagna": 70, "from_bhava": 15, "rashi": -60, "d9_rashi": 70, "d9_bhava": 30, "kaal_purush_rashi": 40, "digbala": 0}, "workings": {"from_lagna": "Chalit house 1 from the ascendant", "from_bhava": "3 from house 11, counted inclusively, where its own sign falls", "rashi": "in Virgo, whose lord Mercury counts Moon a enemy", "kaal_purush_rashi": "house 1 is naturally Aries, whose lord Mars counts Moon a friend", "digbala": "3 house(s) from house 4, where Moon has full directional strength", "d9_rashi": "in Navamsa Virgo, and Moon counts its lord Mercury a friend", "d9_bhava": "house 2 of the Navamsa", "total": "70 + 15 + -60 + 40 + 0 + 70 + 30 = 165"}}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["Rahu and Ketu own no sign, so their dignity is read from the lord of the sign each occupies (Rahu through Saturn, Ketu through Moon). Their house-based components are their own, and neither node is ever negated for retrograde motion."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/strengths/vimshopaka-bala": {
      "post": {
        "operationId": "vimshopaka-bala",
        "summary": "Vimshopaka Bala",
        "description": "Vimshopaka (varga-dignity) strength for the seven grahas.",
        "tags": [
          "strengths"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "shodasha_weighted": {"type": "object", "properties": {"Sun": {"type": "number"}, "Moon": {"type": "number"}, "Mars": {"type": "number"}, "Mercury": {"type": "number"}, "Jupiter": {"type": "number"}, "Venus": {"type": "number"}, "Saturn": {"type": "number"}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]},
                        "schemes": {"type": "object", "properties": {"shad": {"type": "object", "properties": {"Sun": {"type": "integer"}, "Moon": {"type": "integer"}, "Mars": {"type": "integer"}, "Mercury": {"type": "integer"}, "Jupiter": {"type": "integer"}, "Venus": {"type": "integer"}, "Saturn": {"type": "integer"}, "Rahu": {"type": "integer"}, "Ketu": {"type": "integer"}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]}, "sapta": {"type": "object", "properties": {"Sun": {"type": "integer"}, "Moon": {"type": "integer"}, "Mars": {"type": "integer"}, "Mercury": {"type": "integer"}, "Jupiter": {"type": "integer"}, "Venus": {"type": "integer"}, "Saturn": {"type": "integer"}, "Rahu": {"type": "integer"}, "Ketu": {"type": "integer"}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]}, "dasa": {"type": "object", "properties": {"Sun": {"type": "integer"}, "Moon": {"type": "integer"}, "Mars": {"type": "integer"}, "Mercury": {"type": "integer"}, "Jupiter": {"type": "integer"}, "Venus": {"type": "integer"}, "Saturn": {"type": "integer"}, "Rahu": {"type": "integer"}, "Ketu": {"type": "integer"}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]}, "shodasa": {"type": "object", "properties": {"Sun": {"type": "integer"}, "Moon": {"type": "integer"}, "Mars": {"type": "integer"}, "Mercury": {"type": "integer"}, "Jupiter": {"type": "integer"}, "Venus": {"type": "integer"}, "Saturn": {"type": "integer"}, "Rahu": {"type": "integer"}, "Ketu": {"type": "integer"}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]}}, "required": ["shad", "sapta", "dasa", "shodasa"]},
                        "maximum": {"type": "integer"}
                      },
                      "required": [
                        "ayanamsha",
                        "shodasha_weighted",
                        "schemes",
                        "maximum"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "shodasha_weighted": {"Sun": 10.75, "Moon": 10.43, "Mars": 9.18, "Mercury": 15.32, "Jupiter": 15.0, "Venus": 12.72, "Saturn": 13.28},
                        "schemes": {"shad": {"Sun": 11, "Moon": 11, "Mars": 8, "Mercury": 17, "Jupiter": 18, "Venus": 11, "Saturn": 9, "Rahu": 14, "Ketu": 7}, "sapta": {"Sun": 11, "Moon": 11, "Mars": 9, "Mercury": 17, "Jupiter": 18, "Venus": 11, "Saturn": 10, "Rahu": 13, "Ketu": 8}, "dasa": {"Sun": 10, "Moon": 10, "Mars": 9, "Mercury": 15, "Jupiter": 14, "Venus": 13, "Saturn": 14, "Rahu": 12, "Ketu": 7}, "shodasa": {"Sun": 11, "Moon": 10, "Mars": 9, "Mercury": 15, "Jupiter": 15, "Venus": 13, "Saturn": 13, "Rahu": 13, "Ketu": 7}},
                        "maximum": 20
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/strengths/five-fold-friendship": {
      "post": {
        "operationId": "five-fold-friendship",
        "summary": "Five-fold Planetary Friendship",
        "description": "Natural, temporary and compound (panchadha) friendship between the seven grahas.",
        "tags": [
          "strengths"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "relations": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"Moon": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mars": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mercury": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Jupiter": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Venus": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Saturn": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}}, "required": ["Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]}, "Moon": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mars": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mercury": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Jupiter": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Venus": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Saturn": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}}, "required": ["Sun", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]}, "Mars": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Moon": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mercury": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Jupiter": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Venus": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Saturn": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}}, "required": ["Sun", "Moon", "Mercury", "Jupiter", "Venus", "Saturn"]}, "Mercury": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Moon": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mars": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Jupiter": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Venus": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Saturn": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}}, "required": ["Sun", "Moon", "Mars", "Jupiter", "Venus", "Saturn"]}, "Jupiter": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Moon": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mars": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mercury": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Venus": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Saturn": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Venus", "Saturn"]}, "Venus": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Moon": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mars": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mercury": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Jupiter": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Saturn": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Saturn"]}, "Saturn": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Moon": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mars": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Mercury": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Jupiter": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}, "Venus": {"type": "object", "properties": {"natural": {"type": "string"}, "temporary": {"type": "string"}, "compound": {"type": "string"}}, "required": ["natural", "temporary", "compound"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]}
                      },
                      "required": [
                        "ayanamsha",
                        "relations"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "relations": {"Sun": {"Moon": {"natural": "friend", "temporary": "friend", "compound": "intimate"}, "Mars": {"natural": "friend", "temporary": "enemy", "compound": "neutral"}, "Mercury": {"natural": "neutral", "temporary": "friend", "compound": "friend"}, "Jupiter": {"natural": "friend", "temporary": "friend", "compound": "intimate"}, "Venus": {"natural": "enemy", "temporary": "friend", "compound": "neutral"}, "Saturn": {"natural": "enemy", "temporary": "friend", "compound": "neutral"}}, "Moon": {"Sun": {"natural": "friend", "temporary": "friend", "compound": "intimate"}, "Mars": {"natural": "neutral", "temporary": "enemy", "compound": "enemy"}, "Mercury": {"natural": "friend", "temporary": "enemy", "compound": "neutral"}, "Jupiter": {"natural": "neutral", "temporary": "friend", "compound": "friend"}, "Venus": {"natural": "neutral", "temporary": "enemy", "compound": "enemy"}, "Saturn": {"natural": "neutral", "temporary": "friend", "compound": "friend"}}, "Mars": {"Sun": {"natural": "friend", "temporary": "enemy", "compound": "neutral"}, "Moon": {"natural": "friend", "temporary": "enemy", "compound": "neutral"}, "Mercury": {"natural": "enemy", "temporary": "enemy", "compound": "bitter"}, "Jupiter": {"natural": "friend", "temporary": "friend", "compound": "intimate"}, "Venus": {"natural": "neutral", "temporary": "enemy", "compound": "enemy"}, "Saturn": {"natural": "neutral", "temporary": "enemy", "compound": "enemy"}}, "Mercury": {"Sun": {"natural": "friend", "temporary": "friend", "compound": "intimate"}, "Moon": {"natural": "enemy", "temporary": "enemy", "compound": "bitter"}, "Mars": {"natural": "neutral", "temporary": "enemy", "compound": "enemy"}, "Jupiter": {"natural": "neutral", "temporary": "friend", "compound": "friend"}, "Venus": {"natural": "friend", "temporary": "enemy", "compound": "neutral"}, "Saturn": {"natural": "neutral", "temporary": "friend", "compound": "friend"}}, "Jupiter": {"Sun": {"natural": "friend", "temporary": "friend", "compound": "intimate"}, "Moon": {"natural": "friend", "temporary": "friend", "compound": "intimate"}, "Mars": {"natural": "friend", "temporary": "friend", "compound": "intimate"}, "Mercury": {"natural": "enemy", "temporary": "friend", "compound": "neutral"}, "Venus": {"natural": "enemy", "temporary": "friend", "compound": "neutral"}, "Saturn": {"natural": "neutral", "temporary": "enemy", "compound": "enemy"}}, "Venus": {"Sun": {"natural": "enemy", "temporary": "friend", "compound": "neutral"}, "Moon": {"natural": "enemy", "temporary": "enemy", "compound": "bitter"}, "Mars": {"natural": "neutral", "temporary": "enemy", "compound": "enemy"}, "Mercury": {"natural": "friend", "temporary": "enemy", "compound": "neutral"}, "Jupiter": {"natural": "neutral", "temporary": "friend", "compound": "friend"}, "Saturn": {"natural": "friend", "temporary": "friend", "compound": "intimate"}}, "Saturn": {"Sun": {"natural": "enemy", "temporary": "friend", "compound": "neutral"}, "Moon": {"natural": "enemy", "temporary": "friend", "compound": "neutral"}, "Mars": {"natural": "enemy", "temporary": "enemy", "compound": "bitter"}, "Mercury": {"natural": "friend", "temporary": "friend", "compound": "intimate"}, "Jupiter": {"natural": "neutral", "temporary": "enemy", "compound": "enemy"}, "Venus": {"natural": "friend", "temporary": "friend", "compound": "intimate"}}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/strengths/avasthas": {
      "post": {
        "operationId": "avasthas",
        "summary": "Planetary Avasthas",
        "description": "State (avastha) readings for each body in the chart.",
        "tags": [
          "strengths"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "baladi": {"type": "string"}, "jagradadi": {"type": "string"}, "deeptadi": {"type": "string"}, "result_grade": {"type": "string"}}, "required": ["planet", "sign", "degree", "nakshatra", "baladi", "jagradadi", "deeptadi", "result_grade"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "planets": [{"planet": "Sun", "sign": "Libra", "degree": 0.995, "nakshatra": "Chitra", "baladi": "Bal", "jagradadi": "Susupta", "deeptadi": "Neecha", "result_grade": "25%"}, {"planet": "Moon", "sign": "Virgo", "degree": 27.8767, "nakshatra": "Chitra", "baladi": "Bal", "jagradadi": "Swapna", "deeptadi": "Sama", "result_grade": "25%"}, {"planet": "Mars", "sign": "Taurus", "degree": 20.7878, "nakshatra": "Rohini", "baladi": "Kumar", "jagradadi": "Swapna", "deeptadi": "Sama", "result_grade": "50%"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/strengths/planet-aspects": {
      "post": {
        "operationId": "planet-aspects",
        "summary": "Planet Aspects",
        "description": "Aspect list between bodies with aspect type, major/minor quality, orb and applying flag.",
        "tags": [
          "strengths"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "aspects": {"type": "array", "items": {"type": "object", "properties": {"planet_1": {"type": "string"}, "planet_2": {"type": "string"}, "aspect": {"type": "string"}, "orb": {"type": "number"}, "applying": {"type": "boolean"}, "major": {"type": "boolean"}}, "required": ["planet_1", "planet_2", "aspect", "orb", "applying", "major"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "aspects"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "aspects": [{"planet_1": "Sun", "planet_2": "Moon", "aspect": "Conjunction", "orb": 3.12, "applying": true, "major": true}, {"planet_1": "Sun", "planet_2": "Mercury", "aspect": "Conjunction", "orb": 2.66, "applying": true, "major": true}, {"planet_1": "Sun", "planet_2": "Venus", "aspect": "Conjunction", "orb": 3.65, "applying": true, "major": true}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/dashas/vimshottari-dasha": {
      "post": {
        "operationId": "vimshottari-dasha",
        "summary": "Vimshottari Dasha",
        "description": "Mahadasha and antardasha periods with dates, the dasha balance at birth, and the tara (nakshatra-count) of each dasha lord.",
        "tags": [
          "dashas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VimshottariInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "depth": "antardasha"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "moon_nakshatra": {"type": "object", "properties": {"name": {"type": "string"}, "pada": {"type": "integer"}, "lord": {"type": "string"}}, "required": ["name", "pada", "lord"]},
                        "balance_at_birth": {"type": "object", "properties": {"lord": {"type": "string"}, "years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["lord", "years", "months", "days"]},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "mahadasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}, "antardasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}, "pratyantardasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}, "required": ["as_of", "mahadasha", "antardasha", "pratyantardasha"]},
                        "tara_of_lords": {"type": "object", "properties": {"Sun": {"type": "string"}, "Moon": {"type": "string"}, "Mars": {"type": "string"}, "Mercury": {"type": "string"}, "Jupiter": {"type": "string"}, "Venus": {"type": "string"}, "Saturn": {"type": "string"}, "Rahu": {"type": "string"}, "Ketu": {"type": "string"}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]},
                        "mahadashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}}, "required": ["lord", "start", "end", "antardashas"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "moon_nakshatra",
                        "balance_at_birth",
                        "current",
                        "tara_of_lords",
                        "mahadashas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "moon_nakshatra": {"name": "Chitra", "pada": 2, "lord": "Mars"},
                        "balance_at_birth": {"lord": "Mars", "years": 4, "months": 7, "days": 11},
                        "current": {"as_of": "2026-10-14", "mahadasha": {"lord": "Jupiter", "start": "2013-05-30", "end": "2029-05-30"}, "antardasha": {"lord": "Mars", "start": "2026-01-28", "end": "2027-01-04"}, "pratyantardasha": {"lord": "Venus", "start": "2026-09-23", "end": "2026-11-19"}},
                        "tara_of_lords": {"Sun": "Janma", "Moon": "Janma", "Mars": "Parama Mitra", "Mercury": "Janma", "Jupiter": "Pratyak", "Venus": "Janma", "Saturn": "Vadha", "Rahu": "Mitra", "Ketu": "Kshema"},
                        "mahadashas": [{"lord": "Mars", "start": "1990-10-18", "end": "1995-05-31", "antardashas": [{"lord": "Jupiter", "start": "1990-10-18", "end": "1990-10-20"}, {"lord": "Saturn", "start": "1990-10-20", "end": "1991-11-29"}, {"lord": "Mercury", "start": "1991-11-29", "end": "1992-11-25"}]}, {"lord": "Rahu", "start": "1995-05-31", "end": "2013-05-30", "antardashas": [{"lord": "Rahu", "start": "1995-05-31", "end": "1998-02-10"}, {"lord": "Jupiter", "start": "1998-02-10", "end": "2000-07-06"}, {"lord": "Saturn", "start": "2000-07-06", "end": "2003-05-13"}]}, {"lord": "Jupiter", "start": "2013-05-30", "end": "2029-05-30", "antardashas": [{"lord": "Jupiter", "start": "2013-05-30", "end": "2015-07-18"}, {"lord": "Saturn", "start": "2015-07-18", "end": "2018-01-28"}, {"lord": "Mercury", "start": "2018-01-28", "end": "2020-05-05"}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/dashas/yogini-dasha": {
      "post": {
        "operationId": "yogini-dasha",
        "summary": "Yogini Dasha",
        "description": "The eight-yogini 36-year cycle from the Moon's nakshatra with dated periods.",
        "tags": [
          "dashas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DashaSystemsDashaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "system": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "balance_at_birth": {"type": "object", "properties": {"yogini": {"type": "string"}, "years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["yogini", "years", "months", "days"]},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "mahadasha": {"type": "object", "properties": {"yogini": {"type": "string"}, "lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "cycle": {"type": "integer"}}, "required": ["yogini", "lord", "start", "end", "cycle"]}, "antardasha": {"type": "object", "properties": {"yogini": {"type": "string"}, "lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["yogini", "lord", "start", "end"]}}, "required": ["as_of", "mahadasha", "antardasha"]},
                        "mahadashas": {"type": "array", "items": {"type": "object", "properties": {"yogini": {"type": "string"}, "lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "cycle": {"type": "integer"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"yogini": {"type": "string"}, "lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["yogini", "lord", "start", "end"]}}}, "required": ["yogini", "lord", "start", "end", "cycle", "antardashas"]}}
                      },
                      "required": [
                        "system",
                        "ayanamsha",
                        "balance_at_birth",
                        "current",
                        "mahadashas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "system": "yogini",
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "balance_at_birth": {"yogini": "Mangala", "years": 0, "months": 7, "days": 28},
                        "current": {"as_of": "2026-10-14", "mahadasha": {"yogini": "Mangala", "lord": "Moon", "start": "2026-06-15", "end": "2027-06-16", "cycle": 2}, "antardasha": {"yogini": "Bhadrika", "lord": "Mercury", "start": "2026-09-23", "end": "2026-11-12"}},
                        "mahadashas": [{"yogini": "Mangala", "lord": "Moon", "start": "1990-10-18", "end": "1991-06-16", "cycle": 1, "antardashas": [{"yogini": "Bhadrika", "lord": "Mercury", "start": "1990-10-18", "end": "1990-11-13"}, {"yogini": "Ulka", "lord": "Venus", "start": "1990-11-13", "end": "1991-01-12"}, {"yogini": "Siddha", "lord": "Saturn", "start": "1991-01-12", "end": "1991-03-23"}]}, {"yogini": "Pingala", "lord": "Sun", "start": "1991-06-16", "end": "1993-06-15", "cycle": 1, "antardashas": [{"yogini": "Pingala", "lord": "Sun", "start": "1991-06-16", "end": "1991-07-26"}, {"yogini": "Dhanya", "lord": "Jupiter", "start": "1991-07-26", "end": "1991-09-24"}, {"yogini": "Bhramari", "lord": "Mars", "start": "1991-09-24", "end": "1991-12-13"}]}, {"yogini": "Dhanya", "lord": "Jupiter", "start": "1993-06-15", "end": "1996-06-15", "cycle": 1, "antardashas": [{"yogini": "Dhanya", "lord": "Jupiter", "start": "1993-06-15", "end": "1993-09-13"}, {"yogini": "Bhramari", "lord": "Mars", "start": "1993-09-13", "end": "1994-01-11"}, {"yogini": "Bhadrika", "lord": "Mercury", "start": "1994-01-11", "end": "1994-06-10"}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/dashas/chara-dasha": {
      "post": {
        "operationId": "chara-dasha",
        "summary": "Chara Dasha (Jaimini)",
        "description": "Sign-based Jaimini Chara dasha: mahadashas by sign with years and dates, their antardashas, the direction used and the current period; Standard or K.N. Rao method.",
        "tags": [
          "dashas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CharaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "method": "kn_rao"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "system": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "method": {"type": "string"},
                        "direction": {"type": "string"},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "mahadasha": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "years": {"type": "number"}}, "required": ["sign", "sign_number", "start", "end", "years"]}, "antardasha": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "sign_number", "start", "end"]}}, "required": ["as_of", "mahadasha", "antardasha"]},
                        "mahadashas": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "years": {"type": "number"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "sign_number", "start", "end"]}}}, "required": ["sign", "sign_number", "start", "end", "years", "antardashas"]}}
                      },
                      "required": [
                        "system",
                        "ayanamsha",
                        "method",
                        "direction",
                        "current",
                        "mahadashas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "system": "chara",
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "method": "kn_rao",
                        "direction": "reverse",
                        "current": {"as_of": "2026-10-14", "mahadasha": {"sign": "Virgo", "sign_number": 6, "start": "2016-10-17", "end": "2028-10-17", "years": 12.0}, "antardasha": {"sign": "Sagittarius", "sign_number": 9, "start": "2025-10-18", "end": "2026-10-18"}},
                        "mahadashas": [{"sign": "Capricorn", "sign_number": 10, "start": "1990-10-18", "end": "1992-10-18", "years": 2.0, "antardashas": [{"sign": "Capricorn", "sign_number": 10, "start": "1990-10-18", "end": "1990-12-18"}, {"sign": "Sagittarius", "sign_number": 9, "start": "1990-12-18", "end": "1991-02-17"}, {"sign": "Scorpio", "sign_number": 8, "start": "1991-02-17", "end": "1991-04-19"}]}, {"sign": "Sagittarius", "sign_number": 9, "start": "1992-10-18", "end": "1999-10-18", "years": 7.0, "antardashas": [{"sign": "Sagittarius", "sign_number": 9, "start": "1992-10-18", "end": "1993-05-19"}, {"sign": "Capricorn", "sign_number": 10, "start": "1993-05-19", "end": "1993-12-18"}, {"sign": "Aquarius", "sign_number": 11, "start": "1993-12-18", "end": "1994-07-19"}]}, {"sign": "Scorpio", "sign_number": 8, "start": "1999-10-18", "end": "2005-10-18", "years": 6.0, "antardashas": [{"sign": "Scorpio", "sign_number": 8, "start": "1999-10-18", "end": "2000-04-18"}, {"sign": "Libra", "sign_number": 7, "start": "2000-04-18", "end": "2000-10-18"}, {"sign": "Virgo", "sign_number": 6, "start": "2000-10-18", "end": "2001-04-18"}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/dashas/niryana-shoola-dasha": {
      "post": {
        "operationId": "niryana-shoola-dasha",
        "summary": "Niryana Shoola Dasha",
        "description": "Niryana Shoola dasha by sign with years, dates and antardashas, the current period, and the method used (four methods available, with the recommended one named).",
        "tags": [
          "dashas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NiryanaShoolaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "system": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "method": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "description": {"type": "string"}, "status": {"type": "string"}, "recommended": {"type": "boolean"}}, "required": ["id", "name", "description", "status", "recommended"]},
                        "methods_available": {"type": "array", "items": {"type": "string"}},
                        "recommended_method": {"type": "string"},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "mahadasha": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "years": {"type": "number"}, "sign_nature": {"type": "string"}}, "required": ["sign", "sign_number", "start", "end", "years", "sign_nature"]}, "antardasha": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "sign_number", "start", "end"]}}, "required": ["as_of", "mahadasha", "antardasha"]},
                        "mahadashas": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "years": {"type": "number"}, "sign_nature": {"type": "string"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "sign_number", "start", "end"]}}}, "required": ["sign", "sign_number", "start", "end", "years", "sign_nature", "antardashas"]}}
                      },
                      "required": [
                        "system",
                        "ayanamsha",
                        "method",
                        "methods_available",
                        "recommended_method",
                        "current",
                        "mahadashas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "system": "niryana_shoola",
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "method": {"id": "pvr_2_8_789", "name": "PVR – 2nd/8th seed, 7/8/9 years", "description": "The stronger of the 2nd and 8th Rashis from Lagna starts the dasha. An odd seed runs zodiacally, an even seed anti-zodiacally. Movable, fixed and dual mahadashas run 7, 8 and 9 years.", "status": "confirmed", "recommended": true},
                        "methods_available": ["pvr_2_8_789", "jhora_research", "plight_compat"],
                        "recommended_method": "pvr_2_8_789",
                        "current": {"as_of": "2026-10-14", "mahadasha": {"sign": "Gemini", "sign_number": 3, "start": "2022-10-18", "end": "2031-10-18", "years": 9.0, "sign_nature": "dual"}, "antardasha": {"sign": "Sagittarius", "sign_number": 9, "start": "2026-07-18", "end": "2027-04-18"}},
                        "mahadashas": [{"sign": "Aquarius", "sign_number": 11, "start": "1990-10-18", "end": "1998-10-18", "years": 8.0, "sign_nature": "fixed", "antardashas": [{"sign": "Capricorn", "sign_number": 10, "start": "1990-10-18", "end": "1991-06-18"}, {"sign": "Sagittarius", "sign_number": 9, "start": "1991-06-18", "end": "1992-02-18"}, {"sign": "Scorpio", "sign_number": 8, "start": "1992-02-18", "end": "1992-10-18"}]}, {"sign": "Pisces", "sign_number": 12, "start": "1998-10-18", "end": "2007-10-18", "years": 9.0, "sign_nature": "dual", "antardashas": [{"sign": "Virgo", "sign_number": 6, "start": "1998-10-18", "end": "1999-07-18"}, {"sign": "Leo", "sign_number": 5, "start": "1999-07-18", "end": "2000-04-18"}, {"sign": "Cancer", "sign_number": 4, "start": "2000-04-18", "end": "2001-01-18"}]}, {"sign": "Aries", "sign_number": 1, "start": "2007-10-18", "end": "2014-10-18", "years": 7.0, "sign_nature": "movable", "antardashas": [{"sign": "Virgo", "sign_number": 6, "start": "2007-10-18", "end": "2008-05-18"}, {"sign": "Leo", "sign_number": 5, "start": "2008-05-18", "end": "2008-12-18"}, {"sign": "Cancer", "sign_number": 4, "start": "2008-12-18", "end": "2009-07-18"}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/dashas/thrikona-dasha": {
      "post": {
        "operationId": "thrikona-dasha",
        "summary": "Trikona Dasha",
        "description": "Trikona dasha from its start sign: mahadashas with years, dates and antardashas, the direction used and the current period.",
        "tags": [
          "dashas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DashaSystemsDashaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "system": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "start_sign": {"type": "string"},
                        "direction": {"type": "string"},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "mahadasha": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "years": {"type": "number"}}, "required": ["sign", "sign_number", "start", "end", "years"]}, "antardasha": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "sign_number", "start", "end"]}}, "required": ["as_of", "mahadasha", "antardasha"]},
                        "mahadashas": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "years": {"type": "number"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "sign_number", "start", "end"]}}}, "required": ["sign", "sign_number", "start", "end", "years", "antardashas"]}}
                      },
                      "required": [
                        "system",
                        "ayanamsha",
                        "start_sign",
                        "direction",
                        "current",
                        "mahadashas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "system": "thrikona",
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "start_sign": "Capricorn",
                        "direction": "anti-clockwise",
                        "current": {"as_of": "2026-10-14", "mahadasha": {"sign": "Sagittarius", "sign_number": 9, "start": "2023-10-18", "end": "2034-10-18", "years": 11.0}, "antardasha": {"sign": "Scorpio", "sign_number": 8, "start": "2026-07-18", "end": "2027-06-18"}},
                        "mahadashas": [{"sign": "Capricorn", "sign_number": 10, "start": "1990-10-18", "end": "2001-10-18", "years": 11.0, "antardashas": [{"sign": "Capricorn", "sign_number": 10, "start": "1990-10-18", "end": "1991-09-18"}, {"sign": "Virgo", "sign_number": 6, "start": "1991-09-18", "end": "1992-08-18"}, {"sign": "Taurus", "sign_number": 2, "start": "1992-08-18", "end": "1993-07-18"}]}, {"sign": "Virgo", "sign_number": 6, "start": "2001-10-18", "end": "2012-10-18", "years": 11.0, "antardashas": [{"sign": "Virgo", "sign_number": 6, "start": "2001-10-18", "end": "2002-09-18"}, {"sign": "Taurus", "sign_number": 2, "start": "2002-09-18", "end": "2003-08-18"}, {"sign": "Capricorn", "sign_number": 10, "start": "2003-08-18", "end": "2004-07-18"}]}, {"sign": "Taurus", "sign_number": 2, "start": "2012-10-18", "end": "2023-10-18", "years": 11.0, "antardashas": [{"sign": "Taurus", "sign_number": 2, "start": "2012-10-18", "end": "2013-09-18"}, {"sign": "Capricorn", "sign_number": 10, "start": "2013-09-18", "end": "2014-08-18"}, {"sign": "Virgo", "sign_number": 6, "start": "2014-08-18", "end": "2015-07-18"}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/dashas/ashtottari-dasha": {
      "post": {
        "operationId": "ashtottari-dasha",
        "summary": "Ashtottari Dasha",
        "description": "Ashtottari (108-year) dasha with whether it applies to the chart and why, the balance at birth, mahadashas with antardashas and the current period.",
        "tags": [
          "dashas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DashaSystemsDashaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "system": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "applicable": {"type": "boolean"},
                        "applicability_reason": {"type": "string"},
                        "balance_at_birth": {"type": "object", "properties": {"lord": {"type": "string"}, "years": {"type": "number"}}, "required": ["lord", "years"]},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "mahadasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "years": {"type": "number"}}, "required": ["lord", "start", "end", "years"]}, "antardasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}, "required": ["as_of", "mahadasha", "antardasha"]},
                        "mahadashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "years": {"type": "number"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}}, "required": ["lord", "start", "end", "years", "antardashas"]}}
                      },
                      "required": [
                        "system",
                        "ayanamsha",
                        "applicable",
                        "applicability_reason",
                        "balance_at_birth",
                        "current",
                        "mahadashas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "system": "ashtottari",
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "applicable": true,
                        "applicability_reason": "Rahu is in Kendra (1/4/7/10) from Lagna or Moon — Ashtottari applicable.",
                        "balance_at_birth": {"lord": "Mars", "years": 5.318503339113332},
                        "current": {"as_of": "2026-10-14", "mahadasha": {"lord": "Jupiter", "start": "2023-02-11", "end": "2042-02-11", "years": 19.0}, "antardasha": {"lord": "Rahu", "start": "2026-06-16", "end": "2028-07-26"}},
                        "mahadashas": [{"lord": "Mars", "start": "1990-10-18", "end": "1996-02-12", "years": 5.31850334, "antardashas": [{"lord": "Jupiter", "start": "1990-10-18", "end": "1992-02-12"}, {"lord": "Rahu", "start": "1992-02-12", "end": "1993-01-01"}, {"lord": "Venus", "start": "1993-01-01", "end": "1994-07-23"}]}, {"lord": "Mercury", "start": "1996-02-12", "end": "2013-02-11", "years": 17.0, "antardashas": [{"lord": "Mercury", "start": "1996-02-12", "end": "1998-10-16"}, {"lord": "Saturn", "start": "1998-10-16", "end": "2000-05-13"}, {"lord": "Jupiter", "start": "2000-05-13", "end": "2003-05-10"}]}, {"lord": "Saturn", "start": "2013-02-11", "end": "2023-02-11", "years": 10.0, "antardashas": [{"lord": "Saturn", "start": "2013-02-11", "end": "2014-01-15"}, {"lord": "Jupiter", "start": "2014-01-15", "end": "2015-10-20"}, {"lord": "Rahu", "start": "2015-10-20", "end": "2016-11-28"}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/dashas/sthira-dasha": {
      "post": {
        "operationId": "sthira-dasha",
        "summary": "Sthira Dasha",
        "description": "Sthira (fixed) sign dasha with start sign, direction, mahadashas with antardashas and the current period.",
        "tags": [
          "dashas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DashaSystemsDashaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "system": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "start_sign": {"type": "string"},
                        "direction": {"type": "string"},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "mahadasha": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "years": {"type": "number"}}, "required": ["sign", "sign_number", "start", "end", "years"]}, "antardasha": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "sign_number", "start", "end"]}}, "required": ["as_of", "mahadasha", "antardasha"]},
                        "mahadashas": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "years": {"type": "number"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "sign_number", "start", "end"]}}}, "required": ["sign", "sign_number", "start", "end", "years", "antardashas"]}}
                      },
                      "required": [
                        "system",
                        "ayanamsha",
                        "start_sign",
                        "direction",
                        "current",
                        "mahadashas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "system": "sthira",
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "start_sign": "Libra",
                        "direction": "backward",
                        "current": {"as_of": "2026-10-14", "mahadasha": {"sign": "Gemini", "sign_number": 3, "start": "2021-10-18", "end": "2030-10-18", "years": 9.0}, "antardasha": {"sign": "Sagittarius", "sign_number": 9, "start": "2026-04-18", "end": "2027-01-17"}},
                        "mahadashas": [{"sign": "Libra", "sign_number": 7, "start": "1990-10-18", "end": "1997-10-18", "years": 7.0, "antardashas": [{"sign": "Libra", "sign_number": 7, "start": "1990-10-18", "end": "1991-05-19"}, {"sign": "Virgo", "sign_number": 6, "start": "1991-05-19", "end": "1991-12-18"}, {"sign": "Leo", "sign_number": 5, "start": "1991-12-18", "end": "1992-07-18"}]}, {"sign": "Virgo", "sign_number": 6, "start": "1997-10-18", "end": "2006-10-18", "years": 9.0, "antardashas": [{"sign": "Virgo", "sign_number": 6, "start": "1997-10-18", "end": "1998-07-19"}, {"sign": "Leo", "sign_number": 5, "start": "1998-07-19", "end": "1999-04-19"}, {"sign": "Cancer", "sign_number": 4, "start": "1999-04-19", "end": "2000-01-18"}]}, {"sign": "Leo", "sign_number": 5, "start": "2006-10-18", "end": "2014-10-18", "years": 8.0, "antardashas": [{"sign": "Leo", "sign_number": 5, "start": "2006-10-18", "end": "2007-06-18"}, {"sign": "Cancer", "sign_number": 4, "start": "2007-06-18", "end": "2008-02-17"}, {"sign": "Gemini", "sign_number": 3, "start": "2008-02-17", "end": "2008-10-17"}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/dashas/mudda-dasha": {
      "post": {
        "operationId": "mudda-dasha",
        "summary": "Mudda Dasha",
        "description": "Mudda dasha for a target year: when the Tajika year starts, each period's lord, dates and house in the annual chart, and the period running now.",
        "tags": [
          "dashas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MuddaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "target_year": 2026
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "target_year": {"type": "integer"},
                        "year_starts": {"type": "object", "properties": {"local": {"type": "string"}, "utc_offset_hours": {"type": "number"}, "utc": {"type": "string"}}, "required": ["local", "utc_offset_hours", "utc"]},
                        "basis": {"type": "string"},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "period": {"type": "null"}}, "required": ["as_of", "period"]},
                        "periods": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "house_in_year_chart": {"type": "integer"}}, "required": ["lord", "start", "end", "house_in_year_chart"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "target_year",
                        "year_starts",
                        "basis",
                        "current",
                        "periods"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "target_year": 2026,
                        "year_starts": {"local": "2026-10-18T19:47:14", "utc_offset_hours": 5.5, "utc": "2026-10-18T14:17:14Z"},
                        "basis": "Vimshottari proportions over the Tajika year; start lord by Tajika Neelakanthi (natal Moon's nakshatra number + completed years - 2, mod 9).",
                        "current": {"as_of": "2026-10-14", "period": null},
                        "periods": [{"lord": "Mars", "start": "2026-10-18", "end": "2026-11-09", "house_in_year_chart": 3}, {"lord": "Rahu", "start": "2026-11-09", "end": "2027-01-02", "house_in_year_chart": 10}, {"lord": "Jupiter", "start": "2027-01-02", "end": "2027-02-20", "house_in_year_chart": 3}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["Times are local at the birth place's UTC offset at birth; `utc` is exact."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/jaimini/chara-karakas": {
      "post": {
        "operationId": "chara-karakas",
        "summary": "Chara & Sthira Karakas",
        "description": "The seven Jaimini chara karakas (Atmakaraka to Darakaraka) with degrees, alongside the sthira karakas.",
        "tags": [
          "jaimini"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "scheme": {"type": "string"},
                        "karakas": {"type": "array", "items": {"type": "object", "properties": {"karaka": {"type": "string"}, "planet": {"type": "string"}, "degree_in_sign": {"type": "number"}, "longitude": {"type": "number"}, "sthira_karaka": {"type": "string"}}, "required": ["karaka", "planet", "degree_in_sign", "longitude", "sthira_karaka"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "scheme",
                        "karakas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "scheme": "seven grahas (Rahu excluded)",
                        "karakas": [{"karaka": "Atmakaraka", "planet": "Mercury", "degree_in_sign": 28.34, "longitude": 178.34, "sthira_karaka": "Sun"}, {"karaka": "Amatyakaraka", "planet": "Moon", "degree_in_sign": 27.88, "longitude": 177.88, "sthira_karaka": "Mercury"}, {"karaka": "Bhratrukaraka", "planet": "Venus", "degree_in_sign": 27.34, "longitude": 177.34, "sthira_karaka": "Mars"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/jaimini/jaimini-charts": {
      "post": {
        "operationId": "jaimini-charts",
        "summary": "Jaimini Sign Charts",
        "description": "Atmakaraka, the Karakamsha, Swamsha, Arudha Lagna and Upapada signs and charts built from them, plus the arudha pada of every house with and without the exceptions.",
        "tags": [
          "jaimini"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "atmakaraka": {"type": "string"},
                        "points": {"type": "object", "properties": {"lagna": {"type": "string"}, "karakamsha": {"type": "string"}, "swamsha": {"type": "string"}, "arudha_lagna": {"type": "string"}, "upapada": {"type": "string"}}, "required": ["lagna", "karakamsha", "swamsha", "arudha_lagna", "upapada"]},
                        "arudha_padas": {"type": "object", "properties": {"with_exceptions": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}}, "required": ["house", "sign"]}}, "without_exceptions": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}}, "required": ["house", "sign"]}}}, "required": ["with_exceptions", "without_exceptions"]},
                        "charts": {"type": "object", "properties": {"karakamsha": {"type": "object", "properties": {"basis": {"type": "string"}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}, "ascendant_here": {"type": "boolean"}}, "required": ["house", "sign", "planets", "ascendant_here"]}}}, "required": ["basis", "houses"]}, "swamsha": {"type": "object", "properties": {"basis": {"type": "string"}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}, "ascendant_here": {"type": "boolean"}}, "required": ["house", "sign", "planets", "ascendant_here"]}}}, "required": ["basis", "houses"]}, "arudha_lagna": {"type": "object", "properties": {"basis": {"type": "string"}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}, "ascendant_here": {"type": "boolean"}}, "required": ["house", "sign", "planets", "ascendant_here"]}}}, "required": ["basis", "houses"]}, "upapada": {"type": "object", "properties": {"basis": {"type": "string"}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "planets": {"type": "array"}, "ascendant_here": {"type": "boolean"}}, "required": ["house", "sign", "planets", "ascendant_here"]}}}, "required": ["basis", "houses"]}}, "required": ["karakamsha", "swamsha", "arudha_lagna", "upapada"]}
                      },
                      "required": [
                        "ayanamsha",
                        "atmakaraka",
                        "points",
                        "arudha_padas",
                        "charts"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "atmakaraka": "Mercury",
                        "points": {"lagna": "Capricorn", "karakamsha": "Virgo", "swamsha": "Virgo", "arudha_lagna": "Scorpio", "upapada": "Aquarius"},
                        "arudha_padas": {"with_exceptions": [{"house": 1, "sign": "Libra"}, {"house": 2, "sign": "Virgo"}, {"house": 3, "sign": "Libra"}], "without_exceptions": [{"house": 1, "sign": "Libra"}, {"house": 2, "sign": "Virgo"}, {"house": 3, "sign": "Libra"}]},
                        "charts": {"karakamsha": {"basis": "rasi placements, houses from the Karakamsha", "houses": [{"house": 1, "sign": "Virgo", "planets": ["Moon", "Mercury", "Venus"], "ascendant_here": false}, {"house": 2, "sign": "Libra", "planets": ["Sun", "Pluto"], "ascendant_here": false}, {"house": 3, "sign": "Scorpio", "planets": [], "ascendant_here": false}]}, "swamsha": {"basis": "navamsa placements, houses from the Karakamsha", "houses": [{"house": 1, "sign": "Virgo", "planets": ["Ketu", "Mercury", "Neptune"], "ascendant_here": false}, {"house": 2, "sign": "Libra", "planets": ["Sun"], "ascendant_here": false}, {"house": 3, "sign": "Scorpio", "planets": ["Saturn"], "ascendant_here": false}]}, "arudha_lagna": {"basis": "rasi placements, houses from the Arudha Lagna", "houses": [{"house": 1, "sign": "Scorpio", "planets": [], "ascendant_here": false}, {"house": 2, "sign": "Sagittarius", "planets": ["Saturn", "Uranus", "Neptune"], "ascendant_here": false}, {"house": 3, "sign": "Capricorn", "planets": ["Rahu"], "ascendant_here": true}]}, "upapada": {"basis": "rasi placements, houses from the Upapada", "houses": [{"house": 1, "sign": "Aquarius", "planets": [], "ascendant_here": false}, {"house": 2, "sign": "Pisces", "planets": [], "ascendant_here": false}, {"house": 3, "sign": "Aries", "planets": [], "ascendant_here": false}]}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/jaimini/jaimini-special-points": {
      "post": {
        "operationId": "jaimini-special-points",
        "summary": "Jaimini Special Points",
        "description": "Yogi, Avayogi, dagdha rashis, Brahma/Maheshwara/Rudra, the 64th navamsha and Jaimini sign-aspect pairs.",
        "tags": [
          "jaimini"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "yogi": {"type": "string"},
                        "avayogi": {"type": "string"},
                        "brahma": {"type": "string"},
                        "rudra": {"type": "string"},
                        "maheshwara": {"type": "string"},
                        "dagdha_rashis": {"type": "array"},
                        "navamsha_64th": {"type": "string"},
                        "rashi_aspects": {"type": "array", "items": {"type": "object", "properties": {"from": {"type": "string"}, "to": {"type": "string"}}, "required": ["from", "to"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "yogi",
                        "avayogi",
                        "brahma",
                        "rudra",
                        "maheshwara",
                        "dagdha_rashis",
                        "navamsha_64th",
                        "rashi_aspects"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "yogi": "Mercury",
                        "avayogi": "Mars",
                        "brahma": "Mercury",
                        "rudra": "Mars",
                        "maheshwara": "Mars",
                        "dagdha_rashis": [],
                        "navamsha_64th": "Sagittarius/Scorpio",
                        "rashi_aspects": [{"from": "Sun", "to": "Mars"}, {"from": "Moon", "to": "Saturn"}, {"from": "Mars", "to": "Jupiter"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/kp/kp-birth-chart": {
      "post": {
        "operationId": "kp-birth-chart",
        "summary": "KP Birth Chart, Fortuna & Significator Grid",
        "description": "KP cusps with star, sub and sub-sub lords, planets with their star lords and houses, significators by planet and by house, and the Part of Fortune with its KP lords.",
        "tags": [
          "kp"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "house_system": {"type": "string"},
                        "cusps": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}, "sub_lord_team": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "longitude", "sign", "degree", "star_lord", "sub_lord", "sub_sub_lord", "sub_lord_team"]}},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "star_lord": {"type": "string"}, "house": {"type": "integer"}}, "required": ["name", "longitude", "sign", "degree", "star_lord", "house"]}},
                        "significators": {"type": "object", "properties": {"by_planet": {"type": "object", "properties": {"Sun": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Saturn": {"type": "array", "items": {"type": "integer"}}, "Rahu": {"type": "array", "items": {"type": "integer"}}, "Ketu": {"type": "array", "items": {"type": "integer"}}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]}, "by_house": {"type": "object", "properties": {"1": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "2": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "3": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "4": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "5": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "6": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "7": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "8": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "9": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "10": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "11": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}, "12": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planet", "houses"]}}}, "required": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]}}, "required": ["by_planet", "by_house"]},
                        "fortuna": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "house": {"type": "integer"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}, "formula": {"type": "string"}}, "required": ["longitude", "sign", "degree", "house", "star_lord", "sub_lord", "sub_sub_lord", "formula"]}
                      },
                      "required": [
                        "ayanamsha",
                        "house_system",
                        "cusps",
                        "planets",
                        "significators",
                        "fortuna"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "house_system": "placidus",
                        "cusps": [{"house": 1, "longitude": 293.8935, "sign": "Capricorn", "degree": 23.8935, "star_lord": "Mars", "sub_lord": "Mars", "sub_sub_lord": "Venus", "sub_lord_team": ["Mars", "Sun", "Moon"]}, {"house": 2, "longitude": 334.7194, "sign": "Pisces", "degree": 4.7194, "star_lord": "Saturn", "sub_lord": "Saturn", "sub_sub_lord": "Moon", "sub_lord_team": ["Saturn", "Sun", "Moon"]}, {"house": 3, "longitude": 9.6406, "sign": "Aries", "degree": 9.6406, "star_lord": "Ketu", "sub_lord": "Saturn", "sub_sub_lord": "Saturn", "sub_lord_team": ["Saturn", "Sun", "Moon"]}],
                        "planets": [{"name": "Sun", "longitude": 180.995, "sign": "Libra", "degree": 0.995, "star_lord": "Mars", "house": 8}, {"name": "Moon", "longitude": 177.8767, "sign": "Virgo", "degree": 27.8767, "star_lord": "Mars", "house": 8}, {"name": "Mars", "longitude": 50.7878, "sign": "Taurus", "degree": 20.7878, "star_lord": "Moon", "house": 4}],
                        "significators": {"by_planet": {"Sun": [1, 5, 10], "Moon": [5, 7, 9], "Mars": [3, 5, 9], "Mercury": [5, 6, 7], "Jupiter": [2, 7, 9], "Venus": [4, 5, 9], "Saturn": [1, 7, 9], "Rahu": [1, 10], "Ketu": [7, 12]}, "by_house": {"1": [{"planet": "Sun", "houses": [1, 5, 10]}, {"planet": "Saturn", "houses": [1, 7, 9]}, {"planet": "Rahu", "houses": [1, 10]}], "2": [{"planet": "Jupiter", "houses": [2, 7, 9]}], "3": [{"planet": "Mars", "houses": [3, 5, 9]}], "4": [{"planet": "Venus", "houses": [4, 5, 9]}], "5": [{"planet": "Sun", "houses": [1, 5, 10]}, {"planet": "Moon", "houses": [5, 7, 9]}, {"planet": "Mars", "houses": [3, 5, 9]}], "6": [{"planet": "Mercury", "houses": [5, 6, 7]}], "7": [{"planet": "Moon", "houses": [5, 7, 9]}, {"planet": "Mercury", "houses": [5, 6, 7]}, {"planet": "Jupiter", "houses": [2, 7, 9]}], "8": [{"planet": "Mercury", "houses": [5, 6, 7]}], "9": [{"planet": "Moon", "houses": [5, 7, 9]}, {"planet": "Mars", "houses": [3, 5, 9]}, {"planet": "Mercury", "houses": [5, 6, 7]}], "10": [{"planet": "Sun", "houses": [1, 5, 10]}, {"planet": "Mars", "houses": [3, 5, 9]}, {"planet": "Rahu", "houses": [1, 10]}], "11": [{"planet": "Jupiter", "houses": [2, 7, 9]}], "12": [{"planet": "Jupiter", "houses": [2, 7, 9]}, {"planet": "Venus", "houses": [4, 5, 9]}, {"planet": "Saturn", "houses": [1, 7, 9]}]}},
                        "fortuna": {"longitude": 290.7753, "sign": "Capricorn", "degree": 20.7753, "house": 12, "star_lord": "Moon", "sub_lord": "Venus", "sub_sub_lord": "Venus", "formula": "Asc + Moon - Sun"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tajika/natal-sahams": {
      "post": {
        "operationId": "natal-sahams",
        "summary": "Natal Sahams",
        "description": "The 42 Tajika sahams computed for the birth chart, each with longitude, sign, degree and sign lord, and whether the birth is a day birth.",
        "tags": [
          "tajika"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "day_birth": {"type": "boolean"},
                        "ascendant_longitude": {"type": "number"},
                        "sahams": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}}, "required": ["name", "longitude", "sign", "degree", "sign_lord"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "day_birth",
                        "ascendant_longitude",
                        "sahams"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "day_birth": true,
                        "ascendant_longitude": 293.8936,
                        "sahams": [{"name": "Punya Saham", "longitude": 290.7753, "sign": "Capricorn", "degree": 20.7753, "sign_lord": "Saturn"}, {"name": "Guru Saham", "longitude": 297.0119, "sign": "Capricorn", "degree": 27.0119, "sign_lord": "Saturn"}, {"name": "Vidya Saham", "longitude": 297.0119, "sign": "Capricorn", "degree": 27.0119, "sign_lord": "Saturn"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/manglik-dosha": {
      "post": {
        "operationId": "manglik-dosha",
        "summary": "Manglik Dosha (in bundle)",
        "description": "Mars dosha checked from the Lagna, Moon and Venus, each with Mars's house and the dosha houses, plus an overall Manglik flag and count.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "manglik": {"type": "boolean"},
                        "count": {"type": "integer"},
                        "from": {"type": "object", "properties": {"lagna": {"type": "object", "properties": {"reference_sign": {"type": "string"}, "mars_sign": {"type": "string"}, "mars_house": {"type": "integer"}, "manglik": {"type": "boolean"}, "dosha_houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["reference_sign", "mars_sign", "mars_house", "manglik", "dosha_houses"]}, "moon": {"type": "object", "properties": {"reference_sign": {"type": "string"}, "mars_sign": {"type": "string"}, "mars_house": {"type": "integer"}, "manglik": {"type": "boolean"}, "dosha_houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["reference_sign", "mars_sign", "mars_house", "manglik", "dosha_houses"]}, "venus": {"type": "object", "properties": {"reference_sign": {"type": "string"}, "mars_sign": {"type": "string"}, "mars_house": {"type": "integer"}, "manglik": {"type": "boolean"}, "dosha_houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["reference_sign", "mars_sign", "mars_house", "manglik", "dosha_houses"]}}, "required": ["lagna", "moon", "venus"]}
                      },
                      "required": [
                        "ayanamsha",
                        "manglik",
                        "count",
                        "from"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "manglik": false,
                        "count": 0,
                        "from": {"lagna": {"reference_sign": "Capricorn", "mars_sign": "Taurus", "mars_house": 5, "manglik": false, "dosha_houses": [1, 2, 4]}, "moon": {"reference_sign": "Virgo", "mars_sign": "Taurus", "mars_house": 9, "manglik": false, "dosha_houses": [1, 2, 4]}, "venus": {"reference_sign": "Virgo", "mars_sign": "Taurus", "mars_house": 9, "manglik": false, "dosha_houses": [1, 2, 4]}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/bundle-kaalsarp-pitra": {
      "post": {
        "operationId": "bundle-kaalsarp-pitra",
        "summary": "Kaal Sarp & Pitra Dosha (in bundle)",
        "description": "Kaal Sarp presence, type and partial flag, and Pitra dosha types, strength and remedies, for the birth chart.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "kaal_sarp": {"type": "object", "properties": {"present": {"type": "boolean"}, "partial": {"type": "boolean"}, "type": {"type": "null"}, "rahu_house": {"type": "integer"}, "planets_outside_axis": {"type": "array", "items": {"type": "string"}}, "description": {"type": "string"}, "remedies": {"type": "array"}}, "required": ["present", "partial", "type", "rahu_house", "planets_outside_axis", "description", "remedies"]},
                        "pitra": {"type": "object", "properties": {"present": {"type": "boolean"}, "strength": {"type": "string"}, "types": {"type": "array"}, "not_assessed": {"type": "array"}, "summary": {"type": "string"}, "remedies": {"type": "array"}}, "required": ["present", "strength", "types", "not_assessed", "summary", "remedies"]}
                      },
                      "required": [
                        "ayanamsha",
                        "kaal_sarp",
                        "pitra"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "kaal_sarp": {"present": false, "partial": false, "type": null, "rahu_house": 1, "planets_outside_axis": ["Sun", "Moon", "Mercury"], "description": "No Kaal Sarp Yoga. Planets are not confined between Rahu and Ketu.", "remedies": []},
                        "pitra": {"present": false, "strength": "None", "types": [], "not_assessed": [], "summary": "No Pitra Dosh detected. Sun and Moon are free from afflictions of Rahu, Ketu, and Saturn in the natal chart.", "remedies": []}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/sade-sati": {
      "post": {
        "operationId": "sade-sati",
        "summary": "Sade Sati Periods",
        "description": "Saturn's Sade Sati phases (rising, peak, setting) and its 4th- and 8th-from-Moon spells across the life, with dates, murti, the periods running now and the next Sade Sati.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SadeSatiInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "moon_sign": {"type": "string"},
                        "scan": {"type": "object", "properties": {"from_year": {"type": "integer"}, "to_year": {"type": "integer"}}, "required": ["from_year", "to_year"]},
                        "as_of": {"type": "string"},
                        "current": {"type": "array"},
                        "next_sade_sati": {"type": "object", "properties": {"kind": {"type": "string"}, "phase": {"type": "string"}, "saturn_sign": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "days": {"type": "number"}, "short_spell": {"type": "boolean"}, "murti": {"type": "string"}, "murti_auspicious": {"type": "boolean"}, "began_before_scan": {"type": "boolean"}}, "required": ["kind", "phase", "saturn_sign", "start", "end", "days", "short_spell", "murti", "murti_auspicious", "began_before_scan"]},
                        "periods": {"type": "array", "items": {"type": "object", "properties": {"kind": {"type": "string"}, "phase": {"type": "string"}, "saturn_sign": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "days": {"type": "number"}, "short_spell": {"type": "boolean"}, "murti": {"type": "string"}, "murti_auspicious": {"type": "boolean"}, "began_before_scan": {"type": "boolean"}}, "required": ["kind", "phase", "saturn_sign", "start", "end", "days", "short_spell", "murti", "murti_auspicious", "began_before_scan"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "moon_sign",
                        "scan",
                        "as_of",
                        "current",
                        "next_sade_sati",
                        "periods"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "moon_sign": "Virgo",
                        "scan": {"from_year": 1985, "to_year": 2090},
                        "as_of": "2026-10-14",
                        "current": [],
                        "next_sade_sati": {"kind": "sade_sati", "phase": "rising", "saturn_sign": "Leo", "start": "2036-08-27T15:06:45+00:00", "end": "2038-10-22T11:26:48+00:00", "days": 785.85, "short_spell": false, "murti": "Tamra Murti", "murti_auspicious": false, "began_before_scan": false},
                        "periods": [{"kind": "sade_sati", "phase": "setting", "saturn_sign": "Libra", "start": "1985-05-31T21:04:29+00:00", "end": "1985-09-16T23:40:58+00:00", "days": 108.11, "short_spell": true, "murti": "Rajat Murti", "murti_auspicious": true, "began_before_scan": false}, {"kind": "kantaka", "phase": "fourth", "saturn_sign": "Sagittarius", "start": "1987-12-16T21:22:41+00:00", "end": "1990-03-20T20:34:30+00:00", "days": 824.97, "short_spell": false, "murti": "Rajat Murti", "murti_auspicious": true, "began_before_scan": false}, {"kind": "kantaka", "phase": "fourth", "saturn_sign": "Sagittarius", "start": "1990-06-20T11:43:20+00:00", "end": "1990-12-14T19:37:34+00:00", "days": 177.33, "short_spell": true, "murti": "Rajat Murti", "murti_auspicious": true, "began_before_scan": false}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/lifetime-malefic-transits": {
      "post": {
        "operationId": "lifetime-malefic-transits",
        "summary": "Lifetime Malefic Transit Windows",
        "description": "The natal signs made sensitive (and why) and every period in which Saturn, Rahu, Ketu or Mars transits them, with dates and ages up to age 120. A screening, not a prediction.",
        "tags": [
          "predictions"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "nature": {"type": "string"},
                        "malefics": {"type": "array", "items": {"type": "string"}},
                        "sensitive_signs": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["sign", "reasons"]}},
                        "periods": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "sign": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "string"}}, "from": {"type": "string"}, "to": {"type": "string"}, "from_age": {"type": "integer"}, "to_age": {"type": "integer"}}, "required": ["planet", "sign", "reasons", "from", "to", "from_age", "to_age"]}},
                        "max_age": {"type": "integer"}
                      },
                      "required": [
                        "ayanamsha",
                        "nature",
                        "malefics",
                        "sensitive_signs",
                        "periods",
                        "max_age"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "nature": "A screening of when slow malefics cross sensitive signs. Not a prediction.",
                        "malefics": ["Saturn", "Rahu", "Ketu"],
                        "sensitive_signs": [{"sign": "Gemini", "reasons": ["6th house"]}, {"sign": "Leo", "reasons": ["8th house (Ayu / Randhra)", "Weak Ashtakavarga (SAV 25)"]}, {"sign": "Virgo", "reasons": ["Janma Rashi (natal Moon)", "Maraka: 7th lord (Moon)", "Weak Ashtakavarga (SAV 19)"]}],
                        "periods": [{"planet": "Saturn", "sign": "Sagittarius", "reasons": ["12th house", "Maraka: 2nd lord (Saturn)", "Weak Ashtakavarga (SAV 22)"], "from": "1990-10-18", "to": "1990-12-14", "from_age": 0, "to_age": 0}, {"planet": "Rahu", "sign": "Capricorn", "reasons": ["Lagna (1st)"], "from": "1990-10-18", "to": "1991-04-12", "from_age": 0, "to_age": 0}, {"planet": "Saturn", "sign": "Capricorn", "reasons": ["Lagna (1st)"], "from": "1990-12-14", "to": "1993-03-05", "from_age": 0, "to_age": 2}],
                        "max_age": 120
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/ayurdaya": {
      "post": {
        "operationId": "ayurdaya",
        "summary": "Ayurdaya (Longevity Estimate) & Age",
        "description": "Classical Ayurdaya spans by five methods (Pindayu, Nisargayu, Amsayu, Jeevayu, Badrayan) in years, months and days, and the selected method with its basis.",
        "tags": [
          "predictions"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "nature": {"type": "string"},
                        "methods": {"type": "object", "properties": {"pindayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "nisargayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "amsayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "jeevayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "badrayan": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}}, "required": ["pindayu", "nisargayu", "amsayu", "jeevayu", "badrayan"]},
                        "selected": {"type": "object", "properties": {"method": {"type": "string"}, "basis": {"type": "object", "properties": {"strongest": {"type": "string"}, "lagna_lord": {"type": "string"}}, "required": ["strongest", "lagna_lord"]}, "span": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}}, "required": ["method", "basis", "span"]}
                      },
                      "required": [
                        "ayanamsha",
                        "nature",
                        "methods",
                        "selected"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "nature": "Classical Ayurdaya arithmetic (BPHS). An astrological calculation, not a medical or actuarial prediction.",
                        "methods": {"pindayu": {"years": 60, "months": 3, "days": 15}, "nisargayu": {"years": 45, "months": 5, "days": 20}, "amsayu": {"years": 51, "months": 1, "days": 24}, "jeevayu": {"years": 52, "months": 7, "days": 15}, "badrayan": {"years": 52, "months": 1, "days": 26}},
                        "selected": {"method": "pindayu", "basis": {"strongest": "Sun", "lagna_lord": "Saturn"}, "span": {"years": 60, "months": 3, "days": 15}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/personal-characteristics-bundle": {
      "post": {
        "operationId": "personal-characteristics-bundle",
        "summary": "Personal Characteristics (in bundle)",
        "description": "Twelve rows, one per house: the sign, its lord, where the lord sits, its dignity, strength, retrograde and combust flags, and a reading derived from that placement.",
        "tags": [
          "predictions"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "ascendant": {"type": "string"},
                        "ascendant_lord": {"type": "string"},
                        "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "lord": {"type": "string"}, "lord_sign": {"type": "string"}, "lord_house": {"type": "integer"}, "lord_dignity": {"type": "string"}, "lord_strength": {"type": "string"}, "lord_retrograde": {"type": "boolean"}, "lord_combust": {"type": "boolean"}, "reading": {"type": "string"}}, "required": ["house", "sign", "lord", "lord_sign", "lord_house", "lord_dignity", "lord_strength", "lord_retrograde", "lord_combust", "reading"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "ascendant",
                        "ascendant_lord",
                        "houses"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "ascendant": "Capricorn",
                        "ascendant_lord": "Saturn",
                        "houses": [{"house": 1, "sign": "Capricorn", "lord": "Saturn", "lord_sign": "Sagittarius", "lord_house": 12, "lord_dignity": "Neutral", "lord_strength": "Weak", "lord_retrograde": false, "lord_combust": false, "reading": "Because the 1st lord Saturn has moved to the 12th house, your health, temperament and how you meet the world is worked out through your expenses, foreign lands and release. Saturn is neutral in Sagittarius, giving a weak result; the 12th is a difficult house, which asks for patience here."}, {"house": 2, "sign": "Aquarius", "lord": "Saturn", "lord_sign": "Sagittarius", "lord_house": 12, "lord_dignity": "Neutral", "lord_strength": "Weak", "lord_retrograde": false, "lord_combust": false, "reading": "Because the 2nd lord Saturn has moved to the 12th house, your income, family and manner of speech is worked out through your expenses, foreign lands and release. Saturn is neutral in Sagittarius, giving a weak result; the 12th is a difficult house, which asks for patience here."}, {"house": 3, "sign": "Pisces", "lord": "Jupiter", "lord_sign": "Cancer", "lord_house": 7, "lord_dignity": "Exalted", "lord_strength": "Very strong", "lord_retrograde": false, "lord_combust": false, "reading": "Because the 3rd lord Jupiter has moved to the 7th house, your courage, siblings and short journeys is worked out through your marriage and business partnerships. Jupiter is exalted in Cancer, so it acts at its best here, giving a very strong result."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/numerology/numerology-bundle": {
      "post": {
        "operationId": "numerology-bundle",
        "summary": "Numerology (in bundle)",
        "description": "Radical, destiny and name numbers, Lo Shu and Vedic grids, Kua number, personal cycles and remedies, from the name and birth date.",
        "tags": [
          "numerology"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BundleCompositesNumerologyInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "name": "Asha Verma",
                "gender": "female"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "key_details": {"type": "object", "properties": {"name": {"type": "string"}, "dob": {"type": "string"}, "gender": {"type": "string"}, "radical_number": {"type": "integer"}, "destiny_number": {"type": "integer"}, "name_number": {"type": "integer"}, "ruling_planet": {"type": "string"}, "favourable_signs": {"type": "array", "items": {"type": "string"}}, "favourable_alphabets": {"type": "array", "items": {"type": "string"}}, "gemstone": {"type": "string"}, "gemstone_hindi": {"type": "string"}, "gemstone_colors": {"type": "array", "items": {"type": "string"}}, "favourable_days": {"type": "array", "items": {"type": "string"}}, "favourable_numbers": {"type": "array", "items": {"type": "integer"}}, "direction": {"type": "string"}, "auspicious_colours": {"type": "array", "items": {"type": "string"}}, "god": {"type": "string"}, "fast_day": {"type": "string"}, "favourable_dates": {"type": "array", "items": {"type": "string"}}, "mantra": {"type": "string"}, "yantra": {"type": "string"}, "yantra_metal": {"type": "string"}, "yantra_day": {"type": "string"}, "auspicious_places": {"type": "array", "items": {"type": "string"}}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}, "health_prone": {"type": "array", "items": {"type": "string"}}, "health_care": {"type": "array", "items": {"type": "string"}}, "career_fields": {"type": "array", "items": {"type": "string"}}, "donations": {"type": "array", "items": {"type": "string"}}}, "required": ["name", "dob", "gender", "radical_number", "destiny_number", "name_number", "ruling_planet", "favourable_signs", "favourable_alphabets", "gemstone", "gemstone_hindi", "gemstone_colors", "favourable_days", "favourable_numbers", "direction", "auspicious_colours", "god", "fast_day", "favourable_dates", "mantra", "yantra", "yantra_metal", "yantra_day", "auspicious_places", "strengths", "challenges", "health_prone", "health_care", "career_fields", "donations"]},
                        "radical_number": {"type": "object", "properties": {"number": {"type": "integer"}, "raw_day": {"type": "integer"}, "calculation": {"type": "string"}, "ruling_planet": {"type": "string"}, "favourable_signs": {"type": "array", "items": {"type": "string"}}, "favourable_alphabets": {"type": "array", "items": {"type": "string"}}, "gemstone": {"type": "string"}, "gemstone_hindi": {"type": "string"}, "gemstone_colors": {"type": "array", "items": {"type": "string"}}, "favourable_days": {"type": "array", "items": {"type": "string"}}, "favourable_numbers": {"type": "array", "items": {"type": "integer"}}, "direction": {"type": "string"}, "auspicious_colours": {"type": "array", "items": {"type": "string"}}, "god": {"type": "string"}, "fast_day": {"type": "string"}, "favourable_dates": {"type": "array", "items": {"type": "string"}}, "mantra": {"type": "string"}, "yantra": {"type": "string"}, "yantra_metal": {"type": "string"}, "yantra_day": {"type": "string"}, "auspicious_places": {"type": "array", "items": {"type": "string"}}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}, "health_prone": {"type": "array", "items": {"type": "string"}}, "health_care": {"type": "array", "items": {"type": "string"}}, "career_fields": {"type": "array", "items": {"type": "string"}}, "donations": {"type": "array", "items": {"type": "string"}}, "description": {"type": "string"}}, "required": ["number", "raw_day", "calculation", "ruling_planet", "favourable_signs", "favourable_alphabets", "gemstone", "gemstone_hindi", "gemstone_colors", "favourable_days", "favourable_numbers", "direction", "auspicious_colours", "god", "fast_day", "favourable_dates", "mantra", "yantra", "yantra_metal", "yantra_day", "auspicious_places", "strengths", "challenges", "health_prone", "health_care", "career_fields", "donations", "description"]},
                        "destiny_number": {"type": "object", "properties": {"number": {"type": "integer"}, "raw_sum": {"type": "integer"}, "calculation": {"type": "string"}, "ruling_planet": {"type": "string"}, "favourable_signs": {"type": "array", "items": {"type": "string"}}, "favourable_alphabets": {"type": "array", "items": {"type": "string"}}, "gemstone": {"type": "string"}, "gemstone_hindi": {"type": "string"}, "gemstone_colors": {"type": "array", "items": {"type": "string"}}, "favourable_days": {"type": "array", "items": {"type": "string"}}, "favourable_numbers": {"type": "array", "items": {"type": "integer"}}, "direction": {"type": "string"}, "auspicious_colours": {"type": "array", "items": {"type": "string"}}, "god": {"type": "string"}, "fast_day": {"type": "string"}, "favourable_dates": {"type": "array", "items": {"type": "string"}}, "mantra": {"type": "string"}, "yantra": {"type": "string"}, "yantra_metal": {"type": "string"}, "yantra_day": {"type": "string"}, "auspicious_places": {"type": "array", "items": {"type": "string"}}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}, "health_prone": {"type": "array", "items": {"type": "string"}}, "health_care": {"type": "array", "items": {"type": "string"}}, "career_fields": {"type": "array", "items": {"type": "string"}}, "donations": {"type": "array", "items": {"type": "string"}}, "description": {"type": "string"}}, "required": ["number", "raw_sum", "calculation", "ruling_planet", "favourable_signs", "favourable_alphabets", "gemstone", "gemstone_hindi", "gemstone_colors", "favourable_days", "favourable_numbers", "direction", "auspicious_colours", "god", "fast_day", "favourable_dates", "mantra", "yantra", "yantra_metal", "yantra_day", "auspicious_places", "strengths", "challenges", "health_prone", "health_care", "career_fields", "donations", "description"]},
                        "name_number": {"type": "object", "properties": {"number": {"type": "integer"}, "system": {"type": "string"}, "raw_sum": {"type": "integer"}, "calculation": {"type": "string"}, "letter_values": {"type": "array", "items": {"type": "object", "properties": {"letter": {"type": "string"}, "value": {"type": "integer"}}, "required": ["letter", "value"]}}, "ruling_planet": {"type": "string"}, "favourable_signs": {"type": "array", "items": {"type": "string"}}, "favourable_alphabets": {"type": "array", "items": {"type": "string"}}, "gemstone": {"type": "string"}, "gemstone_hindi": {"type": "string"}, "gemstone_colors": {"type": "array", "items": {"type": "string"}}, "favourable_days": {"type": "array", "items": {"type": "string"}}, "favourable_numbers": {"type": "array", "items": {"type": "integer"}}, "direction": {"type": "string"}, "auspicious_colours": {"type": "array", "items": {"type": "string"}}, "god": {"type": "string"}, "fast_day": {"type": "string"}, "favourable_dates": {"type": "array", "items": {"type": "string"}}, "mantra": {"type": "string"}, "yantra": {"type": "string"}, "yantra_metal": {"type": "string"}, "yantra_day": {"type": "string"}, "auspicious_places": {"type": "array", "items": {"type": "string"}}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}, "health_prone": {"type": "array", "items": {"type": "string"}}, "health_care": {"type": "array", "items": {"type": "string"}}, "career_fields": {"type": "array", "items": {"type": "string"}}, "donations": {"type": "array", "items": {"type": "string"}}, "description": {"type": "string"}}, "required": ["number", "system", "raw_sum", "calculation", "letter_values", "ruling_planet", "favourable_signs", "favourable_alphabets", "gemstone", "gemstone_hindi", "gemstone_colors", "favourable_days", "favourable_numbers", "direction", "auspicious_colours", "god", "fast_day", "favourable_dates", "mantra", "yantra", "yantra_metal", "yantra_day", "auspicious_places", "strengths", "challenges", "health_prone", "health_care", "career_fields", "donations", "description"]},
                        "loshu_grid": {"type": "object", "properties": {"raw_digits": {"type": "array", "items": {"type": "integer"}}, "active_digits": {"type": "array", "items": {"type": "integer"}}, "grid": {"type": "array", "items": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "count": {"type": "integer"}}, "required": ["number", "count"]}}}, "frequencies": {"type": "object", "properties": {"1": {"type": "integer"}, "2": {"type": "integer"}, "3": {"type": "integer"}, "4": {"type": "integer"}, "5": {"type": "integer"}, "6": {"type": "integer"}, "7": {"type": "integer"}, "8": {"type": "integer"}, "9": {"type": "integer"}}, "required": ["1", "2", "3", "4", "5", "6", "7", "8", "9"]}, "present": {"type": "array", "items": {"type": "integer"}}, "absent": {"type": "array", "items": {"type": "integer"}}, "planes": {"type": "object", "properties": {"mental": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array", "items": {"type": "integer"}}, "missing": {"type": "array", "items": {"type": "integer"}}, "filled": {"type": "boolean"}, "strength": {"type": "string"}, "desc": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "filled", "strength", "desc"]}, "emotional": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array"}, "missing": {"type": "array", "items": {"type": "integer"}}, "filled": {"type": "boolean"}, "strength": {"type": "string"}, "desc": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "filled", "strength", "desc"]}, "practical": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array", "items": {"type": "integer"}}, "missing": {"type": "array", "items": {"type": "integer"}}, "filled": {"type": "boolean"}, "strength": {"type": "string"}, "desc": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "filled", "strength", "desc"]}, "thought": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array", "items": {"type": "integer"}}, "missing": {"type": "array", "items": {"type": "integer"}}, "filled": {"type": "boolean"}, "strength": {"type": "string"}, "desc": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "filled", "strength", "desc"]}, "will": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array", "items": {"type": "integer"}}, "missing": {"type": "array", "items": {"type": "integer"}}, "filled": {"type": "boolean"}, "strength": {"type": "string"}, "desc": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "filled", "strength", "desc"]}, "action": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array"}, "missing": {"type": "array", "items": {"type": "integer"}}, "filled": {"type": "boolean"}, "strength": {"type": "string"}, "desc": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "filled", "strength", "desc"]}}, "required": ["mental", "emotional", "practical", "thought", "will", "action"]}, "arrows": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "active": {"type": "boolean"}, "type": {"type": "string"}}, "required": ["name", "numbers", "active", "type"]}}, "active_arrows": {"type": "array"}, "strong_planes": {"type": "array"}, "weak_planes": {"type": "array", "items": {"type": "string"}}, "missing_analysis": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "effect": {"type": "string"}}, "required": ["number", "effect"]}}, "present_analysis": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "count": {"type": "integer"}, "significance": {"type": "string"}, "effect": {"type": "string"}}, "required": ["number", "count", "significance", "effect"]}}}, "required": ["raw_digits", "active_digits", "grid", "frequencies", "present", "absent", "planes", "arrows", "active_arrows", "strong_planes", "weak_planes", "missing_analysis", "present_analysis"]},
                        "vedic_grid": {"type": "object", "properties": {"layout": {"type": "array", "items": {"type": "array", "items": {"type": "integer"}}}, "raw_digits": {"type": "array", "items": {"type": "integer"}}, "active_digits": {"type": "array", "items": {"type": "integer"}}, "grid": {"type": "array", "items": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "count": {"type": "integer"}}, "required": ["number", "count"]}}}, "frequencies": {"type": "object", "properties": {"1": {"type": "integer"}, "2": {"type": "integer"}, "3": {"type": "integer"}, "4": {"type": "integer"}, "5": {"type": "integer"}, "6": {"type": "integer"}, "7": {"type": "integer"}, "8": {"type": "integer"}, "9": {"type": "integer"}}, "required": ["1", "2", "3", "4", "5", "6", "7", "8", "9"]}, "present": {"type": "array", "items": {"type": "integer"}}, "absent": {"type": "array", "items": {"type": "integer"}}, "lines": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "type": {"type": "string"}, "active": {"type": "boolean"}}, "required": ["name", "numbers", "type", "active"]}}, "active_lines": {"type": "array"}, "missing_analysis": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "effect": {"type": "string"}}, "required": ["number", "effect"]}}, "present_analysis": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "count": {"type": "integer"}, "significance": {"type": "string"}, "effect": {"type": "string"}}, "required": ["number", "count", "significance", "effect"]}}}, "required": ["layout", "raw_digits", "active_digits", "grid", "frequencies", "present", "absent", "lines", "active_lines", "missing_analysis", "present_analysis"]},
                        "kua_number": {"type": "object", "properties": {"number": {"type": "integer"}, "element": {"type": "string"}, "direction": {"type": "string"}, "group": {"type": "string"}, "color": {"type": "string"}, "calculation": {"type": "string"}}, "required": ["number", "element", "direction", "group", "color", "calculation"]},
                        "personal_cycles": {"type": "object", "properties": {"current_date": {"type": "string"}, "personal_year": {"type": "integer"}, "personal_year_theme": {"type": "string"}, "personal_year_focus": {"type": "array", "items": {"type": "string"}}, "personal_year_energy": {"type": "string"}, "personal_year_calculation": {"type": "string"}, "personal_month": {"type": "integer"}, "personal_month_calculation": {"type": "string"}, "personal_day": {"type": "integer"}, "personal_day_calculation": {"type": "string"}, "personal_month_theme": {"type": "string"}, "personal_day_theme": {"type": "string"}}, "required": ["current_date", "personal_year", "personal_year_theme", "personal_year_focus", "personal_year_energy", "personal_year_calculation", "personal_month", "personal_month_calculation", "personal_day", "personal_day_calculation", "personal_month_theme", "personal_day_theme"]},
                        "combination": {"type": "object", "properties": {"radical_number": {"type": "integer"}, "destiny_number": {"type": "integer"}, "radical_planet": {"type": "string"}, "destiny_planet": {"type": "string"}, "same_number": {"type": "boolean"}, "compatibility": {"type": "string"}, "compatibility_score": {"type": "string"}, "shared_strengths": {"type": "array"}, "combined_strengths": {"type": "array", "items": {"type": "string"}}, "combined_challenges": {"type": "array", "items": {"type": "string"}}, "interaction_note": {"type": "string"}}, "required": ["radical_number", "destiny_number", "radical_planet", "destiny_planet", "same_number", "compatibility", "compatibility_score", "shared_strengths", "combined_strengths", "combined_challenges", "interaction_note"]},
                        "auspicious_place_time": {"type": "object", "properties": {"ruling_planet": {"type": "string"}, "direction": {"type": "string"}, "lucky_days": {"type": "array", "items": {"type": "string"}}, "lucky_colours": {"type": "array", "items": {"type": "string"}}, "lucky_dates": {"type": "array", "items": {"type": "string"}}, "lucky_numbers": {"type": "array", "items": {"type": "integer"}}, "auspicious_places": {"type": "array", "items": {"type": "string"}}, "auspicious_time_description": {"type": "string"}, "planet_effects": {"type": "string"}, "planet_time_note": {"type": "string"}}, "required": ["ruling_planet", "direction", "lucky_days", "lucky_colours", "lucky_dates", "lucky_numbers", "auspicious_places", "auspicious_time_description", "planet_effects", "planet_time_note"]},
                        "health_career": {"type": "object", "properties": {"ruling_planet": {"type": "string"}, "health_prone": {"type": "array", "items": {"type": "string"}}, "health_care": {"type": "array", "items": {"type": "string"}}, "career_fields": {"type": "array", "items": {"type": "string"}}, "health_general": {"type": "string"}, "career_description": {"type": "string"}}, "required": ["ruling_planet", "health_prone", "health_care", "career_fields", "health_general", "career_description"]},
                        "fasts_remedies": {"type": "object", "properties": {"fast_day": {"type": "string"}, "fast_details": {"type": "string"}, "remedies": {"type": "array", "items": {"type": "string"}}, "yantra": {"type": "string"}, "mantra": {"type": "string"}, "exclusive_facts": {"type": "string"}, "gemstone": {"type": "string"}, "gemstone_hindi": {"type": "string"}, "ruling_planet": {"type": "string"}, "fast_day_note": {"type": "string"}, "lucky_dates": {"type": "array", "items": {"type": "string"}}, "donations": {"type": "array", "items": {"type": "string"}}}, "required": ["fast_day", "fast_details", "remedies", "yantra", "mantra", "exclusive_facts", "gemstone", "gemstone_hindi", "ruling_planet", "fast_day_note", "lucky_dates", "donations"]}
                      },
                      "required": [
                        "key_details",
                        "radical_number",
                        "destiny_number",
                        "name_number",
                        "loshu_grid",
                        "vedic_grid",
                        "kua_number",
                        "personal_cycles",
                        "combination",
                        "auspicious_place_time",
                        "health_career",
                        "fasts_remedies"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "key_details": {"name": "Asha Verma", "dob": "1990-10-18", "gender": "female", "radical_number": 9, "destiny_number": 2, "name_number": 1, "ruling_planet": "Mars", "favourable_signs": ["Aries", "Scorpio"], "favourable_alphabets": ["I", "R"], "gemstone": "Red Coral", "gemstone_hindi": "Moonga", "gemstone_colors": ["Red", "Orange"], "favourable_days": ["Tuesday", "Monday", "Thursday"], "favourable_numbers": [9, 3, 6], "direction": "South", "auspicious_colours": ["Red", "Orange", "Pink"], "god": "Lord Hanuman / Lord Ganesha", "fast_day": "Tuesday", "favourable_dates": ["9th", "18th", "27th"], "mantra": "oṃ krāṃ krīṃ krauṃ saḥ bhaumāya namaḥ", "yantra": "Mangal Yantra", "yantra_metal": "Copper", "yantra_day": "Tuesday", "auspicious_places": ["Delhi", "Israel", "Rome"], "strengths": ["Courageous", "Energetic", "Idealistic"], "challenges": ["Quick-tempered", "Impulsive", "Risk-taking"], "health_prone": ["Fevers & inflammation", "Blood disorders", "Accidents / injuries"], "health_care": ["Anger management", "Iron-rich foods", "Protect head & hands"], "career_fields": ["Military", "Police", "Surgery"], "donations": ["Masoor dal", "Red cloth", "Copper items"]},
                        "radical_number": {"number": 9, "raw_day": 18, "calculation": "Day 18 → 18 → 1+8 = 9", "ruling_planet": "Mars", "favourable_signs": ["Aries", "Scorpio"], "favourable_alphabets": ["I", "R"], "gemstone": "Red Coral", "gemstone_hindi": "Moonga", "gemstone_colors": ["Red", "Orange"], "favourable_days": ["Tuesday", "Monday", "Thursday"], "favourable_numbers": [9, 3, 6], "direction": "South", "auspicious_colours": ["Red", "Orange", "Pink"], "god": "Lord Hanuman / Lord Ganesha", "fast_day": "Tuesday", "favourable_dates": ["9th", "18th", "27th"], "mantra": "oṃ krāṃ krīṃ krauṃ saḥ bhaumāya namaḥ", "yantra": "Mangal Yantra", "yantra_metal": "Copper", "yantra_day": "Tuesday", "auspicious_places": ["Delhi", "Israel", "Rome"], "strengths": ["Courageous", "Energetic", "Idealistic"], "challenges": ["Quick-tempered", "Impulsive", "Risk-taking"], "health_prone": ["Fevers & inflammation", "Blood disorders", "Accidents / injuries"], "health_care": ["Anger management", "Iron-rich foods", "Protect head & hands"], "career_fields": ["Military", "Police", "Surgery"], "donations": ["Masoor dal", "Red cloth", "Copper items"], "description": "Asha, your Radical Number is 9, ruled by Mars. Born on the 18th — Day 18 → 18 → 1+8 = 9 — this is your most personal number. It identifies the core elements of your character, personality, and individuality.\n\nUnder Mars's influence you are courageous, energetic, and fiercely competitive. You never back down from a challenge and thrive under pressure. Your key strengths are: Courageous, Energetic, and Idealistic. Lucky dates for you are 9th, 18th, 27th."},
                        "destiny_number": {"number": 2, "raw_sum": 29, "calculation": "1+8+1+0+1+9+9+0 = 29 → 2+9 = 11 → 1+1 = 2", "ruling_planet": "Moon", "favourable_signs": ["Cancer", "Taurus"], "favourable_alphabets": ["B", "K", "R"], "gemstone": "Pearl", "gemstone_hindi": "Moti", "gemstone_colors": ["White", "Silver"], "favourable_days": ["Monday", "Sunday", "Friday"], "favourable_numbers": [2, 7, 1], "direction": "North-West", "auspicious_colours": ["White", "Silver", "Cream"], "god": "Lord Shiva / Goddess Parvati", "fast_day": "Monday", "favourable_dates": ["2nd", "11th", "20th"], "mantra": "oṃ śrāṃ śrīṃ śrauṃ saḥ candrāya namaḥ", "yantra": "Chandra Yantra", "yantra_metal": "Silver", "yantra_day": "Monday", "auspicious_places": ["Mumbai", "Venice", "Amsterdam"], "strengths": ["Intuitive", "Diplomatic", "Empathetic"], "challenges": ["Indecisive", "Over-sensitive", "Dependent on others"], "health_prone": ["Digestion & acidity", "Chest / lungs", "Anxiety"], "health_care": ["Turmeric milk at night", "Meditation near water", "Avoid cold-damp"], "career_fields": ["Counselling", "Teaching", "Arts & Music"], "donations": ["Rice", "Milk", "White cloth"], "description": "Asha, your Destiny Number is 2, ruled by Moon. Calculated from your complete date of birth (1+8+1+0+1+9+9+0 = 29 → 2+9 = 11 → 1+1 = 2), this number reveals your life purpose and the talents you are here to develop.\n\nYour destiny calls you toward emotional wisdom, nurturing others, and developing deep intuitive insight that guides yourself and those around you. Your core strengths on this life path are: Intuitive, Diplomatic. You will prosper when you align your actions with your Destiny Number's energy."},
                        "name_number": {"number": 1, "system": "Chaldean", "raw_sum": 28, "calculation": "A(1)+S(3)+H(5)+A(1)+V(6)+E(5)+R(2)+M(4)+A(1) = 28 → 2+8 = 10 → 1+0 = 1", "letter_values": [{"letter": "A", "value": 1}, {"letter": "S", "value": 3}, {"letter": "H", "value": 5}], "ruling_planet": "Sun", "favourable_signs": ["Leo", "Aries"], "favourable_alphabets": ["A", "J", "S"], "gemstone": "Ruby", "gemstone_hindi": "Manikya", "gemstone_colors": ["Red", "Golden"], "favourable_days": ["Sunday", "Monday", "Thursday"], "favourable_numbers": [1, 2, 4], "direction": "East", "auspicious_colours": ["Golden", "Orange", "Yellow"], "god": "Lord Surya / Lord Ram", "fast_day": "Sunday", "favourable_dates": ["1st", "10th", "19th"], "mantra": "oṃ hrāṃ hrīṃ hrauṃ saḥ sūryāya namaḥ", "yantra": "Surya Yantra", "yantra_metal": "Copper", "yantra_day": "Sunday", "auspicious_places": ["Delhi", "London", "Rome"], "strengths": ["Natural leader", "Independent", "Courageous"], "challenges": ["Stubborn", "Domineering", "Impatient"], "health_prone": ["Heart / blood pressure", "Eye & vision", "Migraines"], "health_care": ["Surya Namaskar at dawn", "Copper vessel water", "Avoid overwork"], "career_fields": ["Government", "Politics", "Military"], "donations": ["Wheat", "Jaggery", "Red cloth"], "description": "Asha, your Name Number is 1 (computed via Chaldean numerology: A(1)+S(3)+H(5)+A(1)+V(6)+E(5)+R(2)+M(4)+A(1) = 28 → 2+8 = 10 → 1+0 = 1). The Name Number describes the talents and attitudes at your disposal in this lifetime — it is the number that defines how you present yourself to the world.\n\nYour name vibration projects authority, originality, and leadership. People see you as someone born to be in charge. Your name vibration is governed by Sun. Aligning your name's energy with your Radical Number (Sun) amplifies your overall potential."},
                        "loshu_grid": {"raw_digits": [1, 8, 1], "active_digits": [1, 8, 1], "grid": [[{"number": 4, "count": 0}, {"number": 9, "count": 2}, {"number": 2, "count": 0}], [{"number": 3, "count": 0}, {"number": 5, "count": 0}, {"number": 7, "count": 0}], [{"number": 8, "count": 1}, {"number": 1, "count": 3}, {"number": 6, "count": 0}]], "frequencies": {"1": 3, "2": 0, "3": 0, "4": 0, "5": 0, "6": 0, "7": 0, "8": 1, "9": 2}, "present": [1, 8, 9], "absent": [2, 3, 4], "planes": {"mental": {"label": "Mental Plane", "numbers": [4, 9, 2], "present": [9], "missing": [4, 2], "filled": false, "strength": "weak", "desc": "Intellect, memory, imagination"}, "emotional": {"label": "Emotional Plane", "numbers": [3, 5, 7], "present": [], "missing": [3, 5, 7], "filled": false, "strength": "weak", "desc": "Feelings, intuition, spirituality"}, "practical": {"label": "Practical Plane", "numbers": [8, 1, 6], "present": [8, 1], "missing": [6], "filled": false, "strength": "moderate", "desc": "Action, material affairs, stability"}, "thought": {"label": "Thought Plane", "numbers": [4, 3, 8], "present": [8], "missing": [4, 3], "filled": false, "strength": "weak", "desc": "Planning and systematic thinking"}, "will": {"label": "Will Plane", "numbers": [9, 5, 1], "present": [9, 1], "missing": [5], "filled": false, "strength": "moderate", "desc": "Determination and self-expression"}, "action": {"label": "Action Plane", "numbers": [2, 7, 6], "present": [], "missing": [2, 7, 6], "filled": false, "strength": "weak", "desc": "Physical drive and productivity"}}, "arrows": [{"name": "Arrow of Intellect", "numbers": [4, 9, 2], "active": false, "type": "row"}, {"name": "Arrow of Spiritual Will", "numbers": [3, 5, 7], "active": false, "type": "row"}, {"name": "Arrow of Practicality", "numbers": [8, 1, 6], "active": false, "type": "row"}], "active_arrows": [], "strong_planes": [], "weak_planes": ["emotional", "action"], "missing_analysis": [{"number": 2, "effect": "Sensitivity issues in relationships; trouble expressing emotions"}, {"number": 3, "effect": "Challenges with creative expression and communication"}, {"number": 4, "effect": "Lack of practical stability; difficulty in building routines"}], "present_analysis": [{"number": 1, "count": 3, "significance": "triple", "effect": "Exceptional leadership — guard against arrogance"}, {"number": 8, "count": 1, "significance": "single", "effect": "Practical business sense"}, {"number": 9, "count": 2, "significance": "double", "effect": "Very humanitarian and inspirational"}]},
                        "vedic_grid": {"layout": [[3, 1, 9], [6, 7, 5], [2, 8, 4]], "raw_digits": [1, 8, 1], "active_digits": [1, 8, 1], "grid": [[{"number": 3, "count": 0}, {"number": 1, "count": 3}, {"number": 9, "count": 2}], [{"number": 6, "count": 0}, {"number": 7, "count": 0}, {"number": 5, "count": 0}], [{"number": 2, "count": 0}, {"number": 8, "count": 1}, {"number": 4, "count": 0}]], "frequencies": {"1": 3, "2": 0, "3": 0, "4": 0, "5": 0, "6": 0, "7": 0, "8": 1, "9": 2}, "present": [1, 8, 9], "absent": [2, 3, 4], "lines": [{"name": "Row 1", "numbers": [3, 1, 9], "type": "row", "active": false}, {"name": "Row 2", "numbers": [6, 7, 5], "type": "row", "active": false}, {"name": "Row 3", "numbers": [2, 8, 4], "type": "row", "active": false}], "active_lines": [], "missing_analysis": [{"number": 2, "effect": "Sensitivity issues in relationships; trouble expressing emotions"}, {"number": 3, "effect": "Challenges with creative expression and communication"}, {"number": 4, "effect": "Lack of practical stability; difficulty in building routines"}], "present_analysis": [{"number": 1, "count": 3, "significance": "triple", "effect": "Exceptional leadership — guard against arrogance"}, {"number": 8, "count": 1, "significance": "single", "effect": "Practical business sense"}, {"number": 9, "count": 2, "significance": "double", "effect": "Very humanitarian and inspirational"}]},
                        "kua_number": {"number": 8, "element": "Earth", "direction": "North-East", "group": "West", "color": "Yellow/Brown", "calculation": "Year 1990 → last two digits 90 → sum=9 → Kua=8"},
                        "personal_cycles": {"current_date": "2026-10-14", "personal_year": 2, "personal_year_theme": "Cooperation", "personal_year_focus": ["Build partnerships", "Be patient", "Develop sensitivity"], "personal_year_energy": "Receptive", "personal_year_calculation": "Radical day(9) + birth month(1) + 2026 reduced(1) = 11 → 2", "personal_month": 3, "personal_month_calculation": "PY(2) + current month(10) = 12 → 3", "personal_day": 8, "personal_day_calculation": "PM(3) + current day(14) = 17 → 8", "personal_month_theme": "Expression", "personal_day_theme": "Manifestation"},
                        "combination": {"radical_number": 9, "destiny_number": 2, "radical_planet": "Mars", "destiny_planet": "Moon", "same_number": false, "compatibility": "Harmonious", "compatibility_score": "high", "shared_strengths": [], "combined_strengths": ["Courageous", "Creative", "Diplomatic"], "combined_challenges": ["Dependent on others", "Impulsive", "Indecisive"], "interaction_note": "Driver 9 (Mars) and Conductor 2 (Moon) have a harmonious relationship. "},
                        "auspicious_place_time": {"ruling_planet": "Mars", "direction": "South", "lucky_days": ["Tuesday", "Monday", "Thursday"], "lucky_colours": ["Red", "Orange", "Pink"], "lucky_dates": ["9th", "18th", "27th"], "lucky_numbers": [9, 3, 6], "auspicious_places": ["Delhi", "Israel", "Rome"], "auspicious_time_description": "South is your most favourable direction, aligned with your Radical Number 9 and ruling planet Mars. Working, travelling, or positioning your workspace facing South will amplify your success. Cities and countries in this direction — especially Delhi, Israel, Rome — are particularly fortunate. Your most favourable days are Tuesday and Monday.", "planet_effects": "Mars's influence on Asha's life: Under Mars's influence you are courageous, energetic, and fiercely competitive. You never back down from a challenge and thrive under pressure. Take special care of the body areas governed by Mars, and make Tuesday your day for important beginnings.", "planet_time_note": "Tuesday mornings during Mars's hora are ideal for bold actions, competitive activities, legal matters, and physical training."},
                        "health_career": {"ruling_planet": "Mars", "health_prone": ["Fevers & inflammation", "Blood disorders", "Accidents / injuries"], "health_care": ["Anger management", "Iron-rich foods", "Protect head & hands"], "career_fields": ["Military", "Police", "Surgery"], "health_general": "Asha, as a Number 9 person ruled by Mars: Mars rules your blood, muscles, and adrenal glands. Fevers, accidents, and inflammation are your most likely health events — stay grounded. The specific health areas to watch are listed below, along with care tips tailored to your ruling planet.", "career_description": "Asha, Your Mars energy makes you outstanding in military, sports, surgery, and competitive environments. Physical courage is your professional signature. Your Radical Number 9 under Mars's guidance makes you most effective in the career fields listed below."},
                        "fasts_remedies": {"fast_day": "Tuesday", "fast_details": "Observe a fast on Tuesday in Shukla Paksha. Eat only red or saffron-coloured foods — masoor dal, red fruits — once a day. Offer red flowers, sindoor, and red cloth to Lord Hanuman. Chanting Hanuman Chalisa 11 times on fasting Tuesdays is very auspicious.", "remedies": ["Offer Masoor dal and Red cloth at a Lord Hanuman temple on Tuesdays", "Chant oṃ krāṃ krīṃ krauṃ saḥ bhaumāya namaḥ — 108 times every Tuesday", "Donate Masoor dal, Red cloth, Copper items, Sindoor on Tuesdays"], "yantra": "The Mangal Yantra should be energised on a Tuesday in Mars's hora, preferably in Copper. Chant the mantra oṃ krāṃ krīṃ krauṃ saḥ bhaumāya namaḥ 108 times during energisation.", "mantra": "oṃ krāṃ krīṃ krauṃ saḥ bhaumāya namaḥ", "exclusive_facts": "Numerology identifies Number 9 as the number of completion and universal service. The number 9 is unique — multiplied by any number, it always reduces back to 9, symbolising its all-encompassing, eternal nature. Dates 9, 18, and 27 are your power dates. Your karmic lesson is to channel your fierce Mars energy into compassion and humanitarian service.", "gemstone": "Red Coral", "gemstone_hindi": "Moonga", "ruling_planet": "Mars", "fast_day_note": "Best observed during Shukla Paksha (waxing moon) Tuesdays", "lucky_dates": ["9th", "18th", "27th"], "donations": ["Masoor dal", "Red cloth", "Copper items"]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/bnn/bnn-bundle-charts": {
      "post": {
        "operationId": "bnn-bundle-charts",
        "summary": "BNN Charts (in bundle)",
        "description": "The nine-graha D1 and Bhav Chalit house lists used for BNN reading: each house's sign and planets.",
        "tags": [
          "bnn"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "d1": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "sign", "planets"]}},
                        "chalit": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "planets": {"type": "array"}}, "required": ["house", "sign", "planets"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "d1",
                        "chalit"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "d1": [{"house": 1, "sign": "Capricorn", "planets": ["Rahu"]}, {"house": 2, "sign": "Aquarius", "planets": []}, {"house": 3, "sign": "Pisces", "planets": []}],
                        "chalit": [{"house": 1, "sign": "Capricorn", "planets": []}, {"house": 2, "sign": "Aquarius", "planets": []}, {"house": 3, "sign": "Aries", "planets": []}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vedic-charts/d1-markers": {
      "post": {
        "operationId": "d1-markers",
        "summary": "D1 Markers (Vargottama, Pushkara)",
        "description": "Vargottama, Pushkara Navamsa and Pushkara Bhaga flags for the Ascendant and each planet, with its navamsa sign and the Pushkara Bhaga degree of its sign.",
        "tags": [
          "vedic-charts"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "lagna_vargottama": {"type": "boolean"},
                        "markers": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "navamsa_sign": {"type": "string"}, "vargottama": {"type": "boolean"}, "pushkara_navamsa": {"type": "boolean"}, "pushkara_bhaga": {"type": "boolean"}, "pushkara_bhaga_degree": {"type": "number"}}, "required": ["name", "sign", "degree", "navamsa_sign", "vargottama", "pushkara_navamsa", "pushkara_bhaga", "pushkara_bhaga_degree"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "lagna_vargottama",
                        "markers"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "lagna_vargottama": false,
                        "markers": [{"name": "Ascendant", "sign": "Capricorn", "degree": 23.8936, "navamsa_sign": "Leo", "vargottama": false, "pushkara_navamsa": false, "pushkara_bhaga": false, "pushkara_bhaga_degree": 14.0}, {"name": "Sun", "sign": "Libra", "degree": 0.995, "navamsa_sign": "Libra", "vargottama": true, "pushkara_navamsa": false, "pushkara_bhaga": false, "pushkara_bhaga_degree": 24.0}, {"name": "Moon", "sign": "Virgo", "degree": 27.8767, "navamsa_sign": "Virgo", "vargottama": true, "pushkara_navamsa": false, "pushkara_bhaga": false, "pushkara_bhaga_degree": 14.0}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/utilities/find-ascendant": {
      "post": {
        "operationId": "find-ascendant",
        "summary": "Find Ascendant",
        "description": "Rising sign, degree, nakshatra and pada with its KP sign, star and sub lords for a date, time and place, plus the planets' sidereal positions at that moment.",
        "tags": [
          "utilities"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BirthInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "element": {"type": "string"}, "modality": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["sign", "sign_number", "sign_lord", "element", "modality", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_lord", "pada"]},
                        "kp": {"type": "object", "properties": {"sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}}, "required": ["sign_lord", "star_lord", "sub_lord"]},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "retrograde": {"type": "boolean"}}, "required": ["name", "sign", "degree", "longitude", "nakshatra", "pada", "retrograde"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "ascendant",
                        "kp",
                        "planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "ascendant": {"sign": "Capricorn", "sign_number": 10, "sign_lord": "Saturn", "element": "Earth", "modality": "Cardinal", "degree": 23.8935, "degree_dms": "23° 53' 36\"", "longitude": 293.8935, "nakshatra": "Dhanishta", "nakshatra_lord": "Mars", "pada": 1},
                        "kp": {"sign_lord": "SAT", "star_lord": "MAR", "sub_lord": "MAR"},
                        "planets": [{"name": "Sun", "sign": "Libra", "degree": 0.9951, "longitude": 180.9951, "nakshatra": "Chitra", "pada": 3, "retrograde": false}, {"name": "Moon", "sign": "Virgo", "degree": 27.8766, "longitude": 177.8766, "nakshatra": "Chitra", "pada": 2, "retrograde": false}, {"name": "Mars", "sign": "Taurus", "degree": 20.7877, "longitude": 50.7877, "nakshatra": "Rohini", "pada": 4, "retrograde": false}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/utilities/find-moon-sign": {
      "post": {
        "operationId": "find-moon-sign",
        "summary": "Find Moon Sign",
        "description": "Sidereal Moon sign (and nakshatra) for a date, time and place.",
        "tags": [
          "utilities"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BirthInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "moon_sign": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "element": {"type": "string"}, "modality": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["sign", "sign_number", "sign_lord", "element", "modality", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_lord", "pada"]}
                      },
                      "required": [
                        "ayanamsha",
                        "moon_sign"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "moon_sign": {"sign": "Virgo", "sign_number": 6, "sign_lord": "Mercury", "element": "Earth", "modality": "Mutable", "degree": 27.8766, "degree_dms": "27° 52' 35\"", "longitude": 177.8766, "nakshatra": "Chitra", "nakshatra_lord": "Mars", "pada": 2}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/utilities/find-sun-sign": {
      "post": {
        "operationId": "find-sun-sign",
        "summary": "Find Sun Sign",
        "description": "The sidereal (Vedic) Sun sign with degree and nakshatra, and the tropical (Western) Sun sign, for a date; time and place refine it.",
        "tags": [
          "utilities"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BirthInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "vedic": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "element": {"type": "string"}, "modality": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["sign", "sign_number", "sign_lord", "element", "modality", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_lord", "pada"]},
                        "western": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_lord": {"type": "string"}, "element": {"type": "string"}, "modality": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}}, "required": ["sign", "sign_lord", "element", "modality", "degree", "longitude"]}
                      },
                      "required": [
                        "ayanamsha",
                        "vedic",
                        "western"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "vedic": {"sign": "Libra", "sign_number": 7, "sign_lord": "Venus", "element": "Air", "modality": "Cardinal", "degree": 0.9951, "degree_dms": "0° 59' 42\"", "longitude": 180.9951, "nakshatra": "Chitra", "nakshatra_lord": "Mars", "pada": 3},
                        "western": {"sign": "Libra", "sign_lord": "Venus", "element": "Air", "modality": "Cardinal", "degree": 24.7272, "longitude": 204.7272}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/utilities/languages": {
      "post": {
        "operationId": "languages",
        "summary": "Supported Languages",
        "description": "Lists the language codes responses can be localised into, with English and native names and whether each is written right to left.",
        "tags": [
          "utilities"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LanguagesInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "code": "hi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "default": {"type": "string"},
                        "languages": {"type": "array", "items": {"type": "object", "properties": {"code": {"type": "string"}, "name": {"type": "string"}, "native_name": {"type": "string"}, "right_to_left": {"type": "boolean"}}, "required": ["code", "name", "native_name", "right_to_left"]}}
                      },
                      "required": [
                        "default",
                        "languages"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "default": "en",
                        "languages": [{"code": "hi", "name": "Hindi", "native_name": "हिन्दी", "right_to_left": false}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/utilities/geo-search": {
      "post": {
        "operationId": "geo-search",
        "summary": "Place Search",
        "description": "Searches the built-in city list by name and returns coordinates, IANA zone and the UTC offset in force on a given date/time.",
        "tags": [
          "utilities"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoSearchInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "name": "Delhi",
                "date": "1990-10-18",
                "time": "14:30"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "query": {"type": "string"},
                        "places": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "string"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "timezone": {"type": "string"}, "utc_offset": {"type": "string"}, "utc_offset_on": {"type": "string"}, "standard_utc_offset": {"type": "string"}, "dst": {"type": "boolean"}, "instant": {"type": "object", "properties": {"status": {"type": "string"}, "utc_offset": {"type": "string"}, "abbreviation": {"type": "string"}, "utc": {"type": "string"}, "candidates": {"type": "array"}}, "required": ["status", "utc_offset", "abbreviation", "utc", "candidates"]}}, "required": ["city", "state", "country", "latitude", "longitude", "timezone", "utc_offset", "utc_offset_on", "standard_utc_offset", "dst", "instant"]}},
                        "catalogue": {"type": "object", "properties": {"kind": {"type": "string"}, "size": {"type": "integer"}}, "required": ["kind", "size"]}
                      },
                      "required": [
                        "query",
                        "places",
                        "catalogue"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "query": "Delhi",
                        "places": [{"city": "Delhi", "state": "Delhi", "country": "India", "latitude": 28.6139, "longitude": 77.209, "timezone": "Asia/Kolkata", "utc_offset": "+05:30", "utc_offset_on": "1990-10-18", "standard_utc_offset": "+05:30", "dst": false, "instant": {"status": "ok", "utc_offset": "+05:30", "abbreviation": "IST", "utc": "1990-10-18T09:00:00Z", "candidates": []}}],
                        "catalogue": {"kind": "built_in_city_list", "size": 258}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/utilities/geo-search-advanced": {
      "post": {
        "operationId": "geo-search-advanced",
        "summary": "Place Search (City + Country)",
        "description": "Place search narrowed by city and country, with DST-aware offset.",
        "tags": [
          "utilities"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoSearchAdvancedInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "city": "London",
                "country": "United Kingdom",
                "date": "1990-07-01",
                "time": "12:00"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "query": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "state": {"type": "string"}}, "required": ["city", "country", "state"]},
                        "places": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "string"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "timezone": {"type": "string"}, "utc_offset": {"type": "string"}, "utc_offset_on": {"type": "string"}, "standard_utc_offset": {"type": "string"}, "dst": {"type": "boolean"}, "instant": {"type": "object", "properties": {"status": {"type": "string"}, "utc_offset": {"type": "string"}, "abbreviation": {"type": "string"}, "utc": {"type": "string"}, "candidates": {"type": "array"}}, "required": ["status", "utc_offset", "abbreviation", "utc", "candidates"]}}, "required": ["city", "state", "country", "latitude", "longitude", "timezone", "utc_offset", "utc_offset_on", "standard_utc_offset", "dst", "instant"]}},
                        "catalogue": {"type": "object", "properties": {"kind": {"type": "string"}, "size": {"type": "integer"}}, "required": ["kind", "size"]}
                      },
                      "required": [
                        "query",
                        "places",
                        "catalogue"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "query": {"city": "London", "country": "United Kingdom", "state": ""},
                        "places": [{"city": "London", "state": "England", "country": "United Kingdom", "latitude": 51.5074, "longitude": -0.1278, "timezone": "Europe/London", "utc_offset": "+01:00", "utc_offset_on": "1990-07-01", "standard_utc_offset": "+00:00", "dst": true, "instant": {"status": "ok", "utc_offset": "+01:00", "abbreviation": "BST", "utc": "1990-07-01T11:00:00Z", "candidates": []}}],
                        "catalogue": {"kind": "built_in_city_list", "size": 258}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/utilities/resolve-instant": {
      "post": {
        "operationId": "resolve-instant",
        "summary": "Resolve Birth Instant",
        "description": "Turns an IANA zone plus local date and time into one UTC instant, or reports that the local time was ambiguous (both candidates returned) or nonexistent across a DST change.",
        "tags": [
          "utilities"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ResolveInstantInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "timezone": "Europe/London",
                "date": "1990-10-28",
                "time": "01:30"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "timezone": {"type": "string"},
                        "local_date": {"type": "string"},
                        "local_time": {"type": "string"},
                        "status": {"type": "string"},
                        "utc_offset": {"type": "null"},
                        "abbreviation": {"type": "null"},
                        "utc": {"type": "null"},
                        "candidates": {"type": "array", "items": {"type": "object", "properties": {"utc_offset": {"type": "string"}, "abbreviation": {"type": "string"}, "utc": {"type": "string"}}, "required": ["utc_offset", "abbreviation", "utc"]}}
                      },
                      "required": [
                        "timezone",
                        "local_date",
                        "local_time",
                        "status",
                        "utc_offset",
                        "abbreviation",
                        "utc",
                        "candidates"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "timezone": "Europe/London",
                        "local_date": "1990-10-28",
                        "local_time": "01:30",
                        "status": "ambiguous",
                        "utc_offset": null,
                        "abbreviation": null,
                        "utc": null,
                        "candidates": [{"utc_offset": "+01:00", "abbreviation": "BST", "utc": "1990-10-28T00:30:00Z"}, {"utc_offset": "+00:00", "abbreviation": "GMT", "utc": "1990-10-28T01:30:00Z"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["This local time happened twice (clocks went back); choose one of the candidates."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/strengths/ashtakavarga": {
      "post": {
        "operationId": "ashtakavarga",
        "summary": "Ashtakavarga (Multi-School)",
        "description": "Ashtakavarga for a birth under a chosen school (BPHS, Jagannatha Hora or Parashara's Light): bhinnashtakavarga, sarvashtakavarga, reductions with pindas and Ayus; optionally every school.",
        "tags": [
          "strengths"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AshtakavargaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "school": "BPHS"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "school": {"type": "string"},
                        "sign_order": {"type": "array", "items": {"type": "string"}},
                        "bhinnashtakavarga": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Moon": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Mars": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Mercury": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Jupiter": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Venus": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Saturn": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}, "Lagna": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}, "contributors": {"type": "object", "properties": {"Saturn": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Sun": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Lagna": {"type": "array", "items": {"type": "integer"}}}, "required": ["Saturn", "Jupiter", "Mars", "Sun", "Venus", "Mercury", "Moon", "Lagna"]}}, "required": ["by_sign", "total", "contributors"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Lagna"]},
                        "sarvashtakavarga": {"type": "object", "properties": {"by_sign": {"type": "array", "items": {"type": "integer"}}, "total": {"type": "integer"}}, "required": ["by_sign", "total"]},
                        "reductions": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Moon": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Mars": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Mercury": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Jupiter": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Venus": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Saturn": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}, "Lagna": {"type": "object", "properties": {"before": {"type": "array", "items": {"type": "integer"}}, "trikona": {"type": "array", "items": {"type": "integer"}}, "ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}, "sodhya_pinda": {"type": "integer"}}, "required": ["before", "trikona", "ekadhipatya", "rashi_pinda", "graha_pinda", "sodhya_pinda"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Lagna"]},
                        "ayus": {"type": "object", "properties": {"school": {"type": "string"}, "nakshatra_ayus": {"type": "object", "properties": {"shodhya_sav": {"type": "integer"}, "ayus_units": {"type": "number"}, "years": {"type": "number"}, "sav_before": {"type": "array", "items": {"type": "integer"}}, "sav_trikona": {"type": "array", "items": {"type": "integer"}}, "sav_ekadhipatya": {"type": "array", "items": {"type": "integer"}}, "rashi_pinda": {"type": "integer"}, "graha_pinda": {"type": "integer"}}, "required": ["shodhya_sav", "ayus_units", "years", "sav_before", "sav_trikona", "sav_ekadhipatya", "rashi_pinda", "graha_pinda"]}, "mandal_ayu": {"type": "object", "properties": {"triggers_found": {"type": "array", "items": {"type": "string"}}, "applicable": {"type": "boolean"}, "breakdown": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array", "items": {"type": "string"}}, "haran_tier": {"type": "string"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Moon": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array", "items": {"type": "string"}}, "haran_tier": {"type": "string"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Mars": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array"}, "haran_tier": {"type": "null"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Mercury": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array", "items": {"type": "string"}}, "haran_tier": {"type": "string"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Jupiter": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array"}, "haran_tier": {"type": "null"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Venus": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array", "items": {"type": "string"}}, "haran_tier": {"type": "string"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}, "Saturn": {"type": "object", "properties": {"shodhya": {"type": "integer"}, "gross": {"type": "number"}, "haran_multiplier": {"type": "number"}, "haran_tags": {"type": "array"}, "haran_tier": {"type": "null"}, "reduced": {"type": "number"}}, "required": ["shodhya", "gross", "haran_multiplier", "haran_tags", "haran_tier", "reduced"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn"]}, "total": {"type": "number"}, "years": {"type": "number"}}, "required": ["triggers_found", "applicable", "breakdown", "total", "years"]}, "chakrapata_applied": {"type": "boolean"}, "eclipse_checked": {"type": "boolean"}}, "required": ["school", "nakshatra_ayus", "mandal_ayu", "chakrapata_applied", "eclipse_checked"]}
                      },
                      "required": [
                        "ayanamsha",
                        "school",
                        "sign_order",
                        "bhinnashtakavarga",
                        "sarvashtakavarga",
                        "reductions",
                        "ayus"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "school": "BPHS",
                        "sign_order": ["Aries", "Taurus", "Gemini"],
                        "bhinnashtakavarga": {"Sun": {"by_sign": [2, 4, 6], "total": 48, "contributors": {"Saturn": [0, 0, 1], "Jupiter": [0, 1, 0], "Mars": [0, 1, 1], "Sun": [1, 1, 1], "Venus": [0, 0, 0], "Mercury": [0, 1, 1], "Moon": [0, 0, 1], "Lagna": [1, 0, 1]}}, "Moon": {"by_sign": [4, 4, 6], "total": 49, "contributors": {"Saturn": [1, 1, 0], "Jupiter": [1, 1, 1], "Mars": [0, 0, 1], "Sun": [1, 1, 0], "Venus": [0, 1, 1], "Mercury": [1, 0, 1], "Moon": [0, 0, 1], "Lagna": [0, 0, 1]}}, "Mars": {"by_sign": [2, 2, 4], "total": 39, "contributors": {"Saturn": [0, 0, 1], "Jupiter": [1, 1, 1], "Mars": [0, 1, 1], "Sun": [0, 0, 0], "Venus": [1, 0, 0], "Mercury": [0, 0, 0], "Moon": [0, 0, 0], "Lagna": [0, 0, 1]}}, "Mercury": {"by_sign": [3, 4, 7], "total": 54, "contributors": {"Saturn": [0, 0, 1], "Jupiter": [0, 1, 1], "Mars": [0, 1, 1], "Sun": [0, 0, 1], "Venus": [1, 1, 0], "Mercury": [0, 1, 1], "Moon": [1, 0, 1], "Lagna": [1, 0, 1]}}, "Jupiter": {"by_sign": [4, 8, 5], "total": 56, "contributors": {"Saturn": [1, 1, 0], "Jupiter": [1, 1, 0], "Mars": [0, 1, 1], "Sun": [1, 1, 1], "Venus": [0, 1, 1], "Mercury": [0, 1, 1], "Moon": [0, 1, 0], "Lagna": [1, 1, 1]}}, "Venus": {"by_sign": [6, 6, 1], "total": 52, "contributors": {"Saturn": [1, 0, 0], "Jupiter": [1, 1, 0], "Mars": [1, 0, 0], "Sun": [0, 1, 0], "Venus": [1, 1, 1], "Mercury": [0, 1, 0], "Moon": [1, 1, 0], "Lagna": [1, 1, 0]}}, "Saturn": {"by_sign": [5, 4, 3], "total": 39, "contributors": {"Saturn": [1, 1, 0], "Jupiter": [0, 1, 1], "Mars": [1, 0, 0], "Sun": [1, 1, 0], "Venus": [0, 0, 0], "Mercury": [1, 1, 1], "Moon": [0, 0, 0], "Lagna": [1, 0, 1]}}, "Lagna": {"by_sign": [3, 4, 3], "total": 49, "contributors": {"Saturn": [0, 1, 0], "Jupiter": [1, 1, 0], "Mars": [0, 1, 0], "Sun": [0, 0, 0], "Venus": [1, 1, 0], "Mercury": [1, 0, 1], "Moon": [0, 0, 1], "Lagna": [0, 0, 1]}}},
                        "sarvashtakavarga": {"by_sign": [26, 32, 32], "total": 337},
                        "reductions": {"Sun": {"before": [2, 4, 6], "trikona": [0, 3, 3], "ekadhipatya": [0, 3, 3], "rashi_pinda": 134, "graha_pinda": 34, "sodhya_pinda": 168}, "Moon": {"before": [4, 4, 6], "trikona": [3, 1, 2], "ekadhipatya": [3, 1, 2], "rashi_pinda": 78, "graha_pinda": 38, "sodhya_pinda": 116}, "Mars": {"before": [2, 2, 4], "trikona": [0, 1, 2], "ekadhipatya": [0, 1, 2], "rashi_pinda": 84, "graha_pinda": 28, "sodhya_pinda": 112}, "Mercury": {"before": [3, 4, 7], "trikona": [0, 0, 3], "ekadhipatya": [0, 0, 3], "rashi_pinda": 90, "graha_pinda": 20, "sodhya_pinda": 110}, "Jupiter": {"before": [4, 8, 5], "trikona": [1, 5, 0], "ekadhipatya": [1, 5, 0], "rashi_pinda": 104, "graha_pinda": 85, "sodhya_pinda": 189}, "Venus": {"before": [6, 6, 1], "trikona": [4, 1, 0], "ekadhipatya": [1, 1, 0], "rashi_pinda": 108, "graha_pinda": 50, "sodhya_pinda": 158}, "Saturn": {"before": [5, 4, 3], "trikona": [4, 3, 0], "ekadhipatya": [2, 3, 0], "rashi_pinda": 115, "graha_pinda": 59, "sodhya_pinda": 174}, "Lagna": {"before": [3, 4, 3], "trikona": [0, 1, 0], "ekadhipatya": [0, 1, 0], "rashi_pinda": 69, "graha_pinda": 60, "sodhya_pinda": 129}},
                        "ayus": {"school": "BPHS", "nakshatra_ayus": {"shodhya_sav": 602, "ayus_units": 156.07, "years": 138.45, "sav_before": [26, 32, 32], "sav_trikona": [4, 13, 5], "sav_ekadhipatya": [4, 13, 5], "rashi_pinda": 408, "graha_pinda": 194}, "mandal_ayu": {"triggers_found": ["Moon not in kendra and conjoined with another planet"], "applicable": true, "breakdown": {"Sun": {"shodhya": 168, "gross": 16.56, "haran_multiplier": 0.5, "haran_tags": ["debilitated"], "haran_tier": "A", "reduced": 8.28}, "Moon": {"shodhya": 116, "gross": 3.07, "haran_multiplier": 0.5, "haran_tags": ["multi-in-sign"], "haran_tier": "A", "reduced": 1.54}, "Mars": {"shodhya": 112, "gross": 2.04, "haran_multiplier": 1.0, "haran_tags": [], "haran_tier": null, "reduced": 2.04}, "Mercury": {"shodhya": 110, "gross": 1.52, "haran_multiplier": 0.5, "haran_tags": ["multi-in-sign"], "haran_tier": "A", "reduced": 0.76}, "Jupiter": {"shodhya": 189, "gross": 22.0, "haran_multiplier": 1.0, "haran_tags": [], "haran_tier": null, "reduced": 22.0}, "Venus": {"shodhya": 158, "gross": 13.96, "haran_multiplier": 0.5, "haran_tags": ["multi-in-sign", "debilitated"], "haran_tier": "A", "reduced": 6.98}, "Saturn": {"shodhya": 174, "gross": 18.11, "haran_multiplier": 1.0, "haran_tags": [], "haran_tier": null, "reduced": 18.11}}, "total": 59.7, "years": 58.85}, "chakrapata_applied": false, "eclipse_checked": false}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/dashas/vimshottari-deep": {
      "post": {
        "operationId": "vimshottari-deep",
        "summary": "Vimshottari to Sukshma / Prana Level",
        "description": "Vimshottari hierarchy Maha, Antar, Pratyantar and Sukshma, optionally down to Prana, from the Moon longitude and birth date.",
        "tags": [
          "dashas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VimshottariDeepInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "depth": "sukshma"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "depth": {"type": "string"},
                        "note": {"type": "string"},
                        "moon": {"type": "object", "properties": {"longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}}, "required": ["longitude", "nakshatra", "pada", "nakshatra_lord"]},
                        "balance_at_birth": {"type": "object", "properties": {"lord": {"type": "string"}, "years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["lord", "years", "months", "days"]},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "mahadasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}, "antardasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}, "pratyantardasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}, "sukshmadasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}, "required": ["as_of", "mahadasha", "antardasha", "pratyantardasha", "sukshmadasha"]},
                        "mahadashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "pratyantardashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "sukshmadashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}}, "required": ["lord", "start", "end", "sukshmadashas"]}}}, "required": ["lord", "start", "end", "pratyantardashas"]}}}, "required": ["lord", "start", "end", "antardashas"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "depth",
                        "note",
                        "moon",
                        "balance_at_birth",
                        "current",
                        "mahadashas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "depth": "sukshma",
                        "note": "Boundaries are exact to the second, in local time at the birth's UTC offset, on 365.25-day years; the periods running at birth start at the birth. vimshottari-dasha gives the same periods as whole dates chained day by day, which can differ from these by up to 3 days.",
                        "moon": {"longitude": 177.8766, "nakshatra": "Chitra", "pada": 2, "nakshatra_lord": "Mars"},
                        "balance_at_birth": {"lord": "Mars", "years": 4, "months": 7, "days": 11},
                        "current": {"as_of": "2026-10-14T14:00:10", "mahadasha": {"lord": "Jupiter", "start": "2013-05-30T15:30:03", "end": "2029-05-30T15:30:03"}, "antardasha": {"lord": "Mars", "start": "2026-01-29T03:30:03", "end": "2027-01-05T01:06:03"}, "pratyantardasha": {"lord": "Venus", "start": "2026-09-24T18:37:15", "end": "2026-11-20T14:13:15"}, "sukshmadasha": {"lord": "Mars", "start": "2026-10-11T19:42:03", "end": "2026-10-15T03:14:39"}},
                        "mahadashas": [{"lord": "Mars", "start": "1990-10-18T14:30:00", "end": "1995-05-31T03:30:03", "antardashas": [{"lord": "Jupiter", "start": "1990-10-18T14:30:00", "end": "1990-10-20T22:51:03", "pratyantardashas": [{"lord": "Rahu", "start": "1990-10-18T14:30:00", "end": "1990-10-20T22:51:03", "sukshmadashas": [{"lord": "Mars", "start": "1990-10-18T14:30:00", "end": "1990-10-20T22:51:03"}]}]}, {"lord": "Saturn", "start": "1990-10-20T22:51:03", "end": "1991-11-29T18:30:03", "pratyantardashas": [{"lord": "Saturn", "start": "1990-10-20T22:51:03", "end": "1990-12-24T01:09:43", "sukshmadashas": [{"lord": "Saturn", "start": "1990-10-20T22:51:03", "end": "1990-10-31T02:25:00"}, {"lord": "Mercury", "start": "1990-10-31T02:25:00", "end": "1990-11-09T04:20:39"}, {"lord": "Ketu", "start": "1990-11-09T04:20:39", "end": "1990-11-12T22:04:44"}]}, {"lord": "Mercury", "start": "1990-12-24T01:09:43", "end": "1991-02-19T09:32:45", "sukshmadashas": [{"lord": "Mercury", "start": "1990-12-24T01:09:43", "end": "1991-01-01T04:08:59"}, {"lord": "Ketu", "start": "1991-01-01T04:08:59", "end": "1991-01-04T12:26:20"}, {"lord": "Venus", "start": "1991-01-04T12:26:20", "end": "1991-01-14T01:50:10"}]}, {"lord": "Ketu", "start": "1991-02-19T09:32:45", "end": "1991-03-15T00:17:31", "sukshmadashas": [{"lord": "Ketu", "start": "1991-02-19T09:32:45", "end": "1991-02-20T18:36:22"}, {"lord": "Venus", "start": "1991-02-20T18:36:22", "end": "1991-02-24T17:03:49"}, {"lord": "Sun", "start": "1991-02-24T17:03:49", "end": "1991-02-25T21:24:04"}]}]}, {"lord": "Mercury", "start": "1991-11-29T18:30:03", "end": "1992-11-25T23:27:03", "pratyantardashas": [{"lord": "Mercury", "start": "1991-11-29T18:30:03", "end": "1992-01-20T02:00:07", "sukshmadashas": [{"lord": "Mercury", "start": "1991-11-29T18:30:03", "end": "1991-12-07T00:57:49"}, {"lord": "Ketu", "start": "1991-12-07T00:57:49", "end": "1991-12-10T00:48:04"}, {"lord": "Venus", "start": "1991-12-10T00:48:04", "end": "1991-12-18T14:03:05"}]}, {"lord": "Ketu", "start": "1992-01-20T02:00:07", "end": "1992-02-10T05:05:27", "sukshmadashas": [{"lord": "Ketu", "start": "1992-01-20T02:00:07", "end": "1992-01-21T07:34:56"}, {"lord": "Venus", "start": "1992-01-21T07:34:56", "end": "1992-01-24T20:05:49"}, {"lord": "Sun", "start": "1992-01-24T20:05:49", "end": "1992-01-25T21:27:05"}]}, {"lord": "Venus", "start": "1992-02-10T05:05:27", "end": "1992-04-10T13:54:57", "sukshmadashas": [{"lord": "Venus", "start": "1992-02-10T05:05:27", "end": "1992-02-20T06:33:42"}, {"lord": "Sun", "start": "1992-02-20T06:33:42", "end": "1992-02-23T07:00:10"}, {"lord": "Moon", "start": "1992-02-23T07:00:10", "end": "1992-02-28T07:44:18"}]}]}]}, {"lord": "Rahu", "start": "1995-05-31T03:30:03", "end": "2013-05-30T15:30:03", "antardashas": [{"lord": "Rahu", "start": "1995-05-31T03:30:03", "end": "1998-02-10T07:42:03", "pratyantardashas": [{"lord": "Rahu", "start": "1995-05-31T03:30:03", "end": "1995-10-26T01:43:51", "sukshmadashas": [{"lord": "Rahu", "start": "1995-05-31T03:30:03", "end": "1995-06-22T08:02:07"}, {"lord": "Jupiter", "start": "1995-06-22T08:02:07", "end": "1995-07-12T01:23:58"}, {"lord": "Saturn", "start": "1995-07-12T01:23:58", "end": "1995-08-04T11:31:09"}]}, {"lord": "Jupiter", "start": "1995-10-26T01:43:51", "end": "1996-03-05T13:29:27", "sukshmadashas": [{"lord": "Jupiter", "start": "1995-10-26T01:43:51", "end": "1995-11-12T14:29:56"}, {"lord": "Saturn", "start": "1995-11-12T14:29:56", "end": "1995-12-03T10:09:39"}, {"lord": "Mercury", "start": "1995-12-03T10:09:39", "end": "1995-12-22T01:13:37"}]}, {"lord": "Saturn", "start": "1996-03-05T13:29:27", "end": "1996-08-08T16:57:21", "sukshmadashas": [{"lord": "Saturn", "start": "1996-03-05T13:29:27", "end": "1996-03-30T06:50:22"}, {"lord": "Mercury", "start": "1996-03-30T06:50:22", "end": "1996-04-21T09:43:49"}, {"lord": "Ketu", "start": "1996-04-21T09:43:49", "end": "1996-04-30T12:19:57"}]}]}, {"lord": "Jupiter", "start": "1998-02-10T07:42:03", "end": "2000-07-05T22:06:03", "pratyantardashas": [{"lord": "Jupiter", "start": "1998-02-10T07:42:03", "end": "1998-06-07T04:49:15", "sukshmadashas": [{"lord": "Jupiter", "start": "1998-02-10T07:42:03", "end": "1998-02-25T21:43:01"}, {"lord": "Saturn", "start": "1998-02-25T21:43:01", "end": "1998-03-16T09:51:39"}, {"lord": "Mercury", "start": "1998-03-16T09:51:39", "end": "1998-04-01T23:15:10"}]}, {"lord": "Saturn", "start": "1998-06-07T04:49:15", "end": "1998-10-23T23:54:03", "sukshmadashas": [{"lord": "Saturn", "start": "1998-06-07T04:49:15", "end": "1998-06-29T04:14:31"}, {"lord": "Mercury", "start": "1998-06-29T04:14:31", "end": "1998-07-18T20:08:41"}, {"lord": "Ketu", "start": "1998-07-18T20:08:41", "end": "1998-07-26T22:27:28"}]}, {"lord": "Mercury", "start": "1998-10-23T23:54:03", "end": "1999-02-25T04:20:27", "sukshmadashas": [{"lord": "Mercury", "start": "1998-10-23T23:54:03", "end": "1998-11-10T14:07:47"}, {"lord": "Ketu", "start": "1998-11-10T14:07:47", "end": "1998-11-17T19:59:20"}, {"lord": "Venus", "start": "1998-11-17T19:59:20", "end": "1998-12-08T12:43:44"}]}]}, {"lord": "Saturn", "start": "2000-07-05T22:06:03", "end": "2003-05-12T21:12:03", "pratyantardashas": [{"lord": "Saturn", "start": "2000-07-05T22:06:03", "end": "2000-12-17T17:45:30", "sukshmadashas": [{"lord": "Saturn", "start": "2000-07-05T22:06:03", "end": "2000-08-01T00:24:48"}, {"lord": "Mercury", "start": "2000-08-01T00:24:48", "end": "2000-08-24T08:47:53"}, {"lord": "Ketu", "start": "2000-08-24T08:47:53", "end": "2000-09-02T23:32:41"}]}, {"lord": "Mercury", "start": "2000-12-17T17:45:30", "end": "2001-05-14T05:01:51", "sukshmadashas": [{"lord": "Mercury", "start": "2000-12-17T17:45:30", "end": "2001-01-07T15:09:19"}, {"lord": "Ketu", "start": "2001-01-07T15:09:19", "end": "2001-01-16T05:36:46"}, {"lord": "Venus", "start": "2001-01-16T05:36:46", "end": "2001-02-09T19:29:30"}]}, {"lord": "Ketu", "start": "2001-05-14T05:01:51", "end": "2001-07-13T22:22:42", "sukshmadashas": [{"lord": "Ketu", "start": "2001-05-14T05:01:51", "end": "2001-05-17T18:02:34"}, {"lord": "Venus", "start": "2001-05-17T18:02:34", "end": "2001-05-27T20:56:02"}, {"lord": "Sun", "start": "2001-05-27T20:56:02", "end": "2001-05-30T21:48:05"}]}]}]}, {"lord": "Jupiter", "start": "2013-05-30T15:30:03", "end": "2029-05-30T15:30:03", "antardashas": [{"lord": "Jupiter", "start": "2013-05-30T15:30:03", "end": "2015-07-18T20:18:03", "pratyantardashas": [{"lord": "Jupiter", "start": "2013-05-30T15:30:03", "end": "2013-09-11T12:56:27", "sukshmadashas": [{"lord": "Jupiter", "start": "2013-05-30T15:30:03", "end": "2013-06-13T11:57:34"}, {"lord": "Saturn", "start": "2013-06-13T11:57:34", "end": "2013-06-29T22:45:15"}, {"lord": "Mercury", "start": "2013-06-29T22:45:15", "end": "2013-07-14T15:59:29"}]}, {"lord": "Saturn", "start": "2013-09-11T12:56:27", "end": "2014-01-12T21:54:03", "sukshmadashas": [{"lord": "Saturn", "start": "2013-09-11T12:56:27", "end": "2013-10-01T01:45:34"}, {"lord": "Mercury", "start": "2013-10-01T01:45:34", "end": "2013-10-18T13:13:44"}, {"lord": "Ketu", "start": "2013-10-18T13:13:44", "end": "2013-10-25T17:57:05"}]}, {"lord": "Mercury", "start": "2014-01-12T21:54:03", "end": "2014-05-03T07:10:51", "sukshmadashas": [{"lord": "Mercury", "start": "2014-01-12T21:54:03", "end": "2014-01-28T13:12:56"}, {"lord": "Ketu", "start": "2014-01-28T13:12:56", "end": "2014-02-03T23:45:25"}, {"lord": "Venus", "start": "2014-02-03T23:45:25", "end": "2014-02-22T09:18:13"}]}]}, {"lord": "Saturn", "start": "2015-07-18T20:18:03", "end": "2018-01-29T03:30:03", "pratyantardashas": [{"lord": "Saturn", "start": "2015-07-18T20:18:03", "end": "2015-12-12T08:26:27", "sukshmadashas": [{"lord": "Saturn", "start": "2015-07-18T20:18:03", "end": "2015-08-11T01:01:23"}, {"lord": "Mercury", "start": "2015-08-11T01:01:23", "end": "2015-08-31T19:08:34"}, {"lord": "Ketu", "start": "2015-08-31T19:08:34", "end": "2015-09-09T08:15:04"}]}, {"lord": "Mercury", "start": "2015-12-12T08:26:27", "end": "2016-04-21T10:27:39", "sukshmadashas": [{"lord": "Mercury", "start": "2015-12-12T08:26:27", "end": "2015-12-30T22:07:37"}, {"lord": "Ketu", "start": "2015-12-30T22:07:37", "end": "2016-01-07T13:38:41"}, {"lord": "Venus", "start": "2016-01-07T13:38:41", "end": "2016-01-29T09:58:53"}]}, {"lord": "Ketu", "start": "2016-04-21T10:27:39", "end": "2016-06-14T09:52:51", "sukshmadashas": [{"lord": "Ketu", "start": "2016-04-21T10:27:39", "end": "2016-04-24T14:01:37"}, {"lord": "Venus", "start": "2016-04-24T14:01:37", "end": "2016-05-03T13:55:49"}, {"lord": "Sun", "start": "2016-05-03T13:55:49", "end": "2016-05-06T06:42:05"}]}]}, {"lord": "Mercury", "start": "2018-01-29T03:30:03", "end": "2020-05-06T01:06:03", "pratyantardashas": [{"lord": "Mercury", "start": "2018-01-29T03:30:03", "end": "2018-05-26T10:21:39", "sukshmadashas": [{"lord": "Mercury", "start": "2018-01-29T03:30:03", "end": "2018-02-14T18:16:22"}, {"lord": "Ketu", "start": "2018-02-14T18:16:22", "end": "2018-02-21T14:28:22"}, {"lord": "Venus", "start": "2018-02-21T14:28:22", "end": "2018-03-13T03:36:58"}]}, {"lord": "Ketu", "start": "2018-05-26T10:21:39", "end": "2018-07-13T17:25:15", "sukshmadashas": [{"lord": "Ketu", "start": "2018-05-26T10:21:39", "end": "2018-05-29T05:58:22"}, {"lord": "Venus", "start": "2018-05-29T05:58:22", "end": "2018-06-06T07:08:58"}, {"lord": "Sun", "start": "2018-06-06T07:08:58", "end": "2018-06-08T17:06:08"}]}, {"lord": "Venus", "start": "2018-07-13T17:25:15", "end": "2018-11-28T17:01:15", "sukshmadashas": [{"lord": "Venus", "start": "2018-07-13T17:25:15", "end": "2018-08-05T17:21:15"}, {"lord": "Sun", "start": "2018-08-05T17:21:15", "end": "2018-08-12T14:56:03"}, {"lord": "Moon", "start": "2018-08-12T14:56:03", "end": "2018-08-24T02:54:03"}]}]}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/daily-panchang": {
      "post": {
        "operationId": "daily-panchang",
        "summary": "Daily Panchang",
        "description": "The full panchang for one day at one place: limbs, Sun and Moon times, calendar, auspicious and inauspicious periods, choghadiya, hora, festivals, balas, sunrise chart, doshas and more.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "vara": {"type": "string"},
                        "limbs": {"type": "object", "properties": {"tithi": {"type": "object", "properties": {"name": {"type": "string"}, "ends_at": {"type": "string"}, "paksha": {"type": "string"}}, "required": ["name", "ends_at", "paksha"]}, "nakshatra": {"type": "object", "properties": {"name": {"type": "string"}, "ends_at": {"type": "string"}}, "required": ["name", "ends_at"]}, "yoga": {"type": "object", "properties": {"name": {"type": "string"}, "ends_at": {"type": "string"}}, "required": ["name", "ends_at"]}, "karanas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "ends_at": {"type": "string"}}, "required": ["name", "ends_at"]}}}, "required": ["tithi", "nakshatra", "yoga", "karanas"]},
                        "sun_moon": {"type": "object", "properties": {"sunrise": {"type": "string"}, "sunset": {"type": "string"}, "solar_noon": {"type": "string"}, "moonrise": {"type": "string"}, "moonset": {"type": "string"}, "moon_sign": {"type": "string"}, "moon_phase": {"type": "object", "properties": {"name": {"type": "string"}, "illumination_percent": {"type": "integer"}, "at": {"type": "string"}}, "required": ["name", "illumination_percent", "at"]}}, "required": ["sunrise", "sunset", "solar_noon", "moonrise", "moonset", "moon_sign", "moon_phase"]},
                        "calendar": {"type": "object", "properties": {"shaka_samvat": {"type": "string"}, "vikram_samvat": {"type": "string"}, "kali_samvat": {"type": "string"}, "month_amanta": {"type": "string"}, "month_purnimanta": {"type": "string"}, "adhik_masa": {"type": "boolean"}, "kshaya_masa": {"type": "boolean"}, "ritu": {"type": "string"}, "ayana": {"type": "string"}, "day_duration": {"type": "string"}, "night_duration": {"type": "string"}}, "required": ["shaka_samvat", "vikram_samvat", "kali_samvat", "month_amanta", "month_purnimanta", "adhik_masa", "kshaya_masa", "ritu", "ayana", "day_duration", "night_duration"]},
                        "inauspicious": {"type": "object", "properties": {"rahu_kaal": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "yamaganda": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "gulika_kaal": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "dur_muhurtam": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "kulika": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "kantaka_mrityu": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "kalavela_ardhayaam": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "yamaghanta": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}}, "required": ["rahu_kaal", "yamaganda", "gulika_kaal", "dur_muhurtam", "kulika", "kantaka_mrityu", "kalavela_ardhayaam", "yamaghanta"]},
                        "auspicious": {"type": "object", "properties": {"brahma_muhurta": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "pratah_sandhya": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "abhijit": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "vijaya": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "godhuli": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "sayahna_sandhya": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "nishita": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}}, "required": ["brahma_muhurta", "pratah_sandhya", "abhijit", "vijaya", "godhuli", "sayahna_sandhya", "nishita"]},
                        "disha_shoola": {"type": "string"},
                        "choghadiya": {"type": "object", "properties": {"day": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "quality": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["name", "quality", "start", "end"]}}, "night": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "quality": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["name", "quality", "start", "end"]}}}, "required": ["day", "night"]},
                        "hora": {"type": "object", "properties": {"day": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "nature": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "nature", "start", "end"]}}, "night": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "nature": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "nature", "start", "end"]}}}, "required": ["day", "night"]},
                        "festivals": {"type": "array", "items": {"type": "string"}},
                        "vasa_shoola": {"type": "object", "properties": {"disha_shoola": {"type": "string"}, "chandra_vasa": {"type": "string"}, "rahu_vasa": {"type": "string"}, "shoola_vasa": {"type": "string"}, "shiva_vasa": {"type": "object", "properties": {"place": {"type": "string"}, "effect": {"type": "string"}, "auspicious": {"type": "boolean"}}, "required": ["place", "effect", "auspicious"]}, "agni_vasa": {"type": "object", "properties": {"place": {"type": "string"}, "auspicious": {"type": "boolean"}}, "required": ["place", "auspicious"]}, "homahuti": {"type": "object", "properties": {"graha": {"type": "string"}, "auspicious": {"type": "boolean"}}, "required": ["graha", "auspicious"]}, "kumbha_chakra": {"type": "object", "properties": {"position": {"type": "string"}, "auspicious": {"type": "boolean"}}, "required": ["position", "auspicious"]}, "bhadra_vasa": {"type": "null"}}, "required": ["disha_shoola", "chandra_vasa", "rahu_vasa", "shoola_vasa", "shiva_vasa", "agni_vasa", "homahuti", "kumbha_chakra", "bhadra_vasa"]},
                        "chandra_bala": {"type": "object", "properties": {"moon_sign": {"type": "string"}, "signs": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "count_from_moon": {"type": "integer"}, "rating": {"type": "string"}, "good": {"type": ["boolean", "null"]}}, "required": ["sign", "count_from_moon", "rating", "good"]}}}, "required": ["moon_sign", "signs"]},
                        "tara_bala": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "next_nakshatra": {"type": "string"}, "changes_at": {"type": "string"}, "by_birth_nakshatra": {"type": "array", "items": {"type": "object", "properties": {"birth_nakshatra": {"type": "string"}, "now": {"type": "object", "properties": {"tara": {"type": "integer"}, "category": {"type": "string"}, "rating": {"type": "string"}, "good": {"type": "boolean"}}, "required": ["tara", "category", "rating", "good"]}, "after_change": {"type": "object", "properties": {"tara": {"type": "integer"}, "category": {"type": "string"}, "rating": {"type": "string"}, "good": {"type": "boolean"}}, "required": ["tara", "category", "rating", "good"]}}, "required": ["birth_nakshatra", "now", "after_change"]}}}, "required": ["nakshatra", "next_nakshatra", "changes_at", "by_birth_nakshatra"]},
                        "sunrise_chart": {"type": "object", "properties": {"lagna": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}}, "required": ["sign", "degree", "nakshatra"]}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "sign", "planets"]}}, "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "house": {"type": "integer"}, "dignity": {"type": "string"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}}, "required": ["name", "sign", "degree", "longitude", "nakshatra", "pada", "house", "dignity", "retrograde", "combust"]}}}, "required": ["lagna", "houses", "planets"]},
                        "doshas": {"type": "object", "properties": {"panchak": {"type": "object", "properties": {"active": {"type": "boolean"}, "nakshatra": {"type": "null"}, "panchak_type": {"type": "null"}, "ends_at": {"type": "null"}}, "required": ["active", "nakshatra", "panchak_type", "ends_at"]}, "bhadra": {"type": "object", "properties": {"active": {"type": "boolean"}, "karana": {"type": "string"}}, "required": ["active", "karana"]}, "ganda_mool": {"type": "object", "properties": {"active": {"type": "boolean"}, "nakshatra": {"type": "null"}, "ends_at": {"type": "null"}}, "required": ["active", "nakshatra", "ends_at"]}, "vinchudo": {"type": "object", "properties": {"active": {"type": "boolean"}}, "required": ["active"]}, "kranti_samya": {"type": "object", "properties": {"active": {"type": "boolean"}, "declination": {"type": "string"}}, "required": ["active", "declination"]}, "jwalamukhi_yoga": {"type": "object", "properties": {"active": {"type": "boolean"}}, "required": ["active"]}}, "required": ["panchak", "bhadra", "ganda_mool", "vinchudo", "kranti_samya", "jwalamukhi_yoga"]},
                        "special_yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "active": {"type": "boolean"}, "category": {"type": "string"}, "description": {"type": "string"}, "until": {"type": "null"}}, "required": ["name", "active", "category", "description", "until"]}},
                        "sankalpa": {"type": "string"},
                        "sacred_tithis": {"type": "object", "properties": {"manvadi_tithi": {"type": "object", "properties": {"manvantara": {"type": "string"}, "traditional_tithi": {"type": "string"}, "active_today": {"type": "boolean"}}, "required": ["manvantara", "traditional_tithi", "active_today"]}, "yugadi_tithi": {"type": "object", "properties": {"yuga": {"type": "string"}, "traditional_tithi": {"type": "string"}, "active_today": {"type": "boolean"}}, "required": ["yuga", "traditional_tithi", "active_today"]}, "kalpadi_tithi": {"type": "object", "properties": {"kalpa": {"type": "string"}, "traditional_tithi": {"type": "string"}}, "required": ["kalpa", "traditional_tithi"]}}, "required": ["manvadi_tithi", "yugadi_tithi", "kalpadi_tithi"]},
                        "time_heatmap": {"type": "object", "properties": {"available": {"type": "boolean"}, "day": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "score": {"type": "integer"}, "band": {"type": "string"}, "auspicious": {"type": "array", "items": {"type": "string"}}, "inauspicious": {"type": "array", "items": {"type": "string"}}}, "required": ["start", "end", "score", "band", "auspicious", "inauspicious"]}}, "night": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "score": {"type": "integer"}, "band": {"type": "string"}, "auspicious": {"type": "array", "items": {"type": "string"}}, "inauspicious": {"type": "array", "items": {"type": "string"}}}, "required": ["start", "end", "score", "band", "auspicious", "inauspicious"]}}}, "required": ["available", "day", "night"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "vara",
                        "limbs",
                        "sun_moon",
                        "calendar",
                        "inauspicious",
                        "auspicious",
                        "disha_shoola",
                        "choghadiya",
                        "hora",
                        "festivals",
                        "vasa_shoola",
                        "chandra_bala",
                        "tara_bala",
                        "sunrise_chart",
                        "doshas",
                        "special_yogas",
                        "sankalpa",
                        "sacred_tithis",
                        "time_heatmap"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "vara": "Mangalavara",
                        "limbs": {"tithi": {"name": "Tritiya", "ends_at": "2026-10-13T23:28:00", "paksha": "Shukla"}, "nakshatra": {"name": "Vishakha", "ends_at": "2026-10-14T01:43:00"}, "yoga": {"name": "Preeti", "ends_at": "2026-10-13T20:23:00"}, "karanas": [{"name": "Taitila", "ends_at": "2026-10-13T10:47:01"}, {"name": "Gara", "ends_at": "2026-10-13T23:28:17"}]},
                        "sun_moon": {"sunrise": "2026-10-13T06:20:25", "sunset": "2026-10-13T17:54:06", "solar_noon": "2026-10-13T12:07:27", "moonrise": "2026-10-13T08:45:50", "moonset": "2026-10-13T19:18:57", "moon_sign": "Tula", "moon_phase": {"name": "Waxing Crescent", "illumination_percent": 6, "at": "2026-10-13T06:20:25"}},
                        "calendar": {"shaka_samvat": "1948 Parabhava", "vikram_samvat": "2083", "kali_samvat": "5127", "month_amanta": "Ashwin", "month_purnimanta": "Ashwin", "adhik_masa": false, "kshaya_masa": false, "ritu": "Varsha", "ayana": "Dakshinayana", "day_duration": "11:33:41", "night_duration": "12:26:19"},
                        "inauspicious": {"rahu_kaal": [{"start": "2026-10-13T15:00:40", "end": "2026-10-13T16:27:23"}], "yamaganda": [{"start": "2026-10-13T09:13:50", "end": "2026-10-13T10:40:32"}], "gulika_kaal": [{"start": "2026-10-13T12:07:15", "end": "2026-10-13T13:33:58"}], "dur_muhurtam": [{"start": "2026-10-13T08:39:09", "end": "2026-10-13T09:25:23"}, {"start": "2026-10-13T14:02:52", "end": "2026-10-13T14:49:07"}], "kulika": [{"start": "2026-10-13T09:25:23", "end": "2026-10-13T10:11:38"}], "kantaka_mrityu": [{"start": "2026-10-13T13:16:37", "end": "2026-10-13T14:02:52"}], "kalavela_ardhayaam": [{"start": "2026-10-13T10:57:53", "end": "2026-10-13T11:44:08"}], "yamaghanta": [{"start": "2026-10-13T11:44:08", "end": "2026-10-13T12:30:22"}]},
                        "auspicious": {"brahma_muhurta": [{"start": "2026-10-13T04:44:25", "end": "2026-10-13T05:32:25"}], "pratah_sandhya": [{"start": "2026-10-13T06:08:25", "end": "2026-10-13T06:32:25"}], "abhijit": [{"start": "2026-10-13T11:44:08", "end": "2026-10-13T12:30:22"}], "vijaya": [{"start": "2026-10-13T13:16:37", "end": "2026-10-13T14:02:52"}], "godhuli": [{"start": "2026-10-13T17:30:06", "end": "2026-10-13T18:18:06"}], "sayahna_sandhya": [{"start": "2026-10-13T17:42:06", "end": "2026-10-13T18:06:06"}], "nishita": [{"start": "2026-10-13T23:43:15", "end": "2026-10-14T00:31:15"}]},
                        "disha_shoola": "North",
                        "choghadiya": {"day": [{"name": "Rog", "quality": "inauspicious", "start": "2026-10-13T06:20:00", "end": "2026-10-13T07:47:00"}, {"name": "Udyog", "quality": "neutral", "start": "2026-10-13T07:47:00", "end": "2026-10-13T09:13:00"}, {"name": "Char", "quality": "neutral", "start": "2026-10-13T09:13:00", "end": "2026-10-13T10:40:00"}], "night": [{"name": "Kaal", "quality": "inauspicious", "start": "2026-10-13T17:54:00", "end": "2026-10-13T19:27:00"}, {"name": "Labh", "quality": "auspicious", "start": "2026-10-13T19:27:00", "end": "2026-10-13T21:00:00"}, {"name": "Udyog", "quality": "neutral", "start": "2026-10-13T21:00:00", "end": "2026-10-13T22:33:00"}]},
                        "hora": {"day": [{"lord": "Mars", "nature": "inauspicious", "start": "2026-10-13T06:20:00", "end": "2026-10-13T07:18:00"}, {"lord": "Sun", "nature": "auspicious", "start": "2026-10-13T07:18:00", "end": "2026-10-13T08:16:00"}, {"lord": "Venus", "nature": "auspicious", "start": "2026-10-13T08:16:00", "end": "2026-10-13T09:13:00"}], "night": [{"lord": "Saturn", "nature": "inauspicious", "start": "2026-10-13T17:54:00", "end": "2026-10-13T18:56:00"}, {"lord": "Jupiter", "nature": "auspicious", "start": "2026-10-13T18:56:00", "end": "2026-10-13T19:58:00"}, {"lord": "Mars", "nature": "inauspicious", "start": "2026-10-13T19:58:00", "end": "2026-10-13T21:00:00"}]},
                        "festivals": ["Sharad Navratri Day 3"],
                        "vasa_shoola": {"disha_shoola": "North", "chandra_vasa": "South-East", "rahu_vasa": "South", "shoola_vasa": "West", "shiva_vasa": {"place": "Sabha", "effect": "grief", "auspicious": false}, "agni_vasa": {"place": "Prithvi", "auspicious": true}, "homahuti": {"graha": "Sun", "auspicious": false}, "kumbha_chakra": {"position": "East", "auspicious": false}, "bhadra_vasa": null},
                        "chandra_bala": {"moon_sign": "Libra", "signs": [{"sign": "Aries", "count_from_moon": 7, "rating": "Good", "good": true}, {"sign": "Taurus", "count_from_moon": 8, "rating": "Bad", "good": false}, {"sign": "Gemini", "count_from_moon": 9, "rating": "Puja Needed", "good": null}]},
                        "tara_bala": {"nakshatra": "Vishakha", "next_nakshatra": "Anuradha", "changes_at": "2026-10-14T01:43:00", "by_birth_nakshatra": [{"birth_nakshatra": "Ashvini", "now": {"tara": 7, "category": "Naidhana", "rating": "Bad", "good": false}, "after_change": {"tara": 8, "category": "Mitra", "rating": "Good", "good": true}}, {"birth_nakshatra": "Bharani", "now": {"tara": 6, "category": "Sadhana", "rating": "Good", "good": true}, "after_change": {"tara": 7, "category": "Naidhana", "rating": "Bad", "good": false}}, {"birth_nakshatra": "Krittika", "now": {"tara": 5, "category": "Pratyari", "rating": "Bad", "good": false}, "after_change": {"tara": 6, "category": "Sadhana", "rating": "Good", "good": true}}]},
                        "sunrise_chart": {"lagna": {"sign": "Virgo", "degree": 24.5939, "nakshatra": "Chitra"}, "houses": [{"house": 1, "sign": "Virgo", "planets": ["Sun"]}, {"house": 2, "sign": "Libra", "planets": ["Moon", "Mercury", "Venus"]}, {"house": 3, "sign": "Scorpio", "planets": []}], "planets": [{"name": "Sun", "sign": "Virgo", "degree": 25.4772, "longitude": 175.4772, "nakshatra": "Chitra", "pada": 1, "house": 1, "dignity": "Friend Sign", "retrograde": false, "combust": false}, {"name": "Moon", "sign": "Libra", "degree": 23.3608, "longitude": 203.3608, "nakshatra": "Vishakha", "pada": 2, "house": 2, "dignity": "Enemy Sign", "retrograde": false, "combust": false}, {"name": "Mars", "sign": "Cancer", "degree": 14.3153, "longitude": 104.3153, "nakshatra": "Pushya", "pada": 4, "house": 11, "dignity": "Debilitated", "retrograde": false, "combust": false}]},
                        "doshas": {"panchak": {"active": false, "nakshatra": null, "panchak_type": null, "ends_at": null}, "bhadra": {"active": false, "karana": "Taitila"}, "ganda_mool": {"active": false, "nakshatra": null, "ends_at": null}, "vinchudo": {"active": false}, "kranti_samya": {"active": false, "declination": "7.71° South"}, "jwalamukhi_yoga": {"active": false}},
                        "special_yogas": [{"name": "Ravi Yoga", "active": false, "category": "auspicious", "description": "Nakshatra lord (Jupiter) matches weekday lord (Mars). Highly auspicious for new beginnings, travel, and commerce.", "until": null}, {"name": "Sarvartha Siddhi Yoga", "active": false, "category": "auspicious", "description": "All-accomplishing yoga — actions started now succeed in all four purusharthas. Excellent for business, education, marriage, and travel.", "until": null}, {"name": "Amrit Siddhi Yoga", "active": false, "category": "auspicious", "description": "Nectar-of-success yoga — the finest muhurta quality. Everything initiated now bears the best results. Preferred for all auspicious rites.", "until": null}],
                        "sankalpa": "Aum! Vishnurvishnum Vishnum. Shrimad Bhagavato Mahaapurushasy Vishnoragnaya Pravartamanasya, Adya Brahmano Dwiteeya Parardhe, Shri Shwetavaraaha Kalpe, Vaivasvata Manvantare, Kali Yuge, Kali Samvat 5127, Asmin Vartamane Vikram Samvat 2083, Varsha Ritau, Dakshinayana Ayane, Tritiya Tithau, Mangalavara Vasare, Vishakha Nakshatre, Preeti Yoge, Taitila Karane, Chandra Tula Rashau, Surya Kanya Rashau, Guru Karka Rashau, Asmin Vartamane Vyavaharike New Delhi, India Kshetra, Mama Dharmarthakamamoksha Chathurvarga Phala Praptyartham Mama Sakutumbasya Kshema Sthairya Arogya Aishwarya Abhivrudhyartham Mama Sarva Sankalpa Sidhyartham.",
                        "sacred_tithis": {"manvadi_tithi": {"manvantara": "Vaivasvata (7th)", "traditional_tithi": "Mesha Shukla Tritiya", "active_today": false}, "yugadi_tithi": {"yuga": "Kali Yuga", "traditional_tithi": "Chaitra Shukla Pratipada", "active_today": false}, "kalpadi_tithi": {"kalpa": "Shwetavaraha Kalpa", "traditional_tithi": "Chaitra Shukla Pratipada"}},
                        "time_heatmap": {"available": true, "day": [{"start": "2026-10-13T06:20:00", "end": "2026-10-13T06:32:00", "score": 0, "band": "neutral", "auspicious": ["Pratah Sandhya"], "inauspicious": ["Rog Choghadiya"]}, {"start": "2026-10-13T06:32:00", "end": "2026-10-13T07:47:00", "score": -1, "band": "inauspicious", "auspicious": [], "inauspicious": ["Rog Choghadiya"]}, {"start": "2026-10-13T07:47:00", "end": "2026-10-13T09:13:00", "score": 0, "band": "neutral", "auspicious": [], "inauspicious": []}], "night": [{"start": "2026-10-13T17:54:00", "end": "2026-10-13T18:06:00", "score": 1, "band": "auspicious", "auspicious": ["Godhuli Muhurta", "Sayahna Sandhya"], "inauspicious": ["Kaal Choghadiya"]}, {"start": "2026-10-13T18:06:00", "end": "2026-10-13T18:18:00", "score": 0, "band": "neutral", "auspicious": ["Godhuli Muhurta"], "inauspicious": ["Kaal Choghadiya"]}, {"start": "2026-10-13T18:18:00", "end": "2026-10-13T19:27:00", "score": -1, "band": "inauspicious", "auspicious": [], "inauspicious": ["Kaal Choghadiya"]}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/panchang-five-limbs": {
      "post": {
        "operationId": "panchang-five-limbs",
        "summary": "Tithi, Nakshatra, Yoga, Karana & Vara",
        "description": "The vara, tithi with paksha, nakshatra, yoga and the karanas of the day, each with its end time.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "vara": {"type": "string"},
                        "limbs": {"type": "object", "properties": {"tithi": {"type": "object", "properties": {"name": {"type": "string"}, "ends_at": {"type": "string"}, "paksha": {"type": "string"}}, "required": ["name", "ends_at", "paksha"]}, "nakshatra": {"type": "object", "properties": {"name": {"type": "string"}, "ends_at": {"type": "string"}}, "required": ["name", "ends_at"]}, "yoga": {"type": "object", "properties": {"name": {"type": "string"}, "ends_at": {"type": "string"}}, "required": ["name", "ends_at"]}, "karanas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "ends_at": {"type": "string"}}, "required": ["name", "ends_at"]}}}, "required": ["tithi", "nakshatra", "yoga", "karanas"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "vara",
                        "limbs"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "vara": "Mangalavara",
                        "limbs": {"tithi": {"name": "Tritiya", "ends_at": "2026-10-13T23:28:00", "paksha": "Shukla"}, "nakshatra": {"name": "Vishakha", "ends_at": "2026-10-14T01:43:00"}, "yoga": {"name": "Preeti", "ends_at": "2026-10-13T20:23:00"}, "karanas": [{"name": "Taitila", "ends_at": "2026-10-13T10:47:01"}, {"name": "Gara", "ends_at": "2026-10-13T23:28:17"}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/sun-moon-timings": {
      "post": {
        "operationId": "sun-moon-timings",
        "summary": "Sunrise, Sunset, Moonrise & Twilights",
        "description": "Sunrise, sunset, solar noon, moonrise, moonset, the Moon's sign and its phase with illumination.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "sun_moon": {"type": "object", "properties": {"sunrise": {"type": "string"}, "sunset": {"type": "string"}, "solar_noon": {"type": "string"}, "moonrise": {"type": "string"}, "moonset": {"type": "string"}, "moon_sign": {"type": "string"}, "moon_phase": {"type": "object", "properties": {"name": {"type": "string"}, "illumination_percent": {"type": "integer"}, "at": {"type": "string"}}, "required": ["name", "illumination_percent", "at"]}}, "required": ["sunrise", "sunset", "solar_noon", "moonrise", "moonset", "moon_sign", "moon_phase"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "sun_moon"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "sun_moon": {"sunrise": "2026-10-13T06:20:25", "sunset": "2026-10-13T17:54:06", "solar_noon": "2026-10-13T12:07:27", "moonrise": "2026-10-13T08:45:50", "moonset": "2026-10-13T19:18:57", "moon_sign": "Tula", "moon_phase": {"name": "Waxing Crescent", "illumination_percent": 6, "at": "2026-10-13T06:20:25"}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/hindu-calendar": {
      "post": {
        "operationId": "hindu-calendar",
        "summary": "Hindu Calendar Details",
        "description": "Shaka, Vikram and Kali samvat, amanta and purnimanta month, adhik/kshaya masa flags, ritu, ayana and day and night length.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "calendar": {"type": "object", "properties": {"shaka_samvat": {"type": "string"}, "vikram_samvat": {"type": "string"}, "kali_samvat": {"type": "string"}, "month_amanta": {"type": "string"}, "month_purnimanta": {"type": "string"}, "adhik_masa": {"type": "boolean"}, "kshaya_masa": {"type": "boolean"}, "ritu": {"type": "string"}, "ayana": {"type": "string"}, "day_duration": {"type": "string"}, "night_duration": {"type": "string"}}, "required": ["shaka_samvat", "vikram_samvat", "kali_samvat", "month_amanta", "month_purnimanta", "adhik_masa", "kshaya_masa", "ritu", "ayana", "day_duration", "night_duration"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "calendar"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "calendar": {"shaka_samvat": "1948 Parabhava", "vikram_samvat": "2083", "kali_samvat": "5127", "month_amanta": "Ashwin", "month_purnimanta": "Ashwin", "adhik_masa": false, "kshaya_masa": false, "ritu": "Varsha", "ayana": "Dakshinayana", "day_duration": "11:33:41", "night_duration": "12:26:19"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/inauspicious-timings": {
      "post": {
        "operationId": "inauspicious-timings",
        "summary": "Rahu Kaal & Inauspicious Periods",
        "description": "Rahu Kaal, Yamaganda, Gulika Kaal, Dur Muhurtam, Kulika, Kantaka-Mrityu, Kalavela and Yamaghanta windows for the day.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "inauspicious": {"type": "object", "properties": {"rahu_kaal": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "yamaganda": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "gulika_kaal": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "dur_muhurtam": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "kulika": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "kantaka_mrityu": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "kalavela_ardhayaam": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "yamaghanta": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}}, "required": ["rahu_kaal", "yamaganda", "gulika_kaal", "dur_muhurtam", "kulika", "kantaka_mrityu", "kalavela_ardhayaam", "yamaghanta"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "inauspicious"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "inauspicious": {"rahu_kaal": [{"start": "2026-10-13T15:00:40", "end": "2026-10-13T16:27:23"}], "yamaganda": [{"start": "2026-10-13T09:13:50", "end": "2026-10-13T10:40:32"}], "gulika_kaal": [{"start": "2026-10-13T12:07:15", "end": "2026-10-13T13:33:58"}], "dur_muhurtam": [{"start": "2026-10-13T08:39:09", "end": "2026-10-13T09:25:23"}, {"start": "2026-10-13T14:02:52", "end": "2026-10-13T14:49:07"}], "kulika": [{"start": "2026-10-13T09:25:23", "end": "2026-10-13T10:11:38"}], "kantaka_mrityu": [{"start": "2026-10-13T13:16:37", "end": "2026-10-13T14:02:52"}], "kalavela_ardhayaam": [{"start": "2026-10-13T10:57:53", "end": "2026-10-13T11:44:08"}], "yamaghanta": [{"start": "2026-10-13T11:44:08", "end": "2026-10-13T12:30:22"}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/auspicious-timings": {
      "post": {
        "operationId": "auspicious-timings",
        "summary": "Abhijit & Auspicious Periods",
        "description": "Brahma Muhurta, Abhijit, Vijaya, Godhuli, Pratah and Sayahna Sandhya and Nishita.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "auspicious": {"type": "object", "properties": {"brahma_muhurta": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "pratah_sandhya": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "abhijit": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "vijaya": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "godhuli": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "sayahna_sandhya": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}, "nishita": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}}, "required": ["brahma_muhurta", "pratah_sandhya", "abhijit", "vijaya", "godhuli", "sayahna_sandhya", "nishita"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "auspicious"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "auspicious": {"brahma_muhurta": [{"start": "2026-10-13T04:44:25", "end": "2026-10-13T05:32:25"}], "pratah_sandhya": [{"start": "2026-10-13T06:08:25", "end": "2026-10-13T06:32:25"}], "abhijit": [{"start": "2026-10-13T11:44:08", "end": "2026-10-13T12:30:22"}], "vijaya": [{"start": "2026-10-13T13:16:37", "end": "2026-10-13T14:02:52"}], "godhuli": [{"start": "2026-10-13T17:30:06", "end": "2026-10-13T18:18:06"}], "sayahna_sandhya": [{"start": "2026-10-13T17:42:06", "end": "2026-10-13T18:06:06"}], "nishita": [{"start": "2026-10-13T23:43:15", "end": "2026-10-14T00:31:15"}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/choghadiya": {
      "post": {
        "operationId": "choghadiya",
        "summary": "Choghadiya",
        "description": "Eight day and eight night Choghadiya periods with their nature.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "choghadiya": {"type": "object", "properties": {"day": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "quality": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["name", "quality", "start", "end"]}}, "night": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "quality": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["name", "quality", "start", "end"]}}}, "required": ["day", "night"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "choghadiya"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "choghadiya": {"day": [{"name": "Rog", "quality": "inauspicious", "start": "2026-10-13T06:20:00", "end": "2026-10-13T07:47:00"}, {"name": "Udyog", "quality": "neutral", "start": "2026-10-13T07:47:00", "end": "2026-10-13T09:13:00"}, {"name": "Char", "quality": "neutral", "start": "2026-10-13T09:13:00", "end": "2026-10-13T10:40:00"}], "night": [{"name": "Kaal", "quality": "inauspicious", "start": "2026-10-13T17:54:00", "end": "2026-10-13T19:27:00"}, {"name": "Labh", "quality": "auspicious", "start": "2026-10-13T19:27:00", "end": "2026-10-13T21:00:00"}, {"name": "Udyog", "quality": "neutral", "start": "2026-10-13T21:00:00", "end": "2026-10-13T22:33:00"}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/hora-table": {
      "post": {
        "operationId": "hora-table",
        "summary": "Hora Table",
        "description": "Twelve day and twelve night planetary horas with their lord, nature and times.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "hora": {"type": "object", "properties": {"day": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "nature": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "nature", "start", "end"]}}, "night": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "nature": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "nature", "start", "end"]}}}, "required": ["day", "night"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "hora"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "hora": {"day": [{"lord": "Mars", "nature": "inauspicious", "start": "2026-10-13T06:20:00", "end": "2026-10-13T07:18:00"}, {"lord": "Sun", "nature": "auspicious", "start": "2026-10-13T07:18:00", "end": "2026-10-13T08:16:00"}, {"lord": "Venus", "nature": "auspicious", "start": "2026-10-13T08:16:00", "end": "2026-10-13T09:13:00"}], "night": [{"lord": "Saturn", "nature": "inauspicious", "start": "2026-10-13T17:54:00", "end": "2026-10-13T18:56:00"}, {"lord": "Jupiter", "nature": "auspicious", "start": "2026-10-13T18:56:00", "end": "2026-10-13T19:58:00"}, {"lord": "Mars", "nature": "inauspicious", "start": "2026-10-13T19:58:00", "end": "2026-10-13T21:00:00"}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/vasa-shoola": {
      "post": {
        "operationId": "vasa-shoola",
        "summary": "Disha Shoola & Vasa",
        "description": "Disha shoola, Chandra/Rahu/Shoola vasa, Shiva vasa, Agnivasa, Bhadravasa, homahuti and Kumbha chakra.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "vasa_shoola": {"type": "object", "properties": {"disha_shoola": {"type": "string"}, "chandra_vasa": {"type": "string"}, "rahu_vasa": {"type": "string"}, "shoola_vasa": {"type": "string"}, "shiva_vasa": {"type": "object", "properties": {"place": {"type": "string"}, "effect": {"type": "string"}, "auspicious": {"type": "boolean"}}, "required": ["place", "effect", "auspicious"]}, "agni_vasa": {"type": "object", "properties": {"place": {"type": "string"}, "auspicious": {"type": "boolean"}}, "required": ["place", "auspicious"]}, "homahuti": {"type": "object", "properties": {"graha": {"type": "string"}, "auspicious": {"type": "boolean"}}, "required": ["graha", "auspicious"]}, "kumbha_chakra": {"type": "object", "properties": {"position": {"type": "string"}, "auspicious": {"type": "boolean"}}, "required": ["position", "auspicious"]}, "bhadra_vasa": {"type": "null"}}, "required": ["disha_shoola", "chandra_vasa", "rahu_vasa", "shoola_vasa", "shiva_vasa", "agni_vasa", "homahuti", "kumbha_chakra", "bhadra_vasa"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "vasa_shoola"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "vasa_shoola": {"disha_shoola": "North", "chandra_vasa": "South-East", "rahu_vasa": "South", "shoola_vasa": "West", "shiva_vasa": {"place": "Sabha", "effect": "grief", "auspicious": false}, "agni_vasa": {"place": "Prithvi", "auspicious": true}, "homahuti": {"graha": "Sun", "auspicious": false}, "kumbha_chakra": {"position": "East", "auspicious": false}, "bhadra_vasa": null}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/tara-chandra-bala": {
      "post": {
        "operationId": "tara-chandra-bala",
        "summary": "Tarabalam & Chandrabalam",
        "description": "Chandra bala of each Moon sign for the day, and tara bala for each birth nakshatra now and after the day's nakshatra changes.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "chandra_bala": {"type": "object", "properties": {"moon_sign": {"type": "string"}, "signs": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "count_from_moon": {"type": "integer"}, "rating": {"type": "string"}, "good": {"type": ["boolean", "null"]}}, "required": ["sign", "count_from_moon", "rating", "good"]}}}, "required": ["moon_sign", "signs"]},
                        "tara_bala": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "next_nakshatra": {"type": "string"}, "changes_at": {"type": "string"}, "by_birth_nakshatra": {"type": "array", "items": {"type": "object", "properties": {"birth_nakshatra": {"type": "string"}, "now": {"type": "object", "properties": {"tara": {"type": "integer"}, "category": {"type": "string"}, "rating": {"type": "string"}, "good": {"type": "boolean"}}, "required": ["tara", "category", "rating", "good"]}, "after_change": {"type": "object", "properties": {"tara": {"type": "integer"}, "category": {"type": "string"}, "rating": {"type": "string"}, "good": {"type": "boolean"}}, "required": ["tara", "category", "rating", "good"]}}, "required": ["birth_nakshatra", "now", "after_change"]}}}, "required": ["nakshatra", "next_nakshatra", "changes_at", "by_birth_nakshatra"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "chandra_bala",
                        "tara_bala"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "chandra_bala": {"moon_sign": "Libra", "signs": [{"sign": "Aries", "count_from_moon": 7, "rating": "Good", "good": true}, {"sign": "Taurus", "count_from_moon": 8, "rating": "Bad", "good": false}, {"sign": "Gemini", "count_from_moon": 9, "rating": "Puja Needed", "good": null}]},
                        "tara_bala": {"nakshatra": "Vishakha", "next_nakshatra": "Anuradha", "changes_at": "2026-10-14T01:43:00", "by_birth_nakshatra": [{"birth_nakshatra": "Ashvini", "now": {"tara": 7, "category": "Naidhana", "rating": "Bad", "good": false}, "after_change": {"tara": 8, "category": "Mitra", "rating": "Good", "good": true}}, {"birth_nakshatra": "Bharani", "now": {"tara": 6, "category": "Sadhana", "rating": "Good", "good": true}, "after_change": {"tara": 7, "category": "Naidhana", "rating": "Bad", "good": false}}, {"birth_nakshatra": "Krittika", "now": {"tara": 5, "category": "Pratyari", "rating": "Bad", "good": false}, "after_change": {"tara": 6, "category": "Sadhana", "rating": "Good", "good": true}}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/sunrise-chart": {
      "post": {
        "operationId": "sunrise-chart",
        "summary": "Sunrise Chart & Planet Positions",
        "description": "The chart cast at sunrise: lagna, the twelve houses and each planet's sign, degree, nakshatra, house, dignity and retrograde/combust flags.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "sunrise_chart": {"type": "object", "properties": {"lagna": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}}, "required": ["sign", "degree", "nakshatra"]}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "sign", "planets"]}}, "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "house": {"type": "integer"}, "dignity": {"type": "string"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}}, "required": ["name", "sign", "degree", "longitude", "nakshatra", "pada", "house", "dignity", "retrograde", "combust"]}}}, "required": ["lagna", "houses", "planets"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "sunrise_chart"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "sunrise_chart": {"lagna": {"sign": "Virgo", "degree": 24.5939, "nakshatra": "Chitra"}, "houses": [{"house": 1, "sign": "Virgo", "planets": ["Sun"]}, {"house": 2, "sign": "Libra", "planets": ["Moon", "Mercury", "Venus"]}, {"house": 3, "sign": "Scorpio", "planets": []}], "planets": [{"name": "Sun", "sign": "Virgo", "degree": 25.4772, "longitude": 175.4772, "nakshatra": "Chitra", "pada": 1, "house": 1, "dignity": "Friend Sign", "retrograde": false, "combust": false}, {"name": "Moon", "sign": "Libra", "degree": 23.3608, "longitude": 203.3608, "nakshatra": "Vishakha", "pada": 2, "house": 2, "dignity": "Enemy Sign", "retrograde": false, "combust": false}, {"name": "Mars", "sign": "Cancer", "degree": 14.3153, "longitude": 104.3153, "nakshatra": "Pushya", "pada": 4, "house": 11, "dignity": "Debilitated", "retrograde": false, "combust": false}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/day-festivals": {
      "post": {
        "operationId": "day-festivals",
        "summary": "Festivals of the Day",
        "description": "Names of the festivals falling on the day at the place.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "festivals": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "festivals"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "festivals": ["Sharad Navratri Day 3"]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/panchak-bhadra": {
      "post": {
        "operationId": "panchak-bhadra",
        "summary": "Panchak, Ganda Mool, Bhadra & Vinchudo",
        "description": "Whether and when Panchak, Ganda Mool, Bhadra (Vishti) and Vinchudo run on the day.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "doshas": {"type": "object", "properties": {"panchak": {"type": "object", "properties": {"active": {"type": "boolean"}, "nakshatra": {"type": "null"}, "panchak_type": {"type": "null"}, "ends_at": {"type": "null"}}, "required": ["active", "nakshatra", "panchak_type", "ends_at"]}, "bhadra": {"type": "object", "properties": {"active": {"type": "boolean"}, "karana": {"type": "string"}}, "required": ["active", "karana"]}, "ganda_mool": {"type": "object", "properties": {"active": {"type": "boolean"}, "nakshatra": {"type": "null"}, "ends_at": {"type": "null"}}, "required": ["active", "nakshatra", "ends_at"]}, "vinchudo": {"type": "object", "properties": {"active": {"type": "boolean"}}, "required": ["active"]}, "kranti_samya": {"type": "object", "properties": {"active": {"type": "boolean"}, "declination": {"type": "string"}}, "required": ["active", "declination"]}, "jwalamukhi_yoga": {"type": "object", "properties": {"active": {"type": "boolean"}}, "required": ["active"]}}, "required": ["panchak", "bhadra", "ganda_mool", "vinchudo", "kranti_samya", "jwalamukhi_yoga"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "doshas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "doshas": {"panchak": {"active": false, "nakshatra": null, "panchak_type": null, "ends_at": null}, "bhadra": {"active": false, "karana": "Taitila"}, "ganda_mool": {"active": false, "nakshatra": null, "ends_at": null}, "vinchudo": {"active": false}, "kranti_samya": {"active": false, "declination": "7.71° South"}, "jwalamukhi_yoga": {"active": false}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/special-day-yogas": {
      "post": {
        "operationId": "special-day-yogas",
        "summary": "Special Day Yogas",
        "description": "The day's special yogas (Ravi yoga and others), each with whether it is active, its category, a description and when it ends.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "special_yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "active": {"type": "boolean"}, "category": {"type": "string"}, "description": {"type": "string"}, "until": {"type": "null"}}, "required": ["name", "active", "category", "description", "until"]}}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "special_yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "special_yogas": [{"name": "Ravi Yoga", "active": false, "category": "auspicious", "description": "Nakshatra lord (Jupiter) matches weekday lord (Mars). Highly auspicious for new beginnings, travel, and commerce.", "until": null}, {"name": "Sarvartha Siddhi Yoga", "active": false, "category": "auspicious", "description": "All-accomplishing yoga — actions started now succeed in all four purusharthas. Excellent for business, education, marriage, and travel.", "until": null}, {"name": "Amrit Siddhi Yoga", "active": false, "category": "auspicious", "description": "Nectar-of-success yoga — the finest muhurta quality. Everything initiated now bears the best results. Preferred for all auspicious rites.", "until": null}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/sankalpa-sacred-tithis": {
      "post": {
        "operationId": "sankalpa-sacred-tithis",
        "summary": "Sankalpa & Manvadi/Yugadi/Kalpadi Tithis",
        "description": "The sankalpa text for the day and whether it is a Manvadi, Yugadi or Kalpadi tithi.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "sankalpa": {"type": "string"},
                        "sacred_tithis": {"type": "object", "properties": {"manvadi_tithi": {"type": "object", "properties": {"manvantara": {"type": "string"}, "traditional_tithi": {"type": "string"}, "active_today": {"type": "boolean"}}, "required": ["manvantara", "traditional_tithi", "active_today"]}, "yugadi_tithi": {"type": "object", "properties": {"yuga": {"type": "string"}, "traditional_tithi": {"type": "string"}, "active_today": {"type": "boolean"}}, "required": ["yuga", "traditional_tithi", "active_today"]}, "kalpadi_tithi": {"type": "object", "properties": {"kalpa": {"type": "string"}, "traditional_tithi": {"type": "string"}}, "required": ["kalpa", "traditional_tithi"]}}, "required": ["manvadi_tithi", "yugadi_tithi", "kalpadi_tithi"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "sankalpa",
                        "sacred_tithis"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "sankalpa": "Aum! Vishnurvishnum Vishnum. Shrimad Bhagavato Mahaapurushasy Vishnoragnaya Pravartamanasya, Adya Brahmano Dwiteeya Parardhe, Shri Shwetavaraaha Kalpe, Vaivasvata Manvantare, Kali Yuge, Kali Samvat 5127, Asmin Vartamane Vikram Samvat 2083, Varsha Ritau, Dakshinayana Ayane, Tritiya Tithau, Mangalavara Vasare, Vishakha Nakshatre, Preeti Yoge, Taitila Karane, Chandra Tula Rashau, Surya Kanya Rashau, Guru Karka Rashau, Asmin Vartamane Vyavaharike New Delhi, India Kshetra, Mama Dharmarthakamamoksha Chathurvarga Phala Praptyartham Mama Sakutumbasya Kshema Sthairya Arogya Aishwarya Abhivrudhyartham Mama Sarva Sankalpa Sidhyartham.",
                        "sacred_tithis": {"manvadi_tithi": {"manvantara": "Vaivasvata (7th)", "traditional_tithi": "Mesha Shukla Tritiya", "active_today": false}, "yugadi_tithi": {"yuga": "Kali Yuga", "traditional_tithi": "Chaitra Shukla Pratipada", "active_today": false}, "kalpadi_tithi": {"kalpa": "Shwetavaraha Kalpa", "traditional_tithi": "Chaitra Shukla Pratipada"}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/time-heatmap": {
      "post": {
        "operationId": "time-heatmap",
        "summary": "Day Quality Heatmap",
        "description": "The day and night split into time slots, each with a score, a band and the auspicious and inauspicious periods it contains.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DatePlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "time_heatmap": {"type": "object", "properties": {"available": {"type": "boolean"}, "day": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "score": {"type": "integer"}, "band": {"type": "string"}, "auspicious": {"type": "array", "items": {"type": "string"}}, "inauspicious": {"type": "array", "items": {"type": "string"}}}, "required": ["start", "end", "score", "band", "auspicious", "inauspicious"]}}, "night": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "score": {"type": "integer"}, "band": {"type": "string"}, "auspicious": {"type": "array", "items": {"type": "string"}}, "inauspicious": {"type": "array", "items": {"type": "string"}}}, "required": ["start", "end", "score", "band", "auspicious", "inauspicious"]}}}, "required": ["available", "day", "night"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "time_heatmap"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": {"id": "lahiri", "name": "Lahiri (Chitrapaksha)", "degrees": 24.2312},
                        "time_heatmap": {"available": true, "day": [{"start": "2026-10-13T06:20:00", "end": "2026-10-13T06:32:00", "score": 0, "band": "neutral", "auspicious": ["Pratah Sandhya"], "inauspicious": ["Rog Choghadiya"]}, {"start": "2026-10-13T06:32:00", "end": "2026-10-13T07:47:00", "score": -1, "band": "inauspicious", "auspicious": [], "inauspicious": ["Rog Choghadiya"]}, {"start": "2026-10-13T07:47:00", "end": "2026-10-13T09:13:00", "score": 0, "band": "neutral", "auspicious": [], "inauspicious": []}], "night": [{"start": "2026-10-13T17:54:00", "end": "2026-10-13T18:06:00", "score": 1, "band": "auspicious", "auspicious": ["Godhuli Muhurta", "Sayahna Sandhya"], "inauspicious": ["Kaal Choghadiya"]}, {"start": "2026-10-13T18:06:00", "end": "2026-10-13T18:18:00", "score": 0, "band": "neutral", "auspicious": ["Godhuli Muhurta"], "inauspicious": ["Kaal Choghadiya"]}, {"start": "2026-10-13T18:18:00", "end": "2026-10-13T19:27:00", "score": -1, "band": "inauspicious", "auspicious": [], "inauspicious": ["Kaal Choghadiya"]}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/monthly-panchang": {
      "post": {
        "operationId": "monthly-panchang",
        "summary": "Monthly Panchang",
        "description": "Panchang for every day of a month at one place.",
        "tags": [
          "panchang"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MonthInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "year": 2026,
                "month": 10,
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "year": {"type": "integer"},
                        "month": {"type": "integer"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "timezone": {"type": "string"}}, "required": ["latitude", "longitude", "timezone"]},
                        "days": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "weekday": {"type": "string"}, "sunrise": {"type": "string"}, "sunset": {"type": "string"}, "moonrise": {"type": "string"}, "moonset": {"type": "string"}, "tithi": {"type": "object", "properties": {"name": {"type": "string"}, "paksha": {"type": "string"}, "ends_at": {"type": "string"}}, "required": ["name", "paksha", "ends_at"]}, "nakshatra": {"type": "object", "properties": {"name": {"type": "string"}, "ends_at": {"type": "string"}}, "required": ["name", "ends_at"]}, "yoga": {"type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"]}, "moon_sign_at_sunrise": {"type": "string"}, "moon_phase_at_sunrise": {"type": "object", "properties": {"name": {"type": "string"}, "illumination_percent": {"type": "integer"}, "at": {"type": "string"}}, "required": ["name", "illumination_percent", "at"]}}, "required": ["date", "weekday", "sunrise", "sunset", "moonrise", "moonset", "tithi", "nakshatra", "yoga", "moon_sign_at_sunrise", "moon_phase_at_sunrise"]}}
                      },
                      "required": [
                        "year",
                        "month",
                        "location",
                        "days"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "year": 2026,
                        "month": 10,
                        "location": {"latitude": 28.6139, "longitude": 77.209, "timezone": "Asia/Kolkata"},
                        "days": [{"date": "2026-10-01", "weekday": "Thursday", "sunrise": "2026-10-01T06:13:45", "sunset": "2026-10-01T18:07:32", "moonrise": "2026-10-01T21:19:23", "moonset": "2026-10-01T11:01:42", "tithi": {"name": "Panchami", "paksha": "Krishna", "ends_at": "2026-10-01T12:35:00"}, "nakshatra": {"name": "Rohini", "ends_at": "2026-10-02T04:27:00"}, "yoga": {"name": "Siddhi"}, "moon_sign_at_sunrise": "Taurus", "moon_phase_at_sunrise": {"name": "Waning Gibbous", "illumination_percent": 78, "at": "2026-10-01T06:13:45"}}, {"date": "2026-10-02", "weekday": "Friday", "sunrise": "2026-10-02T06:14:17", "sunset": "2026-10-02T18:06:22", "moonrise": "2026-10-02T22:20:32", "moonset": "2026-10-02T12:08:19", "tithi": {"name": "Shashthi", "paksha": "Krishna", "ends_at": "2026-10-02T10:15:00"}, "nakshatra": {"name": "Mrigashira", "ends_at": "2026-10-03T02:55:00"}, "yoga": {"name": "Vyatipaata"}, "moon_sign_at_sunrise": "Taurus", "moon_phase_at_sunrise": {"name": "Waning Gibbous", "illumination_percent": 67, "at": "2026-10-02T06:14:17"}}, {"date": "2026-10-03", "weekday": "Saturday", "sunrise": "2026-10-03T06:14:48", "sunset": "2026-10-03T18:05:12", "moonrise": "2026-10-03T23:26:56", "moonset": "2026-10-03T13:09:13", "tithi": {"name": "Saptami", "paksha": "Krishna", "ends_at": "2026-10-03T08:00:00"}, "nakshatra": {"name": "Ardra", "ends_at": "2026-10-04T01:29:00"}, "yoga": {"name": "Variyana"}, "moon_sign_at_sunrise": "Gemini", "moon_phase_at_sunrise": {"name": "Waning Gibbous", "illumination_percent": 56, "at": "2026-10-03T06:14:48"}}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/panchanga-sequence": {
      "post": {
        "operationId": "panchanga-sequence",
        "summary": "Panchanga Sequence & Udaya Lagna",
        "description": "Every tithi, karana, nakshatra and pada, yoga, Moon sign and Udaya Lagna that runs from sunrise to the next sunrise, with start and end times.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DayInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "day": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]},
                        "tithi": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "paksha": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "started_before_sunrise": {"type": "boolean"}, "continues_after_next_sunrise": {"type": "boolean"}}, "required": ["name", "paksha", "start", "end", "started_before_sunrise", "continues_after_next_sunrise"]}},
                        "karana": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "started_before_sunrise": {"type": "boolean"}, "continues_after_next_sunrise": {"type": "boolean"}}, "required": ["name", "start", "end", "started_before_sunrise", "continues_after_next_sunrise"]}},
                        "nakshatra": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "started_before_sunrise": {"type": "boolean"}, "continues_after_next_sunrise": {"type": "boolean"}}, "required": ["name", "start", "end", "started_before_sunrise", "continues_after_next_sunrise"]}},
                        "nakshatra_pada": {"type": "array", "items": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "started_before_sunrise": {"type": "boolean"}, "continues_after_next_sunrise": {"type": "boolean"}}, "required": ["nakshatra", "pada", "start", "end", "started_before_sunrise", "continues_after_next_sunrise"]}},
                        "yoga": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "started_before_sunrise": {"type": "boolean"}, "continues_after_next_sunrise": {"type": "boolean"}}, "required": ["name", "start", "end", "started_before_sunrise", "continues_after_next_sunrise"]}},
                        "moon_sign": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "started_before_sunrise": {"type": "boolean"}, "continues_after_next_sunrise": {"type": "boolean"}}, "required": ["sign", "start", "end", "started_before_sunrise", "continues_after_next_sunrise"]}},
                        "udaya_lagna": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "started_before_sunrise": {"type": "boolean"}, "continues_after_next_sunrise": {"type": "boolean"}}, "required": ["sign", "start", "end", "started_before_sunrise", "continues_after_next_sunrise"]}}
                      },
                      "required": [
                        "date",
                        "location",
                        "day",
                        "tithi",
                        "karana",
                        "nakshatra",
                        "nakshatra_pada",
                        "yoga",
                        "moon_sign",
                        "udaya_lagna"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "day": {"start": "2026-10-13T06:20:00", "end": "2026-10-14T06:20:00"},
                        "tithi": [{"name": "Tritiya", "paksha": "Shukla", "start": "2026-10-13T06:20:00", "end": "2026-10-13T23:28:00", "started_before_sunrise": true, "continues_after_next_sunrise": false}, {"name": "Chaturthi", "paksha": "Shukla", "start": "2026-10-13T23:28:00", "end": "2026-10-14T06:20:00", "started_before_sunrise": false, "continues_after_next_sunrise": true}],
                        "karana": [{"name": "Taitila", "start": "2026-10-13T06:20:00", "end": "2026-10-13T10:46:00", "started_before_sunrise": true, "continues_after_next_sunrise": false}, {"name": "Gara", "start": "2026-10-13T10:46:00", "end": "2026-10-13T23:28:00", "started_before_sunrise": false, "continues_after_next_sunrise": false}, {"name": "Vanija", "start": "2026-10-13T23:28:00", "end": "2026-10-14T06:20:00", "started_before_sunrise": false, "continues_after_next_sunrise": true}],
                        "nakshatra": [{"name": "Vishakha", "start": "2026-10-13T06:20:00", "end": "2026-10-14T01:43:00", "started_before_sunrise": true, "continues_after_next_sunrise": false}, {"name": "Anuradha", "start": "2026-10-14T01:43:00", "end": "2026-10-14T06:20:00", "started_before_sunrise": false, "continues_after_next_sunrise": true}],
                        "nakshatra_pada": [{"nakshatra": "Vishakha", "pada": 2, "start": "2026-10-13T06:20:00", "end": "2026-10-13T12:43:00", "started_before_sunrise": true, "continues_after_next_sunrise": false}, {"nakshatra": "Vishakha", "pada": 3, "start": "2026-10-13T12:43:00", "end": "2026-10-13T19:12:00", "started_before_sunrise": false, "continues_after_next_sunrise": false}, {"nakshatra": "Vishakha", "pada": 4, "start": "2026-10-13T19:12:00", "end": "2026-10-14T01:43:00", "started_before_sunrise": false, "continues_after_next_sunrise": false}],
                        "yoga": [{"name": "Preeti", "start": "2026-10-13T06:20:00", "end": "2026-10-13T20:23:00", "started_before_sunrise": true, "continues_after_next_sunrise": false}, {"name": "Aayushman", "start": "2026-10-13T20:23:00", "end": "2026-10-14T06:20:00", "started_before_sunrise": false, "continues_after_next_sunrise": true}],
                        "moon_sign": [{"sign": "Libra", "start": "2026-10-13T06:20:00", "end": "2026-10-13T19:12:00", "started_before_sunrise": true, "continues_after_next_sunrise": false}, {"sign": "Scorpio", "start": "2026-10-13T19:12:00", "end": "2026-10-14T06:20:00", "started_before_sunrise": false, "continues_after_next_sunrise": true}],
                        "udaya_lagna": [{"sign": "Virgo", "start": "2026-10-13T06:20:00", "end": "2026-10-13T06:45:00", "started_before_sunrise": true, "continues_after_next_sunrise": false}, {"sign": "Libra", "start": "2026-10-13T06:45:00", "end": "2026-10-13T09:04:00", "started_before_sunrise": false, "continues_after_next_sunrise": false}, {"sign": "Scorpio", "start": "2026-10-13T09:04:00", "end": "2026-10-13T11:23:00", "started_before_sunrise": false, "continues_after_next_sunrise": false}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/tamil-calendar": {
      "post": {
        "operationId": "tamil-calendar",
        "summary": "Tamil Solar Calendar",
        "description": "Tamil year, month and date from the Sun's sidereal sign, and the day-types.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DayInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "tamil_year": {"type": "string"},
                        "month": {"type": "object", "properties": {"name": {"type": "string"}, "name_tamil": {"type": "string"}, "number": {"type": "integer"}, "day": {"type": "integer"}, "first_day": {"type": "string"}, "sankranti_date": {"type": "string"}}, "required": ["name", "name_tamil", "number", "day", "first_day", "sankranti_date"]},
                        "nakshatra_at_sunrise": {"type": "string"},
                        "nokku_naal": {"type": "object", "properties": {"type": {"type": "string"}, "label": {"type": "string"}, "direction": {"type": "string"}, "meaning": {"type": "string"}, "label_tamil": {"type": "string"}}, "required": ["type", "label", "direction", "meaning", "label_tamil"]},
                        "kari_naal": {"type": "object", "properties": {"active": {"type": "boolean"}, "label": {"type": "null"}, "meaning": {"type": "null"}}, "required": ["active", "label", "meaning"]},
                        "thaniya_naal": {"type": "object", "properties": {"active": {"type": "boolean"}, "label": {"type": "null"}, "meaning": {"type": "null"}}, "required": ["active", "label", "meaning"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "tamil_year",
                        "month",
                        "nakshatra_at_sunrise",
                        "nokku_naal",
                        "kari_naal",
                        "thaniya_naal"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "tamil_year": "Parabhava",
                        "month": {"name": "Purattasi", "name_tamil": "புரட்டாசி", "number": 6, "day": 27, "first_day": "2026-09-17", "sankranti_date": "2026-09-17"},
                        "nakshatra_at_sunrise": "Vishakha",
                        "nokku_naal": {"type": "keezh", "label": "Keezh Nokku Naal", "direction": "downward", "meaning": "Favours what is meant to settle — foundations, digging, storage.", "label_tamil": "கீழ் நோக்கு நாள்"},
                        "kari_naal": {"active": false, "label": null, "meaning": null},
                        "thaniya_naal": {"active": false, "label": null, "meaning": null}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/tamil-timings": {
      "post": {
        "operationId": "tamil-timings",
        "summary": "Gowri Panchangam & Nalla Neram",
        "description": "Gowri Panchangam periods for the day and night, the auspicious Nalla Neram windows and the day's Amritadi yoga.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DayInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "sunrise": {"type": "string"},
                        "sunset": {"type": "string"},
                        "next_sunrise": {"type": "string"},
                        "gowri": {"type": "object", "properties": {"day": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "meaning": {"type": "string"}, "auspicious": {"type": "boolean"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["name", "meaning", "auspicious", "start", "end"]}}, "night": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "meaning": {"type": "string"}, "auspicious": {"type": "boolean"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["name", "meaning", "auspicious", "start", "end"]}}, "day_starts_with": {"type": "string"}}, "required": ["day", "night", "day_starts_with"]},
                        "nalla_neram": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["name", "start", "end"]}},
                        "amritadi_yoga": {"type": "object", "properties": {"name": {"type": "string"}, "nakshatra_at_sunrise": {"type": "string"}, "auspicious": {"type": "boolean"}, "meaning": {"type": "string"}}, "required": ["name", "nakshatra_at_sunrise", "auspicious", "meaning"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "sunrise",
                        "sunset",
                        "next_sunrise",
                        "gowri",
                        "nalla_neram",
                        "amritadi_yoga"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "sunrise": "2026-10-13T06:20:00",
                        "sunset": "2026-10-13T17:54:00",
                        "next_sunrise": "2026-10-14T06:20:00",
                        "gowri": {"day": [{"name": "Rogam", "meaning": "illness; avoid", "auspicious": false, "start": "2026-10-13T06:20:00", "end": "2026-10-13T07:47:00"}, {"name": "Labam", "meaning": "gain; trade and profit", "auspicious": true, "start": "2026-10-13T07:47:00", "end": "2026-10-13T09:13:00"}, {"name": "Dhanam", "meaning": "wealth; money matters", "auspicious": true, "start": "2026-10-13T09:13:00", "end": "2026-10-13T10:40:00"}], "night": [{"name": "Uthi", "meaning": "effort; work begun here bears fruit", "auspicious": true, "start": "2026-10-13T17:54:00", "end": "2026-10-13T19:27:00"}, {"name": "Visham", "meaning": "poison; avoid", "auspicious": false, "start": "2026-10-13T19:27:00", "end": "2026-10-13T21:00:00"}, {"name": "Amridha", "meaning": "nectar — the most favourable of the eight", "auspicious": true, "start": "2026-10-13T21:00:00", "end": "2026-10-13T22:34:00"}], "day_starts_with": "Rogam"},
                        "nalla_neram": [{"name": "Labam", "start": "2026-10-13T07:47:00", "end": "2026-10-13T09:13:00"}, {"name": "Dhanam", "start": "2026-10-13T09:13:00", "end": "2026-10-13T10:40:00"}, {"name": "Sugam", "start": "2026-10-13T10:40:00", "end": "2026-10-13T12:07:00"}],
                        "amritadi_yoga": {"name": "Marana", "nakshatra_at_sunrise": "Vishakha", "auspicious": false, "meaning": "death-like; avoid beginnings"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/tyajyam": {
      "post": {
        "operationId": "tyajyam",
        "summary": "Tyajyam (All Kinds)",
        "description": "Nakshatra, tithi, vara, karana, lagna and Gowri tyajyam windows for the day, each with its cause, plus the dosha check and Amrita Kalam.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DayInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "day": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]},
                        "nakshatra": {"type": "array", "items": {"type": "object", "properties": {"because": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "disputed": {"type": "boolean"}}, "required": ["because", "start", "end", "disputed"]}},
                        "tithi": {"type": "array", "items": {"type": "object", "properties": {"because": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["because", "start", "end"]}},
                        "vara": {"type": "array", "items": {"type": "object", "properties": {"because": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["because", "start", "end"]}},
                        "karana": {"type": "array"},
                        "lagna": {"type": "array", "items": {"type": "object", "properties": {"because": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["because", "start", "end"]}},
                        "gowri": {"type": "array", "items": {"type": "object", "properties": {"because": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["because", "start", "end"]}},
                        "dosha": {"type": "object", "properties": {"active": {"type": "boolean"}, "combust": {"type": "array"}}, "required": ["active", "combust"]},
                        "amrita_kalam": {"type": "object", "properties": {"basis": {"type": "string"}, "rule": {"type": "string"}, "windows": {"type": "array", "items": {"type": "object", "properties": {"because": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["because", "start", "end"]}}}, "required": ["basis", "rule", "windows"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "day",
                        "nakshatra",
                        "tithi",
                        "vara",
                        "karana",
                        "lagna",
                        "gowri",
                        "dosha",
                        "amrita_kalam"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "day": {"start": "2026-10-13T06:20:00", "end": "2026-10-14T06:20:00"},
                        "nakshatra": [{"because": "Vishakha", "start": "2026-10-13T05:54:00", "end": "2026-10-13T07:37:00", "disputed": false}, {"because": "Anuradha", "start": "2026-10-14T06:06:00", "end": "2026-10-14T07:51:00", "disputed": false}],
                        "tithi": [{"because": "Tritiya", "start": "2026-10-13T21:22:00", "end": "2026-10-13T23:03:00"}, {"because": "Chaturthi", "start": "2026-10-14T01:37:00", "end": "2026-10-14T03:20:00"}],
                        "vara": [{"because": "Tuesday", "start": "2026-10-13T18:44:00", "end": "2026-10-13T20:14:00"}],
                        "karana": [],
                        "lagna": [{"because": "Libra rising", "start": "2026-10-13T06:45:00", "end": "2026-10-13T09:04:00"}, {"because": "Capricorn rising", "start": "2026-10-13T13:27:00", "end": "2026-10-13T15:09:00"}, {"because": "Aries rising", "start": "2026-10-13T18:01:00", "end": "2026-10-13T19:37:00"}],
                        "gowri": [{"because": "Rogam (day)", "start": "2026-10-13T06:20:00", "end": "2026-10-13T07:47:00"}, {"because": "Soram (day)", "start": "2026-10-13T12:07:00", "end": "2026-10-13T13:33:00"}, {"because": "Visham (day)", "start": "2026-10-13T15:00:00", "end": "2026-10-13T16:27:00"}],
                        "dosha": {"active": false, "combust": []},
                        "amrita_kalam": {"basis": "derived", "rule": "opposite-point-30", "windows": [{"because": "Vishakha", "start": "2026-10-13T18:49:00", "end": "2026-10-13T20:33:00"}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/varjyam": {
      "post": {
        "operationId": "varjyam",
        "summary": "Varjyam Windows",
        "description": "Varjyam windows touching one day with their nakshatra and start ghatika, disputed ones flagged, plus the Amrita Kalam windows.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DayInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "day": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]},
                        "varjyam": {"type": "array", "items": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "nakshatra_start": {"type": "string"}, "nakshatra_end": {"type": "string"}, "start_ghatika": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "disputed": {"type": "boolean"}}, "required": ["nakshatra", "nakshatra_start", "nakshatra_end", "start_ghatika", "start", "end", "disputed"]}},
                        "amrita_kalam": {"type": "object", "properties": {"basis": {"type": "string"}, "rule": {"type": "string"}, "windows": {"type": "array", "items": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "nakshatra_start": {"type": "string"}, "nakshatra_end": {"type": "string"}, "start_ghatika": {"type": "number"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["nakshatra", "nakshatra_start", "nakshatra_end", "start_ghatika", "start", "end"]}}}, "required": ["basis", "rule", "windows"]}
                      },
                      "required": [
                        "date",
                        "location",
                        "day",
                        "varjyam",
                        "amrita_kalam"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "day": {"start": "2026-10-13T06:20:00", "end": "2026-10-14T06:20:00"},
                        "varjyam": [{"nakshatra": "Vishakha", "nakshatra_start": "2026-10-12T23:52:00", "nakshatra_end": "2026-10-14T01:43:00", "start_ghatika": 14, "start": "2026-10-13T05:54:00", "end": "2026-10-13T07:37:00", "disputed": false}, {"nakshatra": "Anuradha", "nakshatra_start": "2026-10-14T01:43:00", "nakshatra_end": "2026-10-15T04:03:00", "start_ghatika": 10, "start": "2026-10-14T06:06:00", "end": "2026-10-14T07:51:00", "disputed": false}],
                        "amrita_kalam": {"basis": "derived", "rule": "opposite-point-30", "windows": [{"nakshatra": "Vishakha", "nakshatra_start": "2026-10-12T23:52:00", "nakshatra_end": "2026-10-14T01:43:00", "start_ghatika": 44.0, "start": "2026-10-13T18:49:00", "end": "2026-10-13T20:33:00"}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/anandadi-yoga": {
      "post": {
        "operationId": "anandadi-yoga",
        "summary": "Anandadi Yoga",
        "description": "The 28-fold weekday-and-nakshatra yoga for the day with its transition times.",
        "tags": [
          "panchang"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DayInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "weekday": {"type": "string"},
                        "counted_from": {"type": "string"},
                        "spans": {"type": "array", "items": {"type": "object", "properties": {"yoga": {"type": "string"}, "number": {"type": "integer"}, "quality": {"type": "string"}, "auspicious": {"type": "boolean"}, "meaning": {"type": "string"}, "nakshatra": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "started_before_sunrise": {"type": "boolean"}, "continues_after_next_sunrise": {"type": "boolean"}}, "required": ["yoga", "number", "quality", "auspicious", "meaning", "nakshatra", "start", "end", "started_before_sunrise", "continues_after_next_sunrise"]}}
                      },
                      "required": [
                        "date",
                        "location",
                        "weekday",
                        "counted_from",
                        "spans"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "weekday": "Tuesday",
                        "counted_from": "Ashlesha",
                        "spans": [{"yoga": "Shrivatsa", "number": 8, "quality": "auspicious", "auspicious": true, "meaning": "Mark of fortune", "nakshatra": "Vishakha", "start": "2026-10-13T06:20:00", "end": "2026-10-14T01:43:00", "started_before_sunrise": true, "continues_after_next_sunrise": false}, {"yoga": "Vajra", "number": 9, "quality": "inauspicious", "auspicious": false, "meaning": "Thunderbolt", "nakshatra": "Anuradha", "start": "2026-10-14T01:43:00", "end": "2026-10-14T06:20:00", "started_before_sunrise": false, "continues_after_next_sunrise": true}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/eclipses": {
      "post": {
        "operationId": "eclipses",
        "summary": "Eclipses, Equinoxes & Solstices",
        "description": "Every solar and lunar eclipse of a year with type, global contacts and local visibility, magnitude and sutak, plus the equinoxes and solstices.",
        "tags": [
          "panchang"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YearPlaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "year": 2026,
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "year": {"type": "integer"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "timezone": {"type": "string"}}, "required": ["latitude", "longitude", "timezone"]},
                        "eclipses": {"type": "array", "items": {"type": "object", "properties": {"kind": {"type": "string"}, "type": {"type": "string"}, "central": {"type": "boolean"}, "global": {"type": "object", "properties": {"start": {"type": "string"}, "maximum": {"type": "string"}, "end": {"type": "string"}, "start_end_contacts": {"type": "string"}}, "required": ["start", "maximum", "end", "start_end_contacts"]}, "local": {"type": "object", "properties": {"visible": {"type": "boolean"}, "visible_phase": {"type": "string"}, "first_visible": {"type": "string"}, "maximum_visible": {"type": "string"}, "last_visible": {"type": "string"}, "magnitude_at_max": {"type": "number"}, "moon_altitude_at_max": {"type": "number"}, "moonrise_during_eclipse": {"type": "string"}, "moonset_during_eclipse": {"type": "null"}, "sutak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "hours_before": {"type": "number"}}, "required": ["start", "end", "hours_before"]}}, "required": ["visible"]}}, "required": ["kind", "type", "central", "global", "local"]}},
                        "equinoxes_solstices": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "tropical_longitude": {"type": "number"}, "at": {"type": "string"}}, "required": ["name", "tropical_longitude", "at"]}}
                      },
                      "required": [
                        "year",
                        "location",
                        "eclipses",
                        "equinoxes_solstices"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "year": 2026,
                        "location": {"latitude": 28.6139, "longitude": 77.209, "timezone": "Asia/Kolkata"},
                        "eclipses": [{"kind": "solar", "type": "Annular", "central": true, "global": {"start": "2026-02-17T15:26:00+05:30", "maximum": "2026-02-17T17:41:00+05:30", "end": "2026-02-17T19:57:00+05:30", "start_end_contacts": "first and last contact on Earth"}, "local": {"visible": false}}, {"kind": "lunar", "type": "Total", "central": false, "global": {"start": "2026-03-03T14:14:00+05:30", "maximum": "2026-03-03T17:03:00+05:30", "end": "2026-03-03T19:53:00+05:30", "start_end_contacts": "penumbral"}, "local": {"visible": true, "visible_phase": "Partial", "first_visible": "2026-03-03T18:24:00+05:30", "maximum_visible": "2026-03-03T18:24:00+05:30", "last_visible": "2026-03-03T19:53:00+05:30", "magnitude_at_max": 0.345, "moon_altitude_at_max": 0.2, "moonrise_during_eclipse": "2026-03-03T18:24:00+05:30", "moonset_during_eclipse": null, "sutak": {"start": "2026-03-03T09:24:00+05:30", "end": "2026-03-03T18:24:00+05:30", "hours_before": 9.0}}}, {"kind": "solar", "type": "Total", "central": true, "global": {"start": "2026-08-12T21:04:00+05:30", "maximum": "2026-08-12T23:15:00+05:30", "end": "2026-08-13T01:27:00+05:30", "start_end_contacts": "first and last contact on Earth"}, "local": {"visible": false}}],
                        "equinoxes_solstices": [{"name": "March Equinox", "tropical_longitude": 0.0, "at": "2026-03-20T20:15:00+05:30"}, {"name": "June Solstice", "tropical_longitude": 90.0, "at": "2026-06-21T13:54:00+05:30"}, {"name": "September Equinox", "tropical_longitude": 180.0, "at": "2026-09-23T05:35:00+05:30"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/panchang/planetary-events": {
      "post": {
        "operationId": "planetary-events",
        "summary": "Ingresses & Stations",
        "description": "Sign and nakshatra ingresses (Sankrantis for the Sun) and retrograde/direct stations over a date range.",
        "tags": [
          "panchang"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/EventsInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "from_date": "2026-01-01",
                "to_date": "2026-03-31",
                "timezone": "Asia/Kolkata"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "from_date": {"type": "string"},
                        "to_date": {"type": "string"},
                        "timezone": {"type": "string"},
                        "planets": {"type": "array", "items": {"type": "string"}},
                        "node": {"type": "string"},
                        "events": {"type": "array", "items": {"type": "object", "properties": {"at": {"type": "string"}, "planet": {"type": "string"}, "type": {"type": "string"}, "from": {"type": "string"}, "to": {"type": "string"}, "moving_retrograde": {"type": "boolean"}}, "required": ["at", "planet", "type", "from", "to", "moving_retrograde"]}}
                      },
                      "required": [
                        "from_date",
                        "to_date",
                        "timezone",
                        "planets",
                        "node",
                        "events"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "from_date": "2026-01-01",
                        "to_date": "2026-03-31",
                        "timezone": "Asia/Kolkata",
                        "planets": ["Sun", "Mercury", "Venus"],
                        "node": "mean",
                        "events": [{"at": "2026-01-07T00:01:00+05:30", "planet": "Mercury", "type": "nakshatra_ingress", "from": "Mula", "to": "Purva Ashadha", "moving_retrograde": false}, {"at": "2026-01-10T12:21:00+05:30", "planet": "Venus", "type": "nakshatra_ingress", "from": "Purva Ashadha", "to": "Uttara Ashadha", "moving_retrograde": false}, {"at": "2026-01-11T08:36:00+05:30", "planet": "Sun", "type": "nakshatra_ingress", "from": "Purva Ashadha", "to": "Uttara Ashadha", "moving_retrograde": false}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/festivals-muhurta/vrat-calendar": {
      "post": {
        "operationId": "vrat-calendar",
        "summary": "Vrat Calendar",
        "description": "Every date in a year on which one recurring observance falls at a place, with its tithi, paksha, lunar month and the moment it was judged at.",
        "tags": [
          "festivals-muhurta"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VratInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "year": 2026,
                "observance": "ekadashi",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "year": {"type": "integer"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "timezone": {"type": "string"}}, "required": ["latitude", "longitude", "timezone"]},
                        "observance": {"type": "object", "properties": {"id": {"type": "string"}, "label": {"type": "string"}, "cadence": {"type": "string"}, "judged": {"type": "string"}}, "required": ["id", "label", "cadence", "judged"]},
                        "dates": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "tithi": {"type": "string"}, "paksha": {"type": "string"}, "lunar_month": {"type": "string"}, "purnimanta_month": {"type": "string"}, "judged_at": {"type": "string"}, "kshaya": {"type": "boolean"}, "also_current_next_day": {"type": "boolean"}}, "required": ["date", "tithi", "paksha", "lunar_month", "purnimanta_month", "judged_at", "kshaya", "also_current_next_day"]}}
                      },
                      "required": [
                        "year",
                        "location",
                        "observance",
                        "dates"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "year": 2026,
                        "location": {"latitude": 28.6139, "longitude": 77.209, "timezone": "Asia/Kolkata"},
                        "observance": {"id": "ekadashi", "label": "Ekadashi", "cadence": "twice a lunar month", "judged": "sunrise"},
                        "dates": [{"date": "2026-01-14", "tithi": "Ekadashi", "paksha": "Krishna", "lunar_month": "Pausha", "purnimanta_month": "Magha", "judged_at": "2026-01-14T07:14:00", "kshaya": false, "also_current_next_day": false}, {"date": "2026-01-29", "tithi": "Ekadashi", "paksha": "Shukla", "lunar_month": "Magha", "purnimanta_month": "Magha", "judged_at": "2026-01-29T07:10:00", "kshaya": false, "also_current_next_day": false}, {"date": "2026-02-13", "tithi": "Ekadashi", "paksha": "Krishna", "lunar_month": "Magha", "purnimanta_month": "Phalguna", "judged_at": "2026-02-13T07:01:00", "kshaya": false, "also_current_next_day": false}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/festivals-muhurta/vrat-observances": {
      "post": {
        "operationId": "vrat-observances",
        "summary": "Vrat Observance Catalogue",
        "description": "Lists the observances the vrat calendar supports with cadence and the moment each is judged at.",
        "tags": [
          "festivals-muhurta"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ObservanceFilter"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "observance": "ekadashi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "observances": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "label": {"type": "string"}, "cadence": {"type": "string"}, "judged": {"type": "string"}, "note": {"type": "string"}}, "required": ["id", "label", "cadence", "judged", "note"]}}
                      },
                      "required": [
                        "observances"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "observances": [{"id": "ekadashi", "label": "Ekadashi", "cadence": "twice a lunar month", "judged": "at sunrise", "note": "A sunrise-to-sunrise fast, so the tithi running at sunrise decides the day."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/festivals-muhurta/muhurta-finder": {
      "post": {
        "operationId": "muhurta-finder",
        "summary": "Muhurta Finder",
        "description": "Suitable days for one undertaking over a date range at a place, scored with clear windows; rejected days are returned with what blocked them.",
        "tags": [
          "festivals-muhurta"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MuhurtaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "purpose": "vivah",
                "start_date": "2026-11-01",
                "days": 30,
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "purpose": {"type": "object", "properties": {"id": {"type": "string"}, "label": {"type": "string"}, "tradition": {"type": "string"}}, "required": ["id", "label", "tradition"]},
                        "rules": {"type": "object", "properties": {"favourable_nakshatras": {"type": "array", "items": {"type": "string"}}, "favourable_tithis": {"type": "array", "items": {"type": "string"}}, "favourable_weekdays": {"type": "array", "items": {"type": "string"}}, "blockers": {"type": "array", "items": {"type": "string"}}}, "required": ["favourable_nakshatras", "favourable_tithis", "favourable_weekdays", "blockers"]},
                        "start_date": {"type": "string"},
                        "days": {"type": "integer"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "timezone": {"type": "string"}}, "required": ["latitude", "longitude", "timezone"]},
                        "suitable_days": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "weekday": {"type": "string"}, "tithi": {"type": "string"}, "paksha": {"type": "string"}, "nakshatra": {"type": "string"}, "yoga": {"type": "string"}, "lunar_month": {"type": "string"}, "score": {"type": "integer"}, "max_score": {"type": "integer"}, "in_favour": {"type": "array", "items": {"type": "string"}}, "clear_windows": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}}}, "required": ["date", "weekday", "tithi", "paksha", "nakshatra", "yoga", "lunar_month", "score", "max_score", "in_favour", "clear_windows"]}},
                        "rejected_days": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "weekday": {"type": "string"}, "tithi": {"type": "string"}, "paksha": {"type": "string"}, "nakshatra": {"type": "string"}, "yoga": {"type": "string"}, "lunar_month": {"type": "string"}, "score": {"type": "integer"}, "max_score": {"type": "integer"}, "in_favour": {"type": "array", "items": {"type": "string"}}, "blocked_by": {"type": "array", "items": {"type": "string"}}, "not_chosen_because": {"type": "array"}}, "required": ["date", "weekday", "tithi", "paksha", "nakshatra", "yoga", "lunar_month", "score", "max_score", "in_favour", "blocked_by", "not_chosen_because"]}}
                      },
                      "required": [
                        "purpose",
                        "rules",
                        "start_date",
                        "days",
                        "location",
                        "suitable_days",
                        "rejected_days"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "purpose": {"id": "vivah", "label": "Vivah (Marriage)", "tradition": "Muhurta Chintamani, as commonly published. Eleven nakshatras, the bright-fortnight tithis, and the benefic weekdays."},
                        "rules": {"favourable_nakshatras": ["Rohini", "Mrigashira", "Magha"], "favourable_tithis": ["Dvitiya", "Tritiya", "Panchami"], "favourable_weekdays": ["Monday", "Wednesday", "Thursday"], "blockers": ["Bhadra (Vishti karana) runs at sunrise", "Amavasya", "Adhik masa (intercalary month)"]},
                        "start_date": "2026-11-01",
                        "days": 30,
                        "location": {"latitude": 28.6139, "longitude": 77.209, "timezone": "Asia/Kolkata"},
                        "suitable_days": [{"date": "2026-11-21", "weekday": "Saturday", "tithi": "Dwadashi", "paksha": "Shukla", "nakshatra": "Uttara Bhadrapada", "yoga": "Siddhi", "lunar_month": "Kartika", "score": 2, "max_score": 4, "in_favour": ["Uttara Bhadrapada is among the favourable nakshatras for this", "Siddhi yoga carries no classical objection"], "clear_windows": [{"start": "2026-11-21T08:07:00", "end": "2026-11-21T09:27:00"}, {"start": "2026-11-21T10:47:00", "end": "2026-11-21T13:26:00"}, {"start": "2026-11-21T14:46:00", "end": "2026-11-21T17:25:00"}]}, {"date": "2026-11-25", "weekday": "Wednesday", "tithi": "Pratipada", "paksha": "Krishna", "nakshatra": "Rohini", "yoga": "Shiva", "lunar_month": "Kartika", "score": 3, "max_score": 4, "in_favour": ["Rohini is among the favourable nakshatras for this", "Wednesday is a favourable weekday", "Shiva yoga carries no classical objection"], "clear_windows": [{"start": "2026-11-25T06:51:00", "end": "2026-11-25T08:10:00"}, {"start": "2026-11-25T09:29:00", "end": "2026-11-25T10:48:00"}, {"start": "2026-11-25T13:27:00", "end": "2026-11-25T17:24:00"}]}, {"date": "2026-11-26", "weekday": "Thursday", "tithi": "Dvitiya", "paksha": "Krishna", "nakshatra": "Mrigashira", "yoga": "Siddha", "lunar_month": "Kartika", "score": 4, "max_score": 4, "in_favour": ["Mrigashira is among the favourable nakshatras for this", "Dvitiya is a favourable tithi", "Thursday is a favourable weekday"], "clear_windows": [{"start": "2026-11-26T08:11:00", "end": "2026-11-26T09:30:00"}, {"start": "2026-11-26T10:49:00", "end": "2026-11-26T13:27:00"}, {"start": "2026-11-26T14:46:00", "end": "2026-11-26T17:24:00"}]}],
                        "rejected_days": [{"date": "2026-11-01", "weekday": "Sunday", "tithi": "Saptami", "paksha": "Krishna", "nakshatra": "Pushya", "yoga": "Sadhya", "lunar_month": "Ashwin", "score": 0, "max_score": 4, "in_favour": ["Saptami is a favourable tithi", "Sadhya yoga carries no classical objection"], "blocked_by": ["Chaturmas, when marriages are not held"], "not_chosen_because": []}, {"date": "2026-11-02", "weekday": "Monday", "tithi": "Ashtami", "paksha": "Krishna", "nakshatra": "Ashlesha", "yoga": "Shubha", "lunar_month": "Ashwin", "score": 0, "max_score": 4, "in_favour": ["Monday is a favourable weekday", "Shubha yoga carries no classical objection"], "blocked_by": ["Chaturmas, when marriages are not held"], "not_chosen_because": []}, {"date": "2026-11-03", "weekday": "Tuesday", "tithi": "Navami", "paksha": "Krishna", "nakshatra": "Magha", "yoga": "Shukla", "lunar_month": "Ashwin", "score": 0, "max_score": 4, "in_favour": ["Magha is among the favourable nakshatras for this", "Shukla yoga carries no classical objection"], "blocked_by": ["A rikta tithi (Navami)", "Chaturmas, when marriages are not held"], "not_chosen_because": []}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["Judged without a birth chart: Chandra Bala and Tara Bala, and the rising sign, are not weighed."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/festivals-muhurta/muhurta-purposes": {
      "post": {
        "operationId": "muhurta-purposes",
        "summary": "Muhurta Purpose Catalogue",
        "description": "Lists the purposes the muhurta finder can search for, with each tradition's nakshatra preference and blockers.",
        "tags": [
          "festivals-muhurta"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PurposeFilter"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "purpose": "vivah"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "purposes": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "label": {"type": "string"}, "tradition": {"type": "string"}, "blockers": {"type": "array", "items": {"type": "string"}}}, "required": ["id", "label", "tradition", "blockers"]}}
                      },
                      "required": [
                        "purposes"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "purposes": [{"id": "vivah", "label": "Vivah (Marriage)", "tradition": "Muhurta Chintamani, as commonly published. Eleven nakshatras, the bright-fortnight tithis, and the benefic weekdays.", "blockers": ["Bhadra (Vishti karana) runs at sunrise", "Amavasya", "Adhik masa (intercalary month)"]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/festivals-muhurta/shraddha-dates": {
      "post": {
        "operationId": "shraddha-dates",
        "summary": "Shraddha Dates",
        "description": "The tithi of a death and, for a year, the annual (varshik) shraddha date and the Pitru Paksha shraddha date.",
        "tags": [
          "festivals-muhurta"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ShraddhaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "death_date": "2020-05-10",
                "year": 2026,
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "death_date": {"type": "string"},
                        "year": {"type": "integer"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "timezone": {"type": "string"}}, "required": ["latitude", "longitude", "timezone"]},
                        "tithi_of_death": {"type": "object", "properties": {"tithi": {"type": "string"}, "paksha": {"type": "string"}, "number": {"type": "integer"}, "lunar_month": {"type": "string"}, "judged_at": {"type": "string"}}, "required": ["tithi", "paksha", "number", "lunar_month", "judged_at"]},
                        "varshik_shraddha": {"type": "object", "properties": {"date": {"type": "string"}, "tithi": {"type": "string"}, "paksha": {"type": "string"}, "lunar_month": {"type": "string"}}, "required": ["date", "tithi", "paksha", "lunar_month"]},
                        "pitru_paksha_shraddha": {"type": "object", "properties": {"date": {"type": "string"}, "tithi": {"type": "string"}, "paksha": {"type": "string"}, "lunar_month": {"type": "string"}}, "required": ["date", "tithi", "paksha", "lunar_month"]}
                      },
                      "required": [
                        "death_date",
                        "year",
                        "location",
                        "tithi_of_death",
                        "varshik_shraddha",
                        "pitru_paksha_shraddha"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "death_date": "2020-05-10",
                        "year": 2026,
                        "location": {"latitude": 28.6139, "longitude": 77.209, "timezone": "Asia/Kolkata"},
                        "tithi_of_death": {"tithi": "Tritiya", "paksha": "Krishna", "number": 3, "lunar_month": "Vaishakha", "judged_at": "sunrise"},
                        "varshik_shraddha": {"date": "2026-05-04", "tithi": "Tritiya", "paksha": "Krishna", "lunar_month": "Vaishakha"},
                        "pitru_paksha_shraddha": {"date": "2026-09-29", "tithi": "Tritiya", "paksha": "Krishna", "lunar_month": "Bhadrapada"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/festivals-muhurta/sahasra-chandrodaya": {
      "post": {
        "operationId": "sahasra-chandrodaya",
        "summary": "Sahasra Chandrodaya",
        "description": "Counts full moons after a birth to find the nth (1000th by default) and its date.",
        "tags": [
          "festivals-muhurta"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChandrodayaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "birth_date": "1946-01-01",
                "timezone": "Asia/Kolkata"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "birth_date": {"type": "string"},
                        "count": {"type": "integer"},
                        "full_moon_at": {"type": "string"},
                        "date": {"type": "string"},
                        "age": {"type": "object", "properties": {"years": {"type": "number"}, "days": {"type": "integer"}}, "required": ["years", "days"]}
                      },
                      "required": [
                        "birth_date",
                        "count",
                        "full_moon_at",
                        "date",
                        "age"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "birth_date": "1946-01-01",
                        "count": 1000,
                        "full_moon_at": "2026-10-26T09:41:00+05:30",
                        "date": "2026-10-26",
                        "age": {"years": 80.82, "days": 29518}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/festivals-muhurta/name-syllables": {
      "post": {
        "operationId": "name-syllables",
        "summary": "Name Syllables (Naamakshar)",
        "description": "Naming syllables for a nakshatra pada, or for a Moon longitude.",
        "tags": [
          "festivals-muhurta"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SyllablesInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "nakshatra": "Rohini",
                "pada": 2
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "nakshatra": {"type": "string"},
                        "nakshatra_number": {"type": "integer"},
                        "pada": {"type": "integer"},
                        "syllable": {"type": "string"},
                        "syllables_by_pada": {"type": "array", "items": {"type": "object", "properties": {"pada": {"type": "integer"}, "syllable": {"type": "string"}}, "required": ["pada", "syllable"]}}
                      },
                      "required": [
                        "nakshatra",
                        "nakshatra_number",
                        "pada",
                        "syllable",
                        "syllables_by_pada"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "nakshatra": "Rohini",
                        "nakshatra_number": 4,
                        "pada": 2,
                        "syllable": "Va",
                        "syllables_by_pada": [{"pada": 1, "syllable": "O"}, {"pada": 2, "syllable": "Va"}, {"pada": 3, "syllable": "Vi"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/ayu-milan": {
      "post": {
        "operationId": "ayu-milan",
        "summary": "Kundli Matching (Ayu Milan)",
        "description": "Ashtakoot matching from two births: koota scores and total, Manglik for both with cancellations, Papasamya, Rajju and Vedha, and classical longevity (Ayurdaya) spans for each.",
        "tags": [
          "matching"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AyuMilanInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "groom": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                },
                "bride": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767
                },
                "report_type": "half"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "report_type": {"type": "string"},
                        "groom": {"type": "object", "properties": {"moon_sign": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["moon_sign", "nakshatra", "pada"]},
                        "bride": {"type": "object", "properties": {"moon_sign": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["moon_sign", "nakshatra", "pada"]},
                        "ashtakoot": {"type": "object", "properties": {"total": {"type": "number"}, "maximum": {"type": "number"}, "percentage": {"type": "number"}, "kootas": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "score": {"type": "number"}, "maximum": {"type": "number"}, "explanation": {"type": "string"}, "groom_to_bride": {"type": "object", "properties": {"tara": {"type": "string"}, "tara_number": {"type": "integer"}, "count": {"type": "integer"}, "score": {"type": "integer"}}, "required": ["tara", "tara_number", "count", "score"]}, "bride_to_groom": {"type": "object", "properties": {"tara": {"type": "string"}, "tara_number": {"type": "integer"}, "count": {"type": "integer"}, "score": {"type": "integer"}}, "required": ["tara", "tara_number", "count", "score"]}}, "required": ["id", "name", "score", "maximum", "explanation"]}}}, "required": ["total", "maximum", "percentage", "kootas"]},
                        "manglik": {"type": "object", "properties": {"status": {"type": "string"}, "summary": {"type": "string"}, "groom": {"type": "object", "properties": {"present": {"type": "boolean"}, "type": {"type": "string"}, "level": {"type": "string"}, "intensity": {"type": "string"}, "factors": {"type": "array"}, "cancellations": {"type": "array"}}, "required": ["present", "type", "level", "intensity", "factors", "cancellations"]}, "bride": {"type": "object", "properties": {"present": {"type": "boolean"}, "type": {"type": "string"}, "level": {"type": "string"}, "intensity": {"type": "string"}, "factors": {"type": "array", "items": {"type": "object", "properties": {"condition": {"type": "string"}, "effect": {"type": "string"}}, "required": ["condition", "effect"]}}, "cancellations": {"type": "array", "items": {"type": "object", "properties": {"condition": {"type": "string"}, "explanation": {"type": "string"}}, "required": ["condition", "explanation"]}}}, "required": ["present", "type", "level", "intensity", "factors", "cancellations"]}, "mutual_cancellations": {"type": "array"}}, "required": ["status", "summary", "groom", "bride", "mutual_cancellations"]},
                        "papasamya": {"type": "object", "properties": {"counted_from": {"type": "string"}, "note": {"type": "string"}, "checked_houses": {"type": "array", "items": {"type": "integer"}}, "groom": {"type": "object", "properties": {"score": {"type": "number"}, "has_dosha": {"type": "boolean"}, "tithi": {"type": "string"}, "contributions": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}, "points": {"type": "number"}}, "required": ["planet", "house", "points"]}}}, "required": ["score", "has_dosha", "tithi", "contributions"]}, "bride": {"type": "object", "properties": {"score": {"type": "number"}, "has_dosha": {"type": "boolean"}, "tithi": {"type": "string"}, "contributions": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}, "points": {"type": "number"}}, "required": ["planet", "house", "points"]}}}, "required": ["score", "has_dosha", "tithi", "contributions"]}, "difference": {"type": "number"}, "difference_percent": {"type": "number"}, "verdict": {"type": "string"}}, "required": ["counted_from", "note", "checked_houses", "groom", "bride", "difference", "difference_percent", "verdict"]},
                        "rajju": {"type": "object", "properties": {"groom": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "cord": {"type": "string"}, "body_part": {"type": "string"}, "direction": {"type": "string"}}, "required": ["nakshatra", "cord", "body_part", "direction"]}, "bride": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "cord": {"type": "string"}, "body_part": {"type": "string"}, "direction": {"type": "string"}}, "required": ["nakshatra", "cord", "body_part", "direction"]}, "same_cord": {"type": "boolean"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}}, "required": ["groom", "bride", "same_cord", "score", "maximum"]},
                        "vedha": {"type": "null"},
                        "longevity": {"type": "object", "properties": {"groom": {"type": "object", "properties": {"amsayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "pindayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "nisargayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "jeevayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "badarayana": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}}, "required": ["amsayu", "pindayu", "nisargayu", "jeevayu", "badarayana"]}, "bride": {"type": "object", "properties": {"amsayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "pindayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "nisargayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "jeevayu": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}, "badarayana": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}}, "required": ["years", "months", "days"]}}, "required": ["amsayu", "pindayu", "nisargayu", "jeevayu", "badarayana"]}}, "required": ["groom", "bride"]}
                      },
                      "required": [
                        "ayanamsha",
                        "report_type",
                        "groom",
                        "bride",
                        "ashtakoot",
                        "manglik",
                        "papasamya",
                        "rajju",
                        "vedha",
                        "longevity"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "report_type": "half",
                        "groom": {"moon_sign": "Virgo", "nakshatra": "Chitra", "pada": 2},
                        "bride": {"moon_sign": "Capricorn", "nakshatra": "Shravana", "pada": 3},
                        "ashtakoot": {"total": 19.0, "maximum": 36.0, "percentage": 52.78, "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "explanation": "Boy (Vaishya) is >= Girl (Vaishya). Match OK."}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "explanation": "Manava vs Jalachara. Partial match."}, {"id": "tara", "name": "Tara", "score": 3.0, "maximum": 3.0, "groom_to_bride": {"tara": "Param Mitra", "tara_number": 9, "count": 9, "score": 3}, "bride_to_groom": {"tara": "Sampat", "tara_number": 2, "count": 20, "score": 3}, "explanation": "Boy→Girl = Param Mitra (Atimitra Tara – most auspicious.), Girl→Boy = Sampat (Sampat Tara – brings prosperity and stability.). Score 3.0/3."}]},
                        "manglik": {"status": "dosha_cancelled", "summary": "Mangal Dosha is cancelled due to 2 cancellation condition(s).", "groom": {"present": false, "type": "No Manglik", "level": "No Manglik", "intensity": "None", "factors": [], "cancellations": []}, "bride": {"present": true, "type": "Single Manglik", "level": "Mild Manglik", "intensity": "Low", "factors": [{"condition": "Mars in 1st/4th/7th/8th/12th houses", "effect": "Mild"}], "cancellations": [{"condition": "Moon-Mars Conjunction", "explanation": "Mars is in conjunction with Moon (1st house from Moon), which cancels the Kuja Dosha."}, {"condition": "Mars in Kendra from Moon", "explanation": "Mars in 1 house from Moon is in Kendra position, which cancels the Kuja Dosha."}]}, "mutual_cancellations": []},
                        "papasamya": {"counted_from": "ascendant", "note": "Malefics in houses 1, 2, 4, 7, 8 and 12 from the ascendant score points; the Moon counts only when waning.", "checked_houses": [1, 2, 4], "groom": {"score": 3.5, "has_dosha": true, "tithi": "Krishna Amavasya", "contributions": [{"planet": "Saturn", "house": 12, "points": 1.5}, {"planet": "Rahu", "house": 1, "points": 1.0}, {"planet": "Ketu", "house": 7, "points": 1.0}]}, "bride": {"score": 6.0, "has_dosha": true, "tithi": "Krishna Trayodashi", "contributions": [{"planet": "Sun", "house": 2, "points": 1.0}, {"planet": "Moon", "house": 1, "points": 0.5}, {"planet": "Mars", "house": 1, "points": 2.0}]}, "difference": -2.5, "difference_percent": 41.7, "verdict": "Acceptable"},
                        "rajju": {"groom": {"nakshatra": "Chitra", "cord": "Siro", "body_part": "Head", "direction": "Ascending (Udaya)"}, "bride": {"nakshatra": "Shravana", "cord": "Kantha", "body_part": "Neck", "direction": "Descending (Avroha)"}, "same_cord": false, "score": 3, "maximum": 3},
                        "vedha": null,
                        "longevity": {"groom": {"amsayu": {"years": 51, "months": 1, "days": 24}, "pindayu": {"years": 60, "months": 3, "days": 15}, "nisargayu": {"years": 45, "months": 5, "days": 20}, "jeevayu": {"years": 52, "months": 7, "days": 15}, "badarayana": {"years": 52, "months": 1, "days": 26}}, "bride": {"amsayu": {"years": 43, "months": 6, "days": 1}, "pindayu": {"years": 93, "months": 10, "days": 30}, "nisargayu": {"years": 93, "months": 10, "days": 10}, "jeevayu": {"years": 76, "months": 2, "days": 10}, "badarayana": {"years": 75, "months": 5, "days": 23}}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["Vedha is not part of this report; /v1/matching/rajju-vedha checks it from the two birth stars."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/quick-match": {
      "post": {
        "operationId": "quick-match",
        "summary": "Quick Nakshatra Match",
        "description": "Ashtakoot score from two birth stars (optionally with padas): total, percentage, verdict, each koota's score and the Nadi and Bhakoot doshas.",
        "tags": [
          "matching"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MatchInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "groom": {
                  "nakshatra": "Rohini",
                  "pada": 2
                },
                "bride": {
                  "nakshatra": "Hasta",
                  "pada": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "system": {"type": "string"},
                        "total": {"type": "number"},
                        "maximum": {"type": "integer"},
                        "percentage": {"type": "number"},
                        "verdict": {"type": "string"},
                        "exact": {"type": "boolean"},
                        "groom": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord"]},
                        "bride": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord"]},
                        "kootas": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "score": {"type": "number"}, "maximum": {"type": "integer"}, "groom": {"type": "string"}, "bride": {"type": "string"}, "groom_to_bride": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}, "bride_to_groom": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}}, "required": ["id", "name", "score", "maximum", "groom", "bride"]}},
                        "doshas": {"type": "object", "properties": {"nadi": {"type": "boolean"}, "bhakoot": {"type": "boolean"}}, "required": ["nadi", "bhakoot"]}
                      },
                      "required": [
                        "system",
                        "total",
                        "maximum",
                        "percentage",
                        "verdict",
                        "exact",
                        "groom",
                        "bride",
                        "kootas",
                        "doshas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "system": "ashtakoot",
                        "total": 25.0,
                        "maximum": 36,
                        "percentage": 69.4,
                        "verdict": "Good",
                        "exact": true,
                        "groom": {"nakshatra": "Rohini", "pada": 2, "moon_sign": "Taurus", "moon_sign_lord": "Venus"},
                        "bride": {"nakshatra": "Hasta", "pada": 1, "moon_sign": "Virgo", "moon_sign_lord": "Mercury"},
                        "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "groom": "Vaishya", "bride": "Vaishya"}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "groom": "Chatushpada", "bride": "Manava"}, {"id": "tara", "name": "Tara", "score": 3.0, "maximum": 3, "groom": "Janma", "bride": "Janma", "groom_to_bride": {"tara": "Janma", "score": 3}, "bride_to_groom": {"tara": "Janma", "score": 3}}],
                        "doshas": {"nadi": false, "bhakoot": true}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/ashtakoot-details": {
      "post": {
        "operationId": "ashtakoot-details",
        "summary": "Ashtakoot Details",
        "description": "Koota-by-koota Ashtakoot breakdown for two birth stars, with each side's profile, the total, verdict and Nadi and Bhakoot doshas.",
        "tags": [
          "matching"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MatchInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "groom": {
                  "nakshatra": "Rohini",
                  "pada": 2
                },
                "bride": {
                  "nakshatra": "Hasta",
                  "pada": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "system": {"type": "string"},
                        "total": {"type": "number"},
                        "maximum": {"type": "integer"},
                        "percentage": {"type": "number"},
                        "verdict": {"type": "string"},
                        "exact": {"type": "boolean"},
                        "groom": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}, "profile": {"type": "object", "properties": {"number": {"type": "integer"}, "deity": {"type": "string"}, "symbol": {"type": "string"}, "element": {"type": "string"}, "nature": {"type": "string"}, "gana": {"type": "string"}, "yoni": {"type": "string"}, "yoni_enemy": {"type": "string"}, "nadi": {"type": "string"}, "varna": {"type": "string"}, "vashya": {"type": "string"}, "nakshatra_lord": {"type": "string"}}, "required": ["number", "deity", "symbol", "element", "nature", "gana", "yoni", "yoni_enemy", "nadi", "varna", "vashya", "nakshatra_lord"]}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord", "profile"]},
                        "bride": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}, "profile": {"type": "object", "properties": {"number": {"type": "integer"}, "deity": {"type": "string"}, "symbol": {"type": "string"}, "element": {"type": "string"}, "nature": {"type": "string"}, "gana": {"type": "string"}, "yoni": {"type": "string"}, "yoni_enemy": {"type": "string"}, "nadi": {"type": "string"}, "varna": {"type": "string"}, "vashya": {"type": "string"}, "nakshatra_lord": {"type": "string"}}, "required": ["number", "deity", "symbol", "element", "nature", "gana", "yoni", "yoni_enemy", "nadi", "varna", "vashya", "nakshatra_lord"]}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord", "profile"]},
                        "kootas": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "score": {"type": "number"}, "maximum": {"type": "integer"}, "groom": {"type": "string"}, "bride": {"type": "string"}, "groom_to_bride": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}, "bride_to_groom": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}}, "required": ["id", "name", "score", "maximum", "groom", "bride"]}},
                        "doshas": {"type": "object", "properties": {"nadi": {"type": "boolean"}, "bhakoot": {"type": "boolean"}}, "required": ["nadi", "bhakoot"]}
                      },
                      "required": [
                        "system",
                        "total",
                        "maximum",
                        "percentage",
                        "verdict",
                        "exact",
                        "groom",
                        "bride",
                        "kootas",
                        "doshas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "system": "ashtakoot",
                        "total": 25.0,
                        "maximum": 36,
                        "percentage": 69.4,
                        "verdict": "Good",
                        "exact": true,
                        "groom": {"nakshatra": "Rohini", "pada": 2, "moon_sign": "Taurus", "moon_sign_lord": "Venus", "profile": {"number": 4, "deity": "Brahma/Prajapati", "symbol": "Oxcart/Temple", "element": "Earth", "nature": "Fixed (Sthira)", "gana": "Manushya", "yoni": "Serpent", "yoni_enemy": "Mongoose", "nadi": "Antya", "varna": "Vaishya", "vashya": "Chatushpada", "nakshatra_lord": "Moon"}},
                        "bride": {"nakshatra": "Hasta", "pada": 1, "moon_sign": "Virgo", "moon_sign_lord": "Mercury", "profile": {"number": 13, "deity": "Savitar", "symbol": "Hand/Fist", "element": "Fire", "nature": "Light (Laghu)", "gana": "Deva", "yoni": "Buffalo", "yoni_enemy": "Horse", "nadi": "Adi", "varna": "Vaishya", "vashya": "Manava", "nakshatra_lord": "Moon"}},
                        "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "groom": "Vaishya", "bride": "Vaishya"}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "groom": "Chatushpada", "bride": "Manava"}, {"id": "tara", "name": "Tara", "score": 3.0, "maximum": 3, "groom": "Janma", "bride": "Janma", "groom_to_bride": {"tara": "Janma", "score": 3}, "bride_to_groom": {"tara": "Janma", "score": 3}}],
                        "doshas": {"nadi": false, "bhakoot": true}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/south-match": {
      "post": {
        "operationId": "south-match",
        "summary": "Dashakoot Match (Ashtakoot + Rajju + Vedha)",
        "description": "Ten-koota match from two birth stars: the eight Ashtakoot kootas plus Rajju and Vedha.",
        "tags": [
          "matching"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MatchInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "groom": {
                  "nakshatra": "Rohini",
                  "pada": 2
                },
                "bride": {
                  "nakshatra": "Hasta",
                  "pada": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "system": {"type": "string"},
                        "total": {"type": "number"},
                        "maximum": {"type": "integer"},
                        "percentage": {"type": "number"},
                        "verdict": {"type": "string"},
                        "exact": {"type": "boolean"},
                        "groom": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord"]},
                        "bride": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord"]},
                        "kootas": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "score": {"type": "number"}, "maximum": {"type": "integer"}, "groom": {"type": "string"}, "bride": {"type": "string"}, "groom_to_bride": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}, "bride_to_groom": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}}, "required": ["id", "name", "score", "maximum", "groom", "bride"]}},
                        "doshas": {"type": "object", "properties": {"nadi": {"type": "boolean"}, "bhakoot": {"type": "boolean"}}, "required": ["nadi", "bhakoot"]},
                        "rajju": {"type": "object", "properties": {"groom": {"type": "object", "properties": {"cord": {"type": "string"}, "body_part": {"type": "string"}}, "required": ["cord", "body_part"]}, "bride": {"type": "object", "properties": {"cord": {"type": "string"}, "body_part": {"type": "string"}}, "required": ["cord", "body_part"]}, "same_cord": {"type": "boolean"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}}, "required": ["groom", "bride", "same_cord", "score", "maximum"]},
                        "vedha": {"type": "object", "properties": {"present": {"type": "boolean"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}}, "required": ["present", "score", "maximum"]},
                        "combined": {"type": "object", "properties": {"total": {"type": "number"}, "maximum": {"type": "integer"}, "percentage": {"type": "number"}, "verdict": {"type": "string"}}, "required": ["total", "maximum", "percentage", "verdict"]}
                      },
                      "required": [
                        "system",
                        "total",
                        "maximum",
                        "percentage",
                        "verdict",
                        "exact",
                        "groom",
                        "bride",
                        "kootas",
                        "doshas",
                        "rajju",
                        "vedha",
                        "combined"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "system": "ashtakoot_rajju_vedha",
                        "total": 25.0,
                        "maximum": 36,
                        "percentage": 69.4,
                        "verdict": "Good",
                        "exact": true,
                        "groom": {"nakshatra": "Rohini", "pada": 2, "moon_sign": "Taurus", "moon_sign_lord": "Venus"},
                        "bride": {"nakshatra": "Hasta", "pada": 1, "moon_sign": "Virgo", "moon_sign_lord": "Mercury"},
                        "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "groom": "Vaishya", "bride": "Vaishya"}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "groom": "Chatushpada", "bride": "Manava"}, {"id": "tara", "name": "Tara", "score": 3.0, "maximum": 3, "groom": "Janma", "bride": "Janma", "groom_to_bride": {"tara": "Janma", "score": 3}, "bride_to_groom": {"tara": "Janma", "score": 3}}],
                        "doshas": {"nadi": false, "bhakoot": true},
                        "rajju": {"groom": {"cord": "Kantha", "body_part": "Neck"}, "bride": {"cord": "Kantha", "body_part": "Neck"}, "same_cord": true, "score": 0, "maximum": 3},
                        "vedha": {"present": false, "score": 2, "maximum": 2},
                        "combined": {"total": 27.0, "maximum": 41, "percentage": 65.9, "verdict": "Average"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/porutham": {
      "post": {
        "operationId": "porutham",
        "summary": "Porutham (Tamil)",
        "description": "Tamil porutham check for two birth stars: each porutham with present, severity and a reading, and a summary band with objections.",
        "tags": [
          "matching"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MatchInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "groom": {
                  "nakshatra": "Rohini",
                  "pada": 2
                },
                "bride": {
                  "nakshatra": "Hasta",
                  "pada": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "system": {"type": "string"},
                        "groom": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "number": {"type": "integer"}}, "required": ["nakshatra", "number"]},
                        "bride": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "number": {"type": "integer"}}, "required": ["nakshatra", "number"]},
                        "count_from_bride": {"type": "integer"},
                        "poruthams": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "present": {"type": "boolean"}, "severity": {"type": "string"}, "reading": {"type": "string"}, "strength": {"type": "string"}}, "required": ["id", "name", "present", "severity", "reading"]}},
                        "summary": {"type": "object", "properties": {"band": {"type": "string"}, "label": {"type": "string"}, "present": {"type": "integer"}, "of": {"type": "integer"}, "objections": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["band", "label", "present", "of", "objections", "statement"]},
                        "scope": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "system",
                        "groom",
                        "bride",
                        "count_from_bride",
                        "poruthams",
                        "summary",
                        "scope"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "system": "porutham",
                        "groom": {"nakshatra": "Rohini", "number": 4},
                        "bride": {"nakshatra": "Hasta", "number": 13},
                        "count_from_bride": 19,
                        "poruthams": [{"id": "mahendra", "name": "Mahendra", "present": true, "severity": "favourable", "reading": "Rohini's star is the 19th from Hasta's, which is one of the Mahendra counts. The porutham is present."}, {"id": "stree_deergha", "name": "Stree Deergha", "present": true, "severity": "favourable", "strength": "full", "reading": "Rohini's star is the 19th from Hasta's, beyond the thirteenth. Stree Deergha is present in full."}, {"id": "rajju", "name": "Rajju", "present": false, "severity": "objection", "reading": "Both stars fall on the Kantha (Neck) cord. This is the Rajju objection, and it is a classical refusal rather than a deduction — a score elsewhere does not settle it."}],
                        "summary": {"band": "objection", "label": "Rajju objection", "present": 3, "of": 4, "objections": ["Rajju"], "statement": "Rajju stands against this match. A classical objection is not outweighed by the poruthams that do hold, and the count below is reported rather than offered as an answer to it."},
                        "scope": ["Four of the ten, not all ten. The other six — Dina, Gana, Yoni, Rasi, Rasyadhipathi and Vasya — overlap the Ashtakoot section of this report, and computing them twice would let one half of the report disagree with the other.", "Stree Deergha's middle band is a genuine disagreement between schools, not a hedge: beyond the ninth is accepted by some and not by others, and it is labelled the lesser reading rather than rounded into a yes or a no.", "Rajju and Vedha are objections rather than scores. The count of poruthams present is reported below the verdict and never used to outvote one."]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/rajju-vedha": {
      "post": {
        "operationId": "rajju-vedha",
        "summary": "Rajju & Vedha Check",
        "description": "Rajju and Vedha for two birth stars: each side's cord and body part, same-cord and vedha flags with scores, and any objections.",
        "tags": [
          "matching"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MatchInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "groom": {
                  "nakshatra": "Rohini",
                  "pada": 2
                },
                "bride": {
                  "nakshatra": "Hasta",
                  "pada": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "groom": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "cord": {"type": "string"}, "body_part": {"type": "string"}}, "required": ["nakshatra", "cord", "body_part"]},
                        "bride": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "cord": {"type": "string"}, "body_part": {"type": "string"}}, "required": ["nakshatra", "cord", "body_part"]},
                        "rajju": {"type": "object", "properties": {"same_cord": {"type": "boolean"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}}, "required": ["same_cord", "score", "maximum"]},
                        "vedha": {"type": "object", "properties": {"present": {"type": "boolean"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}}, "required": ["present", "score", "maximum"]},
                        "objections": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "groom",
                        "bride",
                        "rajju",
                        "vedha",
                        "objections"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "groom": {"nakshatra": "Rohini", "cord": "Kantha", "body_part": "Neck"},
                        "bride": {"nakshatra": "Hasta", "cord": "Kantha", "body_part": "Neck"},
                        "rajju": {"same_cord": true, "score": 0, "maximum": 3},
                        "vedha": {"present": false, "score": 2, "maximum": 2},
                        "objections": ["rajju"]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/bulk-nakshatra-match": {
      "post": {
        "operationId": "bulk-nakshatra-match",
        "summary": "Bulk Nakshatra Match",
        "description": "Ashtakoot scores for up to 100 star pairs in one call.",
        "tags": [
          "matching"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BulkInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "pairs": [
                  {
                    "label": "candidate-1",
                    "groom": {
                      "nakshatra": "Rohini",
                      "pada": 2
                    },
                    "bride": {
                      "nakshatra": "Hasta",
                      "pada": 1
                    }
                  },
                  {
                    "label": "candidate-2",
                    "groom": {
                      "nakshatra": "Rohini",
                      "pada": 2
                    },
                    "bride": {
                      "nakshatra": "Swati",
                      "pada": 3
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "count": {"type": "integer"},
                        "results": {"type": "array", "items": {"type": "object", "properties": {"label": {"type": "string"}, "system": {"type": "string"}, "total": {"type": "number"}, "maximum": {"type": "integer"}, "percentage": {"type": "number"}, "verdict": {"type": "string"}, "exact": {"type": "boolean"}, "groom": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord"]}, "bride": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord"]}, "kootas": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "score": {"type": "number"}, "maximum": {"type": "integer"}, "groom": {"type": "string"}, "bride": {"type": "string"}, "groom_to_bride": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}, "bride_to_groom": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}}, "required": ["id", "name", "score", "maximum", "groom", "bride"]}}, "doshas": {"type": "object", "properties": {"nadi": {"type": "boolean"}, "bhakoot": {"type": "boolean"}}, "required": ["nadi", "bhakoot"]}}, "required": ["label", "system", "total", "maximum", "percentage", "verdict", "exact", "groom", "bride", "kootas", "doshas"]}}
                      },
                      "required": [
                        "count",
                        "results"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "count": 2,
                        "results": [{"label": "candidate-1", "system": "ashtakoot", "total": 25.0, "maximum": 36, "percentage": 69.4, "verdict": "Good", "exact": true, "groom": {"nakshatra": "Rohini", "pada": 2, "moon_sign": "Taurus", "moon_sign_lord": "Venus"}, "bride": {"nakshatra": "Hasta", "pada": 1, "moon_sign": "Virgo", "moon_sign_lord": "Mercury"}, "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "groom": "Vaishya", "bride": "Vaishya"}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "groom": "Chatushpada", "bride": "Manava"}, {"id": "tara", "name": "Tara", "score": 3.0, "maximum": 3, "groom": "Janma", "bride": "Janma", "groom_to_bride": {"tara": "Janma", "score": 3}, "bride_to_groom": {"tara": "Janma", "score": 3}}], "doshas": {"nadi": false, "bhakoot": true}}, {"label": "candidate-2", "system": "ashtakoot", "total": 15.5, "maximum": 36, "percentage": 43.1, "verdict": "Below Average", "exact": true, "groom": {"nakshatra": "Rohini", "pada": 2, "moon_sign": "Taurus", "moon_sign_lord": "Venus"}, "bride": {"nakshatra": "Swati", "pada": 3, "moon_sign": "Libra", "moon_sign_lord": "Venus"}, "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "groom": "Vaishya", "bride": "Shudra"}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "groom": "Chatushpada", "bride": "Manava"}, {"id": "tara", "name": "Tara", "score": 1.5, "maximum": 3, "groom": "Vipat", "bride": "Mitra", "groom_to_bride": {"tara": "Vipat", "score": 0}, "bride_to_groom": {"tara": "Mitra", "score": 3}}], "doshas": {"nadi": true, "bhakoot": true}}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/aggregate-match": {
      "post": {
        "operationId": "aggregate-match",
        "summary": "Aggregate Match Statistics",
        "description": "Scores up to 100 star pairs and returns the average, best and lowest, a count by verdict and every pair ranked.",
        "tags": [
          "matching"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BulkInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "pairs": [
                  {
                    "label": "candidate-1",
                    "groom": {
                      "nakshatra": "Rohini",
                      "pada": 2
                    },
                    "bride": {
                      "nakshatra": "Hasta",
                      "pada": 1
                    }
                  },
                  {
                    "label": "candidate-2",
                    "groom": {
                      "nakshatra": "Rohini",
                      "pada": 2
                    },
                    "bride": {
                      "nakshatra": "Swati",
                      "pada": 3
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "pairs": {"type": "integer"},
                        "average_total": {"type": "number"},
                        "maximum": {"type": "integer"},
                        "average_percentage": {"type": "number"},
                        "best": {"type": "object", "properties": {"label": {"type": "string"}, "total": {"type": "number"}, "verdict": {"type": "string"}}, "required": ["label", "total", "verdict"]},
                        "lowest": {"type": "object", "properties": {"label": {"type": "string"}, "total": {"type": "number"}, "verdict": {"type": "string"}}, "required": ["label", "total", "verdict"]},
                        "verdicts": {"type": "object", "properties": {"Good": {"type": "integer"}, "Below Average": {"type": "integer"}}, "required": ["Good", "Below Average"]},
                        "ranked": {"type": "array", "items": {"type": "object", "properties": {"label": {"type": "string"}, "system": {"type": "string"}, "total": {"type": "number"}, "maximum": {"type": "integer"}, "percentage": {"type": "number"}, "verdict": {"type": "string"}, "exact": {"type": "boolean"}, "groom": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord"]}, "bride": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord"]}, "kootas": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "score": {"type": "number"}, "maximum": {"type": "integer"}, "groom": {"type": "string"}, "bride": {"type": "string"}, "groom_to_bride": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}, "bride_to_groom": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}}, "required": ["id", "name", "score", "maximum", "groom", "bride"]}}, "doshas": {"type": "object", "properties": {"nadi": {"type": "boolean"}, "bhakoot": {"type": "boolean"}}, "required": ["nadi", "bhakoot"]}}, "required": ["label", "system", "total", "maximum", "percentage", "verdict", "exact", "groom", "bride", "kootas", "doshas"]}}
                      },
                      "required": [
                        "pairs",
                        "average_total",
                        "maximum",
                        "average_percentage",
                        "best",
                        "lowest",
                        "verdicts",
                        "ranked"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "pairs": 2,
                        "average_total": 20.25,
                        "maximum": 36,
                        "average_percentage": 56.2,
                        "best": {"label": "candidate-1", "total": 25.0, "verdict": "Good"},
                        "lowest": {"label": "candidate-2", "total": 15.5, "verdict": "Below Average"},
                        "verdicts": {"Good": 1, "Below Average": 1},
                        "ranked": [{"label": "candidate-1", "system": "ashtakoot", "total": 25.0, "maximum": 36, "percentage": 69.4, "verdict": "Good", "exact": true, "groom": {"nakshatra": "Rohini", "pada": 2, "moon_sign": "Taurus", "moon_sign_lord": "Venus"}, "bride": {"nakshatra": "Hasta", "pada": 1, "moon_sign": "Virgo", "moon_sign_lord": "Mercury"}, "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "groom": "Vaishya", "bride": "Vaishya"}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "groom": "Chatushpada", "bride": "Manava"}, {"id": "tara", "name": "Tara", "score": 3.0, "maximum": 3, "groom": "Janma", "bride": "Janma", "groom_to_bride": {"tara": "Janma", "score": 3}, "bride_to_groom": {"tara": "Janma", "score": 3}}], "doshas": {"nadi": false, "bhakoot": true}}, {"label": "candidate-2", "system": "ashtakoot", "total": 15.5, "maximum": 36, "percentage": 43.1, "verdict": "Below Average", "exact": true, "groom": {"nakshatra": "Rohini", "pada": 2, "moon_sign": "Taurus", "moon_sign_lord": "Venus"}, "bride": {"nakshatra": "Swati", "pada": 3, "moon_sign": "Libra", "moon_sign_lord": "Venus"}, "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "groom": "Vaishya", "bride": "Shudra"}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "groom": "Chatushpada", "bride": "Manava"}, {"id": "tara", "name": "Tara", "score": 1.5, "maximum": 3, "groom": "Vipat", "bride": "Mitra", "groom_to_bride": {"tara": "Vipat", "score": 0}, "bride_to_groom": {"tara": "Mitra", "score": 3}}], "doshas": {"nadi": true, "bhakoot": true}}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/bulk-south-match": {
      "post": {
        "operationId": "bulk-south-match",
        "summary": "Bulk Dashakoot Match",
        "description": "Ten-koota scores for many star pairs in one call.",
        "tags": [
          "matching"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BulkInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "pairs": [
                  {
                    "label": "candidate-1",
                    "groom": {
                      "nakshatra": "Rohini",
                      "pada": 2
                    },
                    "bride": {
                      "nakshatra": "Hasta",
                      "pada": 1
                    }
                  },
                  {
                    "label": "candidate-2",
                    "groom": {
                      "nakshatra": "Rohini",
                      "pada": 2
                    },
                    "bride": {
                      "nakshatra": "Swati",
                      "pada": 3
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "count": {"type": "integer"},
                        "results": {"type": "array", "items": {"type": "object", "properties": {"label": {"type": "string"}, "system": {"type": "string"}, "total": {"type": "number"}, "maximum": {"type": "integer"}, "percentage": {"type": "number"}, "verdict": {"type": "string"}, "exact": {"type": "boolean"}, "groom": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord"]}, "bride": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "moon_sign_lord": {"type": "string"}}, "required": ["nakshatra", "pada", "moon_sign", "moon_sign_lord"]}, "kootas": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "score": {"type": "number"}, "maximum": {"type": "integer"}, "groom": {"type": "string"}, "bride": {"type": "string"}, "groom_to_bride": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}, "bride_to_groom": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}}, "required": ["id", "name", "score", "maximum", "groom", "bride"]}}, "doshas": {"type": "object", "properties": {"nadi": {"type": "boolean"}, "bhakoot": {"type": "boolean"}}, "required": ["nadi", "bhakoot"]}, "rajju": {"type": "object", "properties": {"groom": {"type": "object", "properties": {"cord": {"type": "string"}, "body_part": {"type": "string"}}, "required": ["cord", "body_part"]}, "bride": {"type": "object", "properties": {"cord": {"type": "string"}, "body_part": {"type": "string"}}, "required": ["cord", "body_part"]}, "same_cord": {"type": "boolean"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}}, "required": ["groom", "bride", "same_cord", "score", "maximum"]}, "vedha": {"type": "object", "properties": {"present": {"type": "boolean"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}}, "required": ["present", "score", "maximum"]}, "combined": {"type": "object", "properties": {"total": {"type": "number"}, "maximum": {"type": "integer"}, "percentage": {"type": "number"}, "verdict": {"type": "string"}}, "required": ["total", "maximum", "percentage", "verdict"]}}, "required": ["label", "system", "total", "maximum", "percentage", "verdict", "exact", "groom", "bride", "kootas", "doshas", "rajju", "vedha", "combined"]}}
                      },
                      "required": [
                        "count",
                        "results"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "count": 2,
                        "results": [{"label": "candidate-1", "system": "ashtakoot_rajju_vedha", "total": 25.0, "maximum": 36, "percentage": 69.4, "verdict": "Good", "exact": true, "groom": {"nakshatra": "Rohini", "pada": 2, "moon_sign": "Taurus", "moon_sign_lord": "Venus"}, "bride": {"nakshatra": "Hasta", "pada": 1, "moon_sign": "Virgo", "moon_sign_lord": "Mercury"}, "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "groom": "Vaishya", "bride": "Vaishya"}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "groom": "Chatushpada", "bride": "Manava"}, {"id": "tara", "name": "Tara", "score": 3.0, "maximum": 3, "groom": "Janma", "bride": "Janma", "groom_to_bride": {"tara": "Janma", "score": 3}, "bride_to_groom": {"tara": "Janma", "score": 3}}], "doshas": {"nadi": false, "bhakoot": true}, "rajju": {"groom": {"cord": "Kantha", "body_part": "Neck"}, "bride": {"cord": "Kantha", "body_part": "Neck"}, "same_cord": true, "score": 0, "maximum": 3}, "vedha": {"present": false, "score": 2, "maximum": 2}, "combined": {"total": 27.0, "maximum": 41, "percentage": 65.9, "verdict": "Average"}}, {"label": "candidate-2", "system": "ashtakoot_rajju_vedha", "total": 15.5, "maximum": 36, "percentage": 43.1, "verdict": "Below Average", "exact": true, "groom": {"nakshatra": "Rohini", "pada": 2, "moon_sign": "Taurus", "moon_sign_lord": "Venus"}, "bride": {"nakshatra": "Swati", "pada": 3, "moon_sign": "Libra", "moon_sign_lord": "Venus"}, "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "groom": "Vaishya", "bride": "Shudra"}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "groom": "Chatushpada", "bride": "Manava"}, {"id": "tara", "name": "Tara", "score": 1.5, "maximum": 3, "groom": "Vipat", "bride": "Mitra", "groom_to_bride": {"tara": "Vipat", "score": 0}, "bride_to_groom": {"tara": "Mitra", "score": 3}}], "doshas": {"nadi": true, "bhakoot": true}, "rajju": {"groom": {"cord": "Kantha", "body_part": "Neck"}, "bride": {"cord": "Kantha", "body_part": "Neck"}, "same_cord": true, "score": 0, "maximum": 3}, "vedha": {"present": false, "score": 2, "maximum": 2}, "combined": {"total": 17.5, "maximum": 41, "percentage": 42.7, "verdict": "Below Average"}}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/papasamya": {
      "post": {
        "operationId": "papasamya",
        "summary": "Papasamya (Pair)",
        "description": "Papasamya (malefic balance) for two births: each side's score and contributing planets, the difference and a verdict.",
        "tags": [
          "matching"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PairInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "groom": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                },
                "bride": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "counted_from": {"type": "string"},
                        "note": {"type": "string"},
                        "checked_houses": {"type": "array", "items": {"type": "integer"}},
                        "groom": {"type": "object", "properties": {"score": {"type": "number"}, "has_dosha": {"type": "boolean"}, "tithi": {"type": "string"}, "contributions": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}, "points": {"type": "number"}}, "required": ["planet", "house", "points"]}}}, "required": ["score", "has_dosha", "tithi", "contributions"]},
                        "bride": {"type": "object", "properties": {"score": {"type": "number"}, "has_dosha": {"type": "boolean"}, "tithi": {"type": "string"}, "contributions": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}, "points": {"type": "number"}}, "required": ["planet", "house", "points"]}}}, "required": ["score", "has_dosha", "tithi", "contributions"]},
                        "difference": {"type": "number"},
                        "difference_percent": {"type": "number"},
                        "verdict": {"type": "string"}
                      },
                      "required": [
                        "ayanamsha",
                        "counted_from",
                        "note",
                        "checked_houses",
                        "groom",
                        "bride",
                        "difference",
                        "difference_percent",
                        "verdict"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "counted_from": "ascendant",
                        "note": "Malefics in houses 1, 2, 4, 7, 8 and 12 from the ascendant score points; the Moon counts only when waning.",
                        "checked_houses": [1, 2, 4],
                        "groom": {"score": 3.5, "has_dosha": true, "tithi": "Krishna Amavasya", "contributions": [{"planet": "Saturn", "house": 12, "points": 1.5}, {"planet": "Rahu", "house": 1, "points": 1.0}, {"planet": "Ketu", "house": 7, "points": 1.0}]},
                        "bride": {"score": 6.0, "has_dosha": true, "tithi": "Krishna Trayodashi", "contributions": [{"planet": "Sun", "house": 2, "points": 1.0}, {"planet": "Moon", "house": 1, "points": 0.5}, {"planet": "Mars", "house": 1, "points": 2.0}]},
                        "difference": -2.5,
                        "difference_percent": 41.7,
                        "verdict": "Acceptable"
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/papasamya-single": {
      "post": {
        "operationId": "papasamya-single",
        "summary": "Papasamya (Single Chart)",
        "description": "Papasamya (malefic balance) for one birth: the score, the contributing planets by house, the level and whether it counts as a dosha.",
        "tags": [
          "matching"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "counted_from": {"type": "string"},
                        "note": {"type": "string"},
                        "checked_houses": {"type": "array", "items": {"type": "integer"}},
                        "score": {"type": "number"},
                        "has_dosha": {"type": "boolean"},
                        "tithi": {"type": "string"},
                        "contributions": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}, "points": {"type": "number"}}, "required": ["planet", "house", "points"]}},
                        "level": {"type": "string"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "ayanamsha",
                        "counted_from",
                        "note",
                        "checked_houses",
                        "score",
                        "has_dosha",
                        "tithi",
                        "contributions",
                        "level",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "counted_from": "ascendant",
                        "note": "Malefics in houses 1, 2, 4, 7, 8 and 12 from the ascendant score points; the Moon counts only when waning.",
                        "checked_houses": [1, 2, 4],
                        "score": 3.5,
                        "has_dosha": true,
                        "tithi": "Krishna Amavasya",
                        "contributions": [{"planet": "Saturn", "house": 12, "points": 1.5}, {"planet": "Rahu", "house": 1, "points": 1.0}, {"planet": "Ketu", "house": 7, "points": 1.0}],
                        "level": "Moderate",
                        "summary": "Moderate Papa Dosha (score: 3.5). Noticeable malefic influence. Remedial measures are recommended."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/life-stage-match": {
      "post": {
        "operationId": "life-stage-match",
        "summary": "Life-Stage Match",
        "description": "The age gap and where each partner stands in their Saturn and Jupiter cycles, with an alignment band and the reasons for it.",
        "tags": [
          "matching"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LifeStageInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "groom": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                },
                "bride": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "as_of": {"type": "string"},
                        "age_gap": {"type": "object", "properties": {"years": {"type": "integer"}, "months": {"type": "integer"}, "days": {"type": "integer"}, "total_days": {"type": "integer"}, "older": {"type": "string"}, "statement": {"type": "string"}}, "required": ["years", "months", "days", "total_days", "older", "statement"]},
                        "groom": {"type": "object", "properties": {"age_years": {"type": "number"}, "saturn": {"type": "object", "properties": {"cycle": {"type": "integer"}, "returns_completed": {"type": "integer"}, "next_return_age": {"type": "number"}, "years_to_next": {"type": "number"}, "last_return_age": {"type": "number"}, "years_since_last": {"type": "number"}, "age_years": {"type": "number"}}, "required": ["cycle", "returns_completed", "next_return_age", "years_to_next", "last_return_age", "years_since_last", "age_years"]}, "jupiter": {"type": "object", "properties": {"cycle": {"type": "integer"}, "returns_completed": {"type": "integer"}, "next_return_age": {"type": "number"}, "years_to_next": {"type": "number"}, "last_return_age": {"type": "number"}, "years_since_last": {"type": "number"}, "age_years": {"type": "number"}}, "required": ["cycle", "returns_completed", "next_return_age", "years_to_next", "last_return_age", "years_since_last", "age_years"]}}, "required": ["age_years", "saturn", "jupiter"]},
                        "bride": {"type": "object", "properties": {"age_years": {"type": "number"}, "saturn": {"type": "object", "properties": {"cycle": {"type": "integer"}, "returns_completed": {"type": "integer"}, "next_return_age": {"type": "number"}, "years_to_next": {"type": "number"}, "last_return_age": {"type": "number"}, "years_since_last": {"type": "number"}, "age_years": {"type": "number"}}, "required": ["cycle", "returns_completed", "next_return_age", "years_to_next", "last_return_age", "years_since_last", "age_years"]}, "jupiter": {"type": "object", "properties": {"cycle": {"type": "integer"}, "returns_completed": {"type": "integer"}, "next_return_age": {"type": "number"}, "years_to_next": {"type": "number"}, "last_return_age": {"type": "number"}, "years_since_last": {"type": "number"}, "age_years": {"type": "number"}}, "required": ["cycle", "returns_completed", "next_return_age", "years_to_next", "last_return_age", "years_since_last", "age_years"]}}, "required": ["age_years", "saturn", "jupiter"]},
                        "alignment": {"type": "object", "properties": {"band": {"type": "string"}, "label": {"type": "string"}, "because": {"type": "array", "items": {"type": "string"}}, "despite": {"type": "array", "items": {"type": "string"}}, "note": {"type": "string"}}, "required": ["band", "label", "because", "despite", "note"]},
                        "scope": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "as_of",
                        "age_gap",
                        "groom",
                        "bride",
                        "alignment",
                        "scope"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "as_of": "2026-10-14",
                        "age_gap": {"years": 1, "months": 4, "days": 13, "total_days": 501, "older": "groom", "statement": "Groom is older than Bride by 1 year and 4 months."},
                        "groom": {"age_years": 36.0, "saturn": {"cycle": 2, "returns_completed": 1, "next_return_age": 58.3, "years_to_next": 22.3, "last_return_age": 29.2, "years_since_last": 6.8, "age_years": 36.0}, "jupiter": {"cycle": 4, "returns_completed": 3, "next_return_age": 47.8, "years_to_next": 11.8, "last_return_age": 35.8, "years_since_last": 0.2, "age_years": 36.0}},
                        "bride": {"age_years": 34.6, "saturn": {"cycle": 2, "returns_completed": 1, "next_return_age": 59.0, "years_to_next": 24.4, "last_return_age": 29.9, "years_since_last": 4.7, "age_years": 34.6}, "jupiter": {"cycle": 3, "returns_completed": 2, "next_return_age": 35.5, "years_to_next": 0.9, "last_return_age": 23.6, "years_since_last": 11.1, "age_years": 34.6}},
                        "alignment": {"band": "mixed", "label": "Mixed — one cycle shared, one not", "because": ["Both are in Saturn cycle 2 — the same chapter of the responsibility cycle."], "despite": ["Groom is in Jupiter cycle 4 and Bride in cycle 3."], "note": "This describes where each partner stands in their own Saturn and Jupiter cycles. It is not a verdict on the match."},
                        "scope": ["The age gap is reported, not scored. No classical table ranks one gap above another, and a scale invented here would be this engine's opinion in the tradition's voice.", "The bands describe LIFE STAGE, not the marriage. Two people at different points of the Saturn cycle are not badly matched; they are answering different questions at the same time.", "Returns are the first exact conjunction of the transiting planet with its own natal longitude. Saturn and Jupiter both retrograde back over that degree, so a return is commonly felt three times across roughly a year; only the first is dated here."]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/matching/marriage-sustainability": {
      "post": {
        "operationId": "marriage-sustainability",
        "summary": "Marriage Sustainability",
        "description": "The single-chart marriage layers (7th house, Navamsa, Upapada, darakaraka) for both partners, a joint verdict, shared timing windows, and which layers could not be measured.",
        "tags": [
          "matching"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SustainabilityInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "groom": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                },
                "bride": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "as_of": {"type": "string"},
                        "groom": {"type": "object", "properties": {"darakaraka": {"type": "string"}, "upapada_sign": {"type": "string"}, "layers": {"type": "object", "properties": {"seventh_house": {"type": "object", "properties": {"measured": {"type": "boolean"}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "statement": {"type": "null"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["measured", "score", "band", "band_label", "statement", "evidence"]}, "navamsa": {"type": "object", "properties": {"measured": {"type": "boolean"}, "score": {"type": "number"}, "band": {"type": "null"}, "band_label": {"type": "null"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["measured", "score", "band", "band_label", "statement", "evidence"]}, "upapada": {"type": "object", "properties": {"measured": {"type": "boolean"}, "score": {"type": "number"}, "band": {"type": "null"}, "band_label": {"type": "null"}, "statement": {"type": "null"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["measured", "score", "band", "band_label", "statement", "evidence"]}, "emotional": {"type": "object", "properties": {"measured": {"type": "boolean"}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["measured", "score", "band", "band_label", "statement", "evidence"]}}, "required": ["seventh_house", "navamsa", "upapada", "emotional"]}, "quality": {"type": "object", "properties": {"scores": {"type": "object", "properties": {"emotional_compatibility": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "communication": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "trust": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "romance": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "stability": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "family_harmony": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "financial_cooperation": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "long_term_compatibility": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}}, "required": ["emotional_compatibility", "communication", "trust", "romance", "stability", "family_harmony", "financial_cooperation", "long_term_compatibility"]}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["scores", "strongest", "weakest", "score", "band", "band_label", "evidence", "factor_count"]}, "stability": {"type": "object", "properties": {"measured_layers": {"type": "array", "items": {"type": "string"}}, "unmeasured_layers": {"type": "array"}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}}, "required": ["measured_layers", "unmeasured_layers", "score", "band", "band_label", "band_note"]}}, "required": ["darakaraka", "upapada_sign", "layers", "quality", "stability"]},
                        "bride": {"type": "object", "properties": {"darakaraka": {"type": "string"}, "upapada_sign": {"type": "string"}, "layers": {"type": "object", "properties": {"seventh_house": {"type": "object", "properties": {"measured": {"type": "boolean"}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "statement": {"type": "null"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["measured", "score", "band", "band_label", "statement", "evidence"]}, "navamsa": {"type": "object", "properties": {"measured": {"type": "boolean"}, "score": {"type": "number"}, "band": {"type": "null"}, "band_label": {"type": "null"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["measured", "score", "band", "band_label", "statement", "evidence"]}, "upapada": {"type": "object", "properties": {"measured": {"type": "boolean"}, "score": {"type": "number"}, "band": {"type": "null"}, "band_label": {"type": "null"}, "statement": {"type": "null"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["measured", "score", "band", "band_label", "statement", "evidence"]}, "emotional": {"type": "object", "properties": {"measured": {"type": "boolean"}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["measured", "score", "band", "band_label", "statement", "evidence"]}}, "required": ["seventh_house", "navamsa", "upapada", "emotional"]}, "quality": {"type": "object", "properties": {"scores": {"type": "object", "properties": {"emotional_compatibility": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "communication": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "trust": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "romance": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "stability": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "family_harmony": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "financial_cooperation": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "long_term_compatibility": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}}, "required": ["emotional_compatibility", "communication", "trust", "romance", "stability", "family_harmony", "financial_cooperation", "long_term_compatibility"]}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["scores", "strongest", "weakest", "score", "band", "band_label", "evidence", "factor_count"]}, "stability": {"type": "object", "properties": {"measured_layers": {"type": "array", "items": {"type": "string"}}, "unmeasured_layers": {"type": "array"}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}}, "required": ["measured_layers", "unmeasured_layers", "score", "band", "band_label", "band_note"]}}, "required": ["darakaraka", "upapada_sign", "layers", "quality", "stability"]},
                        "joint": {"type": "object", "properties": {"compounding": {"type": "array"}, "compensating": {"type": "array"}, "shared_strength": {"type": "array"}, "unmeasured_layers": {"type": "array"}, "verdict": {"type": "object", "properties": {"band": {"type": "string"}, "label": {"type": "string"}, "because": {"type": "array"}, "despite": {"type": "array"}, "note": {"type": "string"}}, "required": ["band", "label", "because", "despite", "note"]}}, "required": ["compounding", "compensating", "shared_strength", "unmeasured_layers", "verdict"]},
                        "shared_periods": {"type": "object", "properties": {"horizon_years": {"type": "integer"}, "windows": {"type": "array"}, "note": {"type": "string"}}, "required": ["horizon_years", "windows", "note"]},
                        "scope": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "ayanamsha",
                        "as_of",
                        "groom",
                        "bride",
                        "joint",
                        "shared_periods",
                        "scope"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "as_of": "2026-10-14",
                        "groom": {"darakaraka": "Sun", "upapada_sign": "Aquarius", "layers": {"seventh_house": {"measured": true, "score": 43.6, "band": "moderate_low", "band_label": "Mixed — workable with awareness", "statement": null, "evidence": [{"factor": "seventh_occupied_by_jupiter", "impact": "positive", "strength": 54.0, "method": "d1", "detail": "Jupiter occupies the house of marriage."}, {"factor": "seventh_lord_combust", "impact": "negative", "strength": 50.0, "method": "d1", "detail": "The ruler of marriage is close to the Sun, which weakens its ability to deliver results on time."}, {"factor": "seventh_occupied_by_ketu", "impact": "negative", "strength": 42.0, "method": "d1", "detail": "Ketu occupies the house of marriage."}]}, "navamsa": {"measured": true, "score": 52.0, "band": null, "band_label": null, "statement": "The supporting chart agrees with your main reading. When both charts point the same way, the reading is more dependable than either would be alone.", "evidence": [{"factor": "d9_lord_well_placed", "impact": "positive", "strength": 60.0, "method": "d9", "detail": "In the supporting chart, the ruler of marriage is well placed."}, {"factor": "d9_lord_dignity", "impact": "neutral", "strength": 50.0, "method": "d9", "detail": "The condition of the marriage ruler in the supporting chart was taken into account."}, {"factor": "d9_seventh_afflicted", "impact": "negative", "strength": 50.0, "method": "d9", "detail": "More testing influences fall on marriage in the supporting chart."}]}, "upapada": {"measured": true, "score": 45.0, "band": null, "band_label": null, "statement": null, "evidence": [{"factor": "upapada_lord_in_dusthana", "impact": "negative", "strength": 60.0, "method": "upapada", "detail": "The lord of the Upapada sits in a difficult house, classically read as marriage needing patience rather than as failure."}, {"factor": "second_from_upapada_lord_well_placed", "impact": "positive", "strength": 50.0, "method": "upapada", "detail": "The ruler of the marriage's sustaining house is well placed, supporting stability over time."}, {"factor": "upapada_lord_neutral", "impact": "neutral", "strength": 0.0, "method": "upapada", "detail": "Saturn, which rules the Upapada, is neutral."}]}, "emotional": {"measured": true, "score": 52.0, "band": "workable", "band_label": "Workable, needs communication", "statement": "You may not always read each other instinctively. This is common and very workable, but it rewards couples who talk plainly instead of expecting to be understood without words.", "evidence": [{"factor": "moon_supported", "impact": "positive", "strength": 55.0, "method": "d1", "detail": "Your emotional nature is comfortably placed, which helps you meet a partner openly."}, {"factor": "romance_strained", "impact": "negative", "strength": 50.0, "method": "d1", "detail": "More testing influences on the house of romance can mean affection needs deliberate protecting once life gets busy."}, {"factor": "moon_dignity", "impact": "neutral", "strength": 45.0, "method": "d1", "detail": "The condition of your emotional nature shapes how readily you feel settled with someone."}]}}, "quality": {"scores": {"emotional_compatibility": {"score": 51.5, "label": "Emotional compatibility", "significators": ["Moon", "Venus"], "band": "moderate", "band_label": "Reasonably supported"}, "communication": {"score": 65.5, "label": "Communication", "significators": ["Mercury", "Moon"], "band": "good", "band_label": "Well supported"}, "trust": {"score": 59.5, "label": "Trust", "significators": ["Jupiter", "Saturn"], "band": "moderate", "band_label": "Reasonably supported"}, "romance": {"score": 57.5, "label": "Romance", "significators": ["Venus", "Mars"], "band": "moderate", "band_label": "Reasonably supported"}, "stability": {"score": 59.5, "label": "Stability", "significators": ["Saturn", "Jupiter"], "band": "moderate", "band_label": "Reasonably supported"}, "family_harmony": {"score": 71.5, "label": "Family harmony", "significators": ["Jupiter", "Moon"], "band": "good", "band_label": "Well supported"}, "financial_cooperation": {"score": 65.6, "label": "Financial cooperation", "significators": ["Venus", "Jupiter"], "band": "good", "band_label": "Well supported"}, "long_term_compatibility": {"score": 45.5, "label": "Long term compatibility", "significators": ["Saturn", "Venus"], "band": "moderate_low", "band_label": "Mixed — workable with awareness"}}, "strongest": "family_harmony", "weakest": "long_term_compatibility", "score": 59.5, "band": "moderate", "band_label": "Reasonably supported", "evidence": [{"factor": "quality_strongest_family_harmony", "impact": "positive", "strength": 71.5, "method": "d1", "detail": "Family harmony is the strongest area of this marriage."}, {"factor": "quality_weakest_long_term_compatibility", "impact": "negative", "strength": 54.5, "method": "d1", "detail": "Long term compatibility is the area most worth conscious attention."}], "factor_count": 2}, "stability": {"measured_layers": ["navamsa", "seventh", "upapada"], "unmeasured_layers": [], "score": 45.7, "band": "mixed", "band_label": "Mixed", "band_note": "The long-term picture is mixed - durable, but with areas that need attention rather than assumption."}},
                        "bride": {"darakaraka": "Mercury", "upapada_sign": "Aries", "layers": {"seventh_house": {"measured": true, "score": 51.7, "band": "moderate", "band_label": "Reasonably supported", "statement": null, "evidence": [{"factor": "seventh_lord_in_kendra", "impact": "positive", "strength": 50.0, "method": "d1", "detail": "The ruler of marriage sits in an angular house, which strengthens it."}, {"factor": "seventh_mixed_influences", "impact": "neutral", "strength": 40.0, "method": "d1", "detail": "Both supportive and difficult planets touch the house of marriage, so the reading is genuinely mixed rather than clearly good or bad."}, {"factor": "seventh_aspected_by_venus", "impact": "positive", "strength": 36.0, "method": "d1", "detail": "Venus casts its aspect on the house of marriage."}]}, "navamsa": {"measured": true, "score": 52.0, "band": null, "band_label": null, "statement": "The supporting chart agrees with your main reading. When both charts point the same way, the reading is more dependable than either would be alone.", "evidence": [{"factor": "d9_lord_well_placed", "impact": "positive", "strength": 60.0, "method": "d9", "detail": "In the supporting chart, the ruler of marriage is well placed."}, {"factor": "d9_lord_dignity", "impact": "neutral", "strength": 50.0, "method": "d9", "detail": "The condition of the marriage ruler in the supporting chart was taken into account."}, {"factor": "d9_seventh_afflicted", "impact": "negative", "strength": 50.0, "method": "d9", "detail": "More testing influences fall on marriage in the supporting chart."}]}, "upapada": {"measured": true, "score": 85.5, "band": null, "band_label": null, "statement": null, "evidence": [{"factor": "upapada_lord_exalted", "impact": "positive", "strength": 90.0, "method": "upapada", "detail": "Mars, which rules the Upapada, is exalted."}, {"factor": "upapada_aspected_by_jupiter", "impact": "positive", "strength": 50.0, "method": "upapada", "detail": "Jupiter aspects the Upapada, a classically protective influence."}, {"factor": "second_from_upapada_lord_well_placed", "impact": "positive", "strength": 50.0, "method": "upapada", "detail": "The ruler of the marriage's sustaining house is well placed, supporting stability over time."}]}, "emotional": {"measured": true, "score": 62.0, "band": "good", "band_label": "Good, with effort in places", "statement": "You should understand each other well most of the time, with a few areas where you will need to say things out loud rather than assume they are obvious.", "evidence": [{"factor": "moon_supported", "impact": "positive", "strength": 55.0, "method": "d1", "detail": "Your emotional nature is comfortably placed, which helps you meet a partner openly."}, {"factor": "moon_dignity", "impact": "neutral", "strength": 45.0, "method": "d1", "detail": "The condition of your emotional nature shapes how readily you feel settled with someone."}]}}, "quality": {"scores": {"emotional_compatibility": {"score": 60.7, "label": "Emotional compatibility", "significators": ["Moon", "Venus"], "band": "moderate", "band_label": "Reasonably supported"}, "communication": {"score": 55.7, "label": "Communication", "significators": ["Mercury", "Moon"], "band": "moderate", "band_label": "Reasonably supported"}, "trust": {"score": 53.5, "label": "Trust", "significators": ["Jupiter", "Saturn"], "band": "moderate", "band_label": "Reasonably supported"}, "romance": {"score": 68.8, "label": "Romance", "significators": ["Venus", "Mars"], "band": "good", "band_label": "Well supported"}, "stability": {"score": 53.5, "label": "Stability", "significators": ["Saturn", "Jupiter"], "band": "moderate", "band_label": "Reasonably supported"}, "family_harmony": {"score": 48.7, "label": "Family harmony", "significators": ["Jupiter", "Moon"], "band": "moderate_low", "band_label": "Mixed — workable with awareness"}, "financial_cooperation": {"score": 48.7, "label": "Financial cooperation", "significators": ["Venus", "Jupiter"], "band": "moderate_low", "band_label": "Mixed — workable with awareness"}, "long_term_compatibility": {"score": 65.5, "label": "Long term compatibility", "significators": ["Saturn", "Venus"], "band": "good", "band_label": "Well supported"}}, "strongest": "romance", "weakest": "family_harmony", "score": 56.9, "band": "moderate", "band_label": "Reasonably supported", "evidence": [{"factor": "quality_strongest_romance", "impact": "positive", "strength": 68.8, "method": "d1", "detail": "Romance is the strongest area of this marriage."}, {"factor": "quality_weakest_family_harmony", "impact": "negative", "strength": 51.3, "method": "d1", "detail": "Family harmony is the area most worth conscious attention."}], "factor_count": 2}, "stability": {"measured_layers": ["navamsa", "seventh", "upapada"], "unmeasured_layers": [], "score": 61.9, "band": "good", "band_label": "Good, with manageable challenges", "band_note": "The marriage looks durable, with challenges of the manageable kind."}},
                        "joint": {"compounding": [], "compensating": [], "shared_strength": [], "unmeasured_layers": [], "verdict": {"band": "mixed", "label": "Mixed — no layer short on both sides", "because": [], "despite": [], "note": "Read from each chart's own marriage layers, compared. It does not replace the koota score above it — the kootas compare two birth stars and this compares two charts."}},
                        "shared_periods": {"horizon_years": 30, "windows": [], "note": "Both charts have marriage strongly in play across these windows, looking 30 years ahead. That is what was measured — it says the subject is live for both of you at once, not that it goes badly."},
                        "scope": ["Every layer here is one of this engine's existing single-chart marriage readings, run for both partners and compared. Nothing new is computed about either chart, so this section cannot disagree with the Marriage report about the same person.", "A layer that could not be measured — an Upapada with no Jaimini input, a Navamsa with no ascendant — is reported as unmeasured and excluded from the comparison. It is never treated as weak, because unknown and weak are different findings.", "The period windows show where marriage is strongly ACTIVATED in both charts at once. Activation is not difficulty: the same significators rule a wedding and a crisis, and the arithmetic cannot tell them apart."]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/kaalsarp-dosha": {
      "post": {
        "operationId": "kaalsarp-dosha",
        "summary": "Kaal Sarp Dosha",
        "description": "Kaal Sarp presence, type, partial flag, Rahu house, the planets outside the Rahu-Ketu axis, a description and remedies.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "present": {"type": "boolean"},
                        "partial": {"type": "boolean"},
                        "type": {"type": "null"},
                        "rahu_house": {"type": "integer"},
                        "planets_outside_axis": {"type": "array", "items": {"type": "string"}},
                        "description": {"type": "string"},
                        "remedies": {"type": "array"}
                      },
                      "required": [
                        "ayanamsha",
                        "present",
                        "partial",
                        "type",
                        "rahu_house",
                        "planets_outside_axis",
                        "description",
                        "remedies"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "present": false,
                        "partial": false,
                        "type": null,
                        "rahu_house": 1,
                        "planets_outside_axis": ["Sun", "Moon", "Mercury"],
                        "description": "No Kaal Sarp Yoga. Planets are not confined between Rahu and Ketu.",
                        "remedies": []
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/pitra-dosha": {
      "post": {
        "operationId": "pitra-dosha",
        "summary": "Pitra Dosha",
        "description": "Pitra dosha presence, strength and the types found, checks that could not be assessed, a summary and remedies.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "degrees": {"type": "number"}}, "required": ["id", "name", "degrees"]},
                        "present": {"type": "boolean"},
                        "strength": {"type": "string"},
                        "types": {"type": "array"},
                        "not_assessed": {"type": "array"},
                        "summary": {"type": "string"},
                        "remedies": {"type": "array"}
                      },
                      "required": [
                        "ayanamsha",
                        "present",
                        "strength",
                        "types",
                        "not_assessed",
                        "summary",
                        "remedies"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "name": "N.C. Lahiri", "degrees": 23.7285},
                        "present": false,
                        "strength": "None",
                        "types": [],
                        "not_assessed": [],
                        "summary": "No Pitra Dosh detected. Sun and Moon are free from afflictions of Rahu, Ketu, and Saturn in the natal chart.",
                        "remedies": []
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-nabha-yogas": {
      "post": {
        "operationId": "parashari-yoga-nabha-yogas",
        "summary": "Parashari Yogas: Nabha",
        "description": "Checks the chart for the Nabha yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "nabha_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 32,
                        "present_count": 0,
                        "yogas": [{"name": "Rajju Yoga", "present": false, "strength": null, "detail": "All 7 classical planets are in movable signs (Aries, Cancer, Libra, Capricorn).", "description": "All 7 classical planets are in movable signs (Aries, Cancer, Libra, Capricorn).", "effects": "Restless, loves travel, skilled in working with ropes/circles, strong constitution. Wandering tendency. Success through initiative."}, {"name": "Musala Yoga", "present": false, "strength": null, "detail": "All 7 classical planets are in fixed signs (Taurus, Leo, Scorpio, Aquarius).", "description": "All 7 classical planets are in fixed signs (Taurus, Leo, Scorpio, Aquarius).", "effects": "Steadfast, wealthy, respected, determined. Strong convictions. Success through persistence and accumulation."}, {"name": "Nala Yoga", "present": false, "strength": null, "detail": "All 7 classical planets are in dual/common signs (Gemini, Virgo, Sagittarius, Pisces).", "description": "All 7 classical planets are in dual/common signs (Gemini, Virgo, Sagittarius, Pisces).", "effects": "Skilled in many arts, adaptable, intelligent. Communicative. Mixed results — neither fully auspicious nor inauspicious."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-panch-maha": {
      "post": {
        "operationId": "parashari-yoga-panch-maha",
        "summary": "Parashari Yogas: Pancha Mahapurusha",
        "description": "Checks the chart for the Pancha Mahapurusha yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "panch_maha",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 5,
                        "present_count": 1,
                        "yogas": [{"name": "Hamsa Yoga", "present": true, "strength": "Strong", "detail": "Jupiter in Cancer (house 7) — own/exalt, kendra.", "description": "Jupiter in own sign (Sagittarius/Pisces) or exaltation (Cancer) in a kendra house.", "effects": "Wise, virtuous, beautiful, lotus-like feet. Respected by royalty. Dharmic and prosperous. Lives 82 years."}, {"name": "Malavya Yoga", "present": false, "strength": null, "detail": "Venus in own sign (Taurus/Libra) or exaltation (Pisces) in a kendra house.", "description": "Venus in own sign (Taurus/Libra) or exaltation (Pisces) in a kendra house.", "effects": "Strong body, attractive, wealthy, famous wife/husband. Enjoys pleasures. Commands vehicles and armies. Lives 70 years."}, {"name": "Ruchaka Yoga", "present": false, "strength": null, "detail": "Mars in own sign (Aries/Scorpio) or exaltation (Capricorn) in a kendra house.", "description": "Mars in own sign (Aries/Scorpio) or exaltation (Capricorn) in a kendra house.", "effects": "Strong physique, conquers enemies, brave, renowned. Good commander or soldier. Long-lived."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-yoga-karakas": {
      "post": {
        "operationId": "parashari-yoga-yoga-karakas",
        "summary": "Parashari Yogas: Yoga karakas",
        "description": "Checks the chart for the Yoga karakas yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "string"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "yoga_karakas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 2,
                        "present_count": 2,
                        "yogas": [{"name": "Venus — Yoga Karaka", "present": true, "strength": "Strong", "detail": "For Capricorn Lagna, Venus rules house(s) [10] (kendra) + [5] (trikona). Currently placed in Virgo (house 9).", "description": "A planet ruling both a kendra (4th/7th/10th) and a trikona (5th/9th) simultaneously becomes the supreme Yoga Karaka — the most beneficial planet for Capricorn Lagna.", "effects": "Most powerful Raj Yoga bestower. When Dasha of Yoga Karaka runs, tremendous rise in life, wealth, status, and fulfillment of desires."}, {"name": "Saturn — Lagna Lord", "present": true, "strength": "Moderate", "detail": "Lagna lord Saturn for Capricorn Lagna. Placed in Sagittarius (house 12).", "description": "The ascendant lord is always the most important planet for the chart. Being lord of the 1st house (which is both kendra and trikona), it represents self, health, and overall life direction.", "effects": "Strong and well-placed lagna lord gives health, long life, good character, and success in all endeavours. Weak lagna lord shows health challenges."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-raj-yogas": {
      "post": {
        "operationId": "parashari-yoga-raj-yogas",
        "summary": "Parashari Yogas: Raja",
        "description": "Checks the chart for the Raja yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "string"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "raj_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 4,
                        "present_count": 4,
                        "yogas": [{"name": "Raj Yoga — Moon (7th lord) + Venus (5th lord)", "present": true, "strength": "Strong", "detail": "Moon (7th lord, in Virgo/H9) and Venus (5th lord, in Virgo/H9) are conjunct.", "description": "Lord of 7th house (kendra) associated with lord of 5th house (trikona) creates a classical Raj Yoga.", "effects": "Status, authority, wealth, recognition. Powerful during their joint Dasha periods."}, {"name": "Raj Yoga — Moon (7th lord) + Mercury (9th lord)", "present": true, "strength": "Strong", "detail": "Moon (7th lord, in Virgo/H9) and Mercury (9th lord, in Virgo/H9) are conjunct.", "description": "Lord of 7th house (kendra) associated with lord of 9th house (trikona) creates a classical Raj Yoga.", "effects": "Status, authority, wealth, recognition. Powerful during their joint Dasha periods."}, {"name": "Raj Yoga — Venus (lord of 10th & 5th)", "present": true, "strength": "Strong", "detail": "Venus rules both the 10th (kendra) and 5th (trikona) houses. Placed in Virgo (house 9).", "description": "A planet ruling both a kendra and trikona gives a powerful Raj Yoga.", "effects": "Rise to position, wealth, authority. Strong during its Dasha/Antardasha."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-vipreet-raj": {
      "post": {
        "operationId": "parashari-yoga-vipreet-raj",
        "summary": "Parashari Yogas: Vipreet Raja",
        "description": "Checks the chart for the Vipreet Raja yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "vipreet_raj",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 3,
                        "present_count": 0,
                        "yogas": [{"name": "Harsha Yoga", "present": false, "strength": null, "detail": "6th lord Mercury in house 9 (not dusthana).", "description": "6th house lord placed in a dusthana house (6th, 8th, or 12th). Harsha = happiness.", "effects": "Defeat of enemies, freedom from diseases, happiness. Rise after 32nd year. Very fortunate and strong."}, {"name": "Sarala Yoga", "present": false, "strength": null, "detail": "8th lord Sun in house 10 (not dusthana).", "description": "8th house lord placed in a dusthana house (6th, 8th, or 12th). Sarala = simple/easy.", "effects": "Long-lived, fearless, prosperous. Overcomes all dangers and obstacles. Victory over enemies."}, {"name": "Vimala Yoga", "present": false, "strength": null, "detail": "12th lord Jupiter in house 7 (not dusthana).", "description": "12th house lord placed in a dusthana house (6th, 8th, or 12th). Vimala = pure/spotless.", "effects": "Happy, free from disease, virtuous, saved expenses. Earns well and spends wisely. Spiritual."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-neecha-bhanga": {
      "post": {
        "operationId": "parashari-yoga-neecha-bhanga",
        "summary": "Parashari Yogas: Neecha Bhanga",
        "description": "Checks the chart for the Neecha Bhanga yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "string"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}, "planet": {"type": "string"}, "cancellations": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "frame": {"type": "string"}, "house": {"type": "integer"}}, "required": ["planet", "frame", "house"]}}}, "required": ["name", "present", "strength", "detail", "description", "effects", "planet", "cancellations"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "neecha_bhanga",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 2,
                        "present_count": 2,
                        "yogas": [{"name": "Neecha Bhanga Raj Yoga — Sun", "present": true, "strength": "Strong", "detail": "Sun debilitated in Libra (H10). Cancellation: Venus (its lord) in kendra from the Moon (1th from Chandra); Saturn (exalted there) in kendra from the Moon (4th from Chandra).", "description": "Sun debilitated in Libra. When debilitation is cancelled, the planet becomes extremely powerful — Neecha Bhanga Raj Yoga forms.", "effects": "When formed: tremendous rise in life, wealth, authority. The native rises from humble beginnings to great heights, especially during the planet's Dasha.", "planet": "Sun", "cancellations": [{"planet": "Venus", "frame": "moon", "house": 1}, {"planet": "Saturn", "frame": "moon", "house": 4}]}, {"name": "Neecha Bhanga Raj Yoga — Venus", "present": true, "strength": "Strong", "detail": "Venus debilitated in Virgo (H9). Cancellation: Mercury (its lord and exalted there) in kendra from the Moon (1th from Chandra); Mercury (its lord and exalted there) conjunct it in Virgo.", "description": "Venus debilitated in Virgo. When debilitation is cancelled, the planet becomes extremely powerful — Neecha Bhanga Raj Yoga forms.", "effects": "When formed: tremendous rise in life, wealth, authority. The native rises from humble beginnings to great heights, especially during the planet's Dasha.", "planet": "Venus", "cancellations": [{"planet": "Mercury", "frame": "moon", "house": 1}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-parivartan": {
      "post": {
        "operationId": "parashari-yoga-parivartan",
        "summary": "Parashari Yogas: Parivartana",
        "description": "Checks the chart for the Parivartana yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "parivartan",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 1,
                        "present_count": 0,
                        "yogas": [{"name": "No Parivartan Yoga", "present": false, "strength": null, "detail": "No mutual sign exchange found between classical planets.", "description": "Parivartan yoga forms when two planets are in each other's signs.", "effects": "Without Parivartan, planets act in a straightforward manner in their placed signs."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-dhana-yogas": {
      "post": {
        "operationId": "parashari-yoga-dhana-yogas",
        "summary": "Parashari Yogas: Dhana",
        "description": "Checks the chart for the Dhana yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "dhana_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 8,
                        "present_count": 1,
                        "yogas": [{"name": "Dhana Yoga — Lords of 1st, 2nd, 11th associated", "present": false, "strength": null, "detail": "L1=Saturn(H12), L2=Saturn(H12), L11=Mars(H5).", "description": "Lords of 1st, 2nd, and 11th houses in association — classical wealth yoga.", "effects": "Wealthy, accumulates large sums. Financial success through business and income."}, {"name": "Dhana Yoga — 2nd & 11th lords in kendra/trikona", "present": false, "strength": null, "detail": "2nd lord Saturn in H12 ✗, 11th lord Mars in H5 ✓.", "description": "Lords of 2nd (wealth) and 11th (gains) placed in kendra or trikona.", "effects": "Consistent financial growth. Good earnings and savings throughout life."}, {"name": "Dhana Yoga — Jupiter in 2nd/11th (own/exalt)", "present": false, "strength": null, "detail": "Jupiter in H7, sign Cancer.", "description": "Jupiter in 2nd or 11th house in own or exaltation sign.", "effects": "Great wealth through dharmic means. Generosity and prosperity. Spiritual wealth also."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-daridra-yogas": {
      "post": {
        "operationId": "parashari-yoga-daridra-yogas",
        "summary": "Parashari Yogas: Daridra",
        "description": "Checks the chart for the Daridra yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "daridra_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 5,
                        "present_count": 1,
                        "yogas": [{"name": "Kemadruma Yoga", "present": false, "strength": null, "detail": "Moon in H9; 2nd from Moon H10, 12th from Moon H8. No planet other than the Sun flanks the Moon, but Kemadruma is cancelled by planet(s) in a kendra from the Moon: Mercury, Venus, Saturn; Kalpadruma: 2 planets in kendras from the Lagna; natural benefic conjoining or aspecting the Moon: Venus, Mercury.", "description": "No planet (except Sun) in 2nd or 12th from Moon — isolation, poverty tendency.", "effects": "Poverty, isolation, lack of mental peace. Hard work with little reward. Reduced with cancellations."}, {"name": "Daridra Yoga — 1st/2nd lord in dusthana", "present": true, "strength": "Challenging", "detail": "L1 Saturn in H12 (dusthana), L2 Saturn in H12 (dusthana).", "description": "Lord of 1st or 2nd house placed in dusthana (6,8,12) — poverty indicating yoga.", "effects": "Financial struggles, debts, difficulty accumulating wealth. Must work hard for money."}, {"name": "Shakata Yoga (Jupiter-Moon)", "present": false, "strength": null, "detail": "Jupiter in H7, Moon in H9. Jupiter is in 11th from Moon.", "description": "Jupiter in 6th, 8th, or 12th from Moon — fortune fluctuates like a wheel.", "effects": "Fortune fluctuates — wheel of fate spins. Alternates between wealth and poverty. Success eventually comes."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-chandra-yogas": {
      "post": {
        "operationId": "parashari-yoga-chandra-yogas",
        "summary": "Parashari Yogas: Chandra",
        "description": "Checks the chart for the Chandra yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "chandra_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 6,
                        "present_count": 0,
                        "yogas": [{"name": "Sunapha Yoga", "present": false, "strength": null, "detail": "Planets in 2nd from Moon (H10): none.", "description": "Planet(s) other than Sun in the 2nd house from Moon.", "effects": "Self-made wealth, king or equal, intelligent, good reputation. Strong personality."}, {"name": "Anapha Yoga", "present": false, "strength": null, "detail": "Planets in 12th from Moon (H8): none.", "description": "Planet(s) other than Sun in the 12th house from Moon.", "effects": "Well-formed physique, healthy, passionate, good character, powerful, humanitarian."}, {"name": "Durudhara Yoga", "present": false, "strength": null, "detail": "2nd from Moon: [], 12th from Moon: [].", "description": "Planets on both sides of Moon (in 2nd and 12th from Moon).", "effects": "Wealthy, enjoys pleasures, generous, servant of king/state. Very fortunate."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-surya-yogas": {
      "post": {
        "operationId": "parashari-yoga-surya-yogas",
        "summary": "Parashari Yogas: Surya",
        "description": "Checks the chart for the Surya yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "surya_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 4,
                        "present_count": 1,
                        "yogas": [{"name": "Veshi Yoga", "present": false, "strength": null, "detail": "Planets in 2nd from Sun (H11): none.", "description": "Planet(s) other than Moon in the 2nd house from Sun.", "effects": "Fortunate, happy, virtuous, eloquent, lazy, skilful. Gains through government/authority."}, {"name": "Voshi Yoga", "present": true, "strength": "Moderate", "detail": "Planets in 12th from Sun (H9): ['Mercury', 'Venus'].", "description": "Planet(s) other than Moon in the 12th house from Sun.", "effects": "Truthful, wise, happy, respected, stable. Recognition through diligence."}, {"name": "Ubhayachari Yoga", "present": false, "strength": null, "detail": "2nd from Sun: [], 12th from Sun: ['Mercury', 'Venus'].", "description": "Planets on both sides of Sun (in 2nd and 12th from Sun).", "effects": "King, minister, or equal. Endowed with all happiness. Respected by royalty."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-special-yogas": {
      "post": {
        "operationId": "parashari-yoga-special-yogas",
        "summary": "Parashari Yogas: Special",
        "description": "Checks the chart for the Special yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "special_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 10,
                        "present_count": 3,
                        "yogas": [{"name": "Gaja-Kesari Yoga", "present": false, "strength": null, "detail": "Jupiter in Cancer (H7), Moon in Virgo (H9). Not in kendra ✗.", "description": "Jupiter in kendra from Moon — like an elephant (Gaja) and lion (Kesari).", "effects": "Famous, wise, wealthy, respected. Overcomes obstacles like an elephant. Long-lived."}, {"name": "Guru-Chandal Yoga (Jupiter+Rahu)", "present": false, "strength": null, "detail": "Jupiter in Cancer (H7), Rahu in H1.", "description": "Jupiter conjunct Rahu — unconventional wisdom, foreign guru, controversial beliefs.", "effects": "Unconventional expansion, foreign connections, spiritual rebellion. Mixed results."}, {"name": "Guru-Chandal Yoga (Jupiter+Ketu)", "present": true, "strength": "Mixed", "detail": "Jupiter in Cancer (H7), Ketu in H7.", "description": "Jupiter conjunct Ketu — unconventional wisdom, foreign guru, controversial beliefs.", "effects": "Unconventional expansion, foreign connections, spiritual rebellion. Mixed results."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-arishta-yogas": {
      "post": {
        "operationId": "parashari-yoga-arishta-yogas",
        "summary": "Parashari Yogas: Arishta",
        "description": "Checks the chart for the Arishta yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "arishta_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 4,
                        "present_count": 2,
                        "yogas": [{"name": "Balarishta Yoga", "present": false, "strength": null, "detail": "Moon in H9 with malefics [].", "description": "Moon in dusthana (6,8,12) conjunct malefics — early life difficulties.", "effects": "Childhood health issues, early life hardships. Improved remedies help. Often overcome by age 12."}, {"name": "Pitra Dosha", "present": false, "strength": null, "detail": "Sun in H10 with [].", "description": "Sun afflicted by Saturn, Rahu or Ketu — ancestral/paternal karmic debt.", "effects": "Difficulties from father, government. Ancestral karmic issues. Remedy: Sun propitiation."}, {"name": "Lagna Lord in Dusthana", "present": true, "strength": "Challenging", "detail": "Lagna lord Saturn in H12 (dusthana).", "description": "Ascendant lord placed in 6th, 8th or 12th house — health and vitality challenges.", "effects": "Health issues, foreign travels or residence, spiritual seeking, hidden enemies."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-sanyasa-yogas": {
      "post": {
        "operationId": "parashari-yoga-sanyasa-yogas",
        "summary": "Parashari Yogas: Sanyasa",
        "description": "Checks the chart for the Sanyasa yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "sanyasa_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 4,
                        "present_count": 0,
                        "yogas": [{"name": "Pravrajya Yoga", "present": false, "strength": null, "detail": "Max planets in any house: 3 in H9.", "description": "4 or more planets in one house — strong indication of renunciation/asceticism.", "effects": "Renunciant, monk, spiritual seeker. May abandon worldly life. Deep spiritual nature."}, {"name": "Sanyasa Yoga — Saturn & Rahu in 9th", "present": false, "strength": null, "detail": "Saturn (H12) and Rahu (H1).", "description": "Saturn and Rahu together in the 9th house of dharma/guru.", "effects": "Unconventional spiritual path, foreign guru, rejection of tradition. Unique beliefs."}, {"name": "Sanyasa Yoga — Moon & Ketu in 1st/12th", "present": false, "strength": null, "detail": "Moon (H9) and Ketu (H7).", "description": "Moon and Ketu in 1st or 12th house — detachment from worldly desires.", "effects": "Spiritual inclination, detachment, moksha-seeking. Possible monastic life."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-dosha-yogas": {
      "post": {
        "operationId": "parashari-yoga-dosha-yogas",
        "summary": "Parashari Yogas: Dosha",
        "description": "Checks the chart for the Dosha yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "dosha_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 5,
                        "present_count": 0,
                        "yogas": [{"name": "Kala Sarpa Yoga", "present": false, "strength": null, "detail": "Rahu in H1, Ketu in H7. All planets on one side: No ✗.", "description": "All planets hemmed between Rahu and Ketu — powerful but challenging yoga.", "effects": "Obstacles, sudden ups and downs. If broken by planets outside: partial Kala Sarpa. Intense karma."}, {"name": "Mangal Dosha (Kuja Dosha)", "present": false, "strength": null, "detail": "Mars in H5 (non-dosha house).", "description": "Mars in 1st, 2nd, 4th, 7th, 8th, or 12th house — affects marriage and partnerships.", "effects": "Delays in marriage, friction in partnerships. Must match with another Mangalik for harmony."}, {"name": "Grahan Dosha (Eclipse Yoga)", "present": false, "strength": null, "detail": "Luminaries with nodes: none.", "description": "Sun or Moon conjunct Rahu or Ketu — eclipse combination in natal chart.", "effects": "Eclipsed luminaries diminish their significations. Father/mother health affected. Remedy: Rahu/Ketu remedies."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-malika-yogas": {
      "post": {
        "operationId": "parashari-yoga-malika-yogas",
        "summary": "Parashari Yogas: Malika",
        "description": "Checks the chart for the Malika yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "malika_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 12,
                        "present_count": 0,
                        "yogas": [{"name": "Lagna Malika", "present": false, "strength": null, "detail": "Planets garland from the 1st house. Strong self, identity and life-force.", "description": "Planets garland from the 1st house. Strong self, identity and life-force.", "effects": "Excellent health, fame, leadership. Blessed with all life's good things."}, {"name": "Dhana Malika", "present": false, "strength": null, "detail": "Planets garland from the 2nd house. Tremendous wealth accumulation.", "description": "Planets garland from the 2nd house. Tremendous wealth accumulation.", "effects": "Great wealth, beautiful speech, generous, many dependants."}, {"name": "Vikrama Malika", "present": false, "strength": null, "detail": "Planets garland from the 3rd house. Courage, siblings and self-effort strong.", "description": "Planets garland from the 3rd house. Courage, siblings and self-effort strong.", "effects": "Courageous, famous for valour, strong-willed, successful siblings."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-conjunction-yogas": {
      "post": {
        "operationId": "parashari-yoga-conjunction-yogas",
        "summary": "Parashari Yogas: Conjunction",
        "description": "Checks the chart for the Conjunction yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "conjunction_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 53,
                        "present_count": 3,
                        "yogas": [{"name": "Surya-Chandra Yoga", "present": false, "strength": null, "detail": "Both luminaries together — born near new moon (Amavasya). Father and mother energies unified.", "description": "Both luminaries together — born near new moon (Amavasya). Father and mother energies unified.", "effects": "Remarkable personality but mind and ego blend. Fluctuating fortune. Strong willpower. Difficulty discerning emotions from ego."}, {"name": "Surya-Mangala Yoga", "present": false, "strength": null, "detail": "Sun and Mars together — fiery, courageous, commanding combination.", "description": "Sun and Mars together — fiery, courageous, commanding combination.", "effects": "Bold, aggressive, government service, military aptitude. Quick-tempered but energetic. Prone to fevers. Excellent leadership."}, {"name": "Budha-Aditya Yoga", "present": false, "strength": null, "detail": "Sun and Mercury in same house — intelligent administrative ability (already in Surya Yogas).", "description": "Sun and Mercury in same house — intelligent administrative ability (already in Surya Yogas).", "effects": "Sharp intellect, eloquence, government service, scholarly. Administrative success. Fame through knowledge."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-karmajiva-yogas": {
      "post": {
        "operationId": "parashari-yoga-karmajiva-yogas",
        "summary": "Parashari Yogas: Karmajiva",
        "description": "Checks the chart for the Karmajiva yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "karmajiva_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 10,
                        "present_count": 2,
                        "yogas": [{"name": "Raja-Karma Yoga — 10th lord strong", "present": false, "strength": null, "detail": "10th house lord in own/exalt sign in a kendra or trikona — peak career yoga.", "description": "10th house lord in own/exalt sign in a kendra or trikona — peak career yoga.", "effects": "Exceptional career, authority, public recognition. Success in chosen profession is guaranteed."}, {"name": "Karmajiva — Sun in 10th (Government/Authority)", "present": true, "strength": "Strong", "detail": "Sun in H10 (Libra).", "description": "Sun occupies 10th house — career through government, administration, royalty, or authority.", "effects": "Government job, politics, administration, medicine (surgery), banking. Authority and leadership role."}, {"name": "Karmajiva — Moon in 10th (Public/Trade)", "present": false, "strength": null, "detail": "Moon in 10th house — career in public dealing, hospitality, travel, liquids, or mother-related fields.", "description": "Moon in 10th house — career in public dealing, hospitality, travel, liquids, or mother-related fields.", "effects": "Business, hospitality, navy/water, travel, food, dairy, nursing, public service. Fluctuating but prosperous career."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-longevity-yogas": {
      "post": {
        "operationId": "parashari-yoga-longevity-yogas",
        "summary": "Parashari Yogas: Longevity",
        "description": "Checks the chart for the Longevity yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "longevity_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 7,
                        "present_count": 0,
                        "yogas": [{"name": "Balarishta Yoga", "present": false, "strength": null, "detail": "Moon in 6th, 8th or 12th house afflicted by malefics — danger in early childhood.", "description": "Moon in 6th, 8th or 12th house afflicted by malefics — danger in early childhood.", "effects": "Health challenges in early years (ages 0-12). Remedies recommended. Usually overcome by Jupiter's grace."}, {"name": "Arishta-Bhanga Yoga", "present": false, "strength": null, "detail": "When Balarishta is cancelled by Jupiter's aspect or a benefic's conjunction with Moon.", "description": "When Balarishta is cancelled by Jupiter's aspect or a benefic's conjunction with Moon.", "effects": "Childhood danger averted. Life continues with divine protection. Health improves after early challenges."}, {"name": "Alpayu Yoga (Short Longevity)", "present": false, "strength": null, "detail": "Both lagna and 8th house in dual signs, OR Moon afflicted in 8th — short longevity indicator.", "description": "Both lagna and 8th house in dual signs, OR Moon afflicted in 8th — short longevity indicator.", "effects": "Possible shortened life unless cancelled by strong benefic yogas. Medical attention advised."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-planet-chandra-yogas": {
      "post": {
        "operationId": "parashari-yoga-planet-chandra-yogas",
        "summary": "Parashari Yogas: Planet-Moon",
        "description": "Checks the chart for the Planet-Moon yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "planet_chandra_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 14,
                        "present_count": 0,
                        "yogas": [{"name": "Sunapha — Mars in 2nd from Moon", "present": false, "strength": null, "detail": "Mars in 2nd from Moon — wealth through initiative, courage, real estate.", "description": "Mars in 2nd from Moon — wealth through initiative, courage, real estate.", "effects": "Self-made wealth, courageous, assertive speech, success in trade and property."}, {"name": "Sunapha — Mercury in 2nd from Moon", "present": false, "strength": null, "detail": "Mercury in 2nd from Moon — wealth through intellect, business, communication.", "description": "Mercury in 2nd from Moon — wealth through intellect, business, communication.", "effects": "Wealthy through business and intellect. Eloquent, scholarly, skilled in commerce."}, {"name": "Sunapha — Jupiter in 2nd from Moon", "present": false, "strength": null, "detail": "Jupiter in 2nd from Moon — wealth through wisdom, teaching, dharma.", "description": "Jupiter in 2nd from Moon — wealth through wisdom, teaching, dharma.", "effects": "Minister, advisor, wealthy through dharmic means. Prosperous family life."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-pdf-additional-yogas": {
      "post": {
        "operationId": "parashari-yoga-pdf-additional-yogas",
        "summary": "Parashari Yogas: Additional classical",
        "description": "Checks the chart for the Additional classical yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "pdf_additional_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 105,
                        "present_count": 20,
                        "yogas": [{"name": "Shringataka Yoga", "present": false, "strength": null, "detail": "All classical planets in trikona houses (1st, 5th, 9th) — triangle pattern.", "description": "All classical planets in trikona houses (1st, 5th, 9th) — triangle pattern.", "effects": "Highly fortunate, virtuous, devoted to dharma, receives grace of deities. Spiritual and prosperous life."}, {"name": "Hala Yoga (Artha)", "present": false, "strength": null, "detail": "All classical planets in the Artha trine (2nd, 6th, 10th houses) — plough pattern.", "description": "All classical planets in the Artha trine (2nd, 6th, 10th houses) — plough pattern.", "effects": "Skilled in agriculture/trade, hardworking, gains through service and career. Pragmatic."}, {"name": "Hala Yoga (Kama)", "present": false, "strength": null, "detail": "All classical planets in the Kama trine (3rd, 7th, 11th houses) — plough pattern.", "description": "All classical planets in the Kama trine (3rd, 7th, 11th houses) — plough pattern.", "effects": "Pleasure-seeking, gains through partnerships and social networks. Strong desire nature."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-fourth-house-yogas": {
      "post": {
        "operationId": "parashari-yoga-fourth-house-yogas",
        "summary": "Parashari Yogas: Fourth house",
        "description": "Checks the chart for the Fourth house yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "fourth_house_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 9,
                        "present_count": 0,
                        "yogas": [{"name": "Kapata Yoga (L4 Dusthana + Malefic in 4th)", "present": false, "strength": null, "detail": "4th lord in dusthana house with malefic in 4th house.", "description": "4th lord in dusthana house with malefic in 4th house.", "effects": "Deceptive, cunning, and secretive. Lacks maternal warmth. Cheats others for personal gain. Difficulties in domestic life. May engage in fraudulent activities."}, {"name": "Kapata Yoga (L4 Debil + Moon Afflicted)", "present": false, "strength": null, "detail": "4th lord debilitated with Moon afflicted by malefic aspects.", "description": "4th lord debilitated with Moon afflicted by malefic aspects.", "effects": "Dishonest, deceptive mind. Pretends to be virtuous but acts otherwise. Relationship with mother is complicated. Domestic happiness is marred."}, {"name": "Kapata Yoga (Saturn+Rahu in 4th)", "present": false, "strength": null, "detail": "Saturn and Rahu together in 4th house.", "description": "Saturn and Rahu together in 4th house.", "effects": "Extreme deceptiveness, manipulative personality. Unhappy home environment. Possible criminal tendencies. Mother suffers. Property disputes."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-children-yogas": {
      "post": {
        "operationId": "parashari-yoga-children-yogas",
        "summary": "Parashari Yogas: Children",
        "description": "Checks the chart for the Children yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "children_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 17,
                        "present_count": 1,
                        "yogas": [{"name": "Sarpasapa Yoga (Rahu in 5th)", "present": false, "strength": null, "detail": "Rahu placed in 5th house — curse of serpents affecting progeny.", "description": "Rahu placed in 5th house — curse of serpents affecting progeny.", "effects": "Difficulty in having children. Progeny may come after delay. Children may face health issues. Karmic debt regarding ancestors. Requires remedies."}, {"name": "Sarpasapa Yoga (L5+Rahu + Malefic 5th)", "present": false, "strength": null, "detail": "5th lord conjunct Rahu with malefics in 5th house.", "description": "5th lord conjunct Rahu with malefics in 5th house.", "effects": "Severe obstacle to progeny. Children may die or be estranged. Miscarriages possible. Strong karmic debt. Requires Naga Pooja remedies."}, {"name": "Sarpasapa Yoga (Ketu in 5th)", "present": false, "strength": null, "detail": "Ketu placed in 5th house — past-life karma affecting children.", "description": "Ketu placed in 5th house — past-life karma affecting children.", "effects": "Progeny may be delayed or limited. Children may be spiritual or unconventional. Miscarriages or loss of children possible. Karmic obstacles to progeny."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-fame-fortune-yogas": {
      "post": {
        "operationId": "parashari-yoga-fame-fortune-yogas",
        "summary": "Parashari Yogas: Fame & fortune",
        "description": "Checks the chart for the Fame & fortune yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "fame_fortune_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 11,
                        "present_count": 1,
                        "yogas": [{"name": "Satkirti Yoga (Good Fame)", "present": false, "strength": null, "detail": "Strong Lagna lord with good 9th lord and benefics in 10th house.", "description": "Strong Lagna lord with good 9th lord and benefics in 10th house.", "effects": "Excellent reputation and fame. Praised by society and rulers. Known for virtue and righteousness. Legacy of good deeds. Name and fame endure long after one's time."}, {"name": "Apakirti Yoga (Bad Reputation)", "present": true, "strength": "Challenging", "detail": "L1 (Satn) debil/dusthana: True; malefics in 10th: ['Sun']; L10 (Venu) afflicted: True.", "description": "Lagna lord in bad position with malefics in 10th and afflicted 10th lord.", "effects": "Infamy and bad reputation. Actions bring disgrace. Known for negative qualities. Legal troubles or social ostracism. Must work hard to rebuild reputation. Requires strong remedies."}, {"name": "Bhagya Yoga (Great Fortune)", "present": false, "strength": null, "detail": "9th lord in kendra in own/exaltation with Jupiter in trikona.", "description": "9th lord in kendra in own/exaltation with Jupiter in trikona.", "effects": "Extremely fortunate. Great luck and divine blessings. Wealth, health, and happiness combine. Life is marked by unexpected good fortune. Father's blessings enhance life."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-health-disease-yogas": {
      "post": {
        "operationId": "parashari-yoga-health-disease-yogas",
        "summary": "Parashari Yogas: Health & disease",
        "description": "Checks the chart for the Health & disease yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "health_disease_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 22,
                        "present_count": 1,
                        "yogas": [{"name": "Matibhramana Yoga (Moon+Saturn in Lagna)", "present": false, "strength": null, "detail": "Moon and Saturn together in Lagna — mental confusion yoga.", "description": "Moon and Saturn together in Lagna — mental confusion yoga.", "effects": "Mental confusion, depression, or pessimistic thoughts. Memory problems. Slow thinking. May suffer from chronic mental fatigue or melancholy."}, {"name": "Matibhramana Yoga (Moon+Rahu in 1/5/8)", "present": false, "strength": null, "detail": "Moon and Rahu together in 1st, 5th, or 8th house.", "description": "Moon and Rahu together in 1st, 5th, or 8th house.", "effects": "Mental restlessness, anxiety, or delusional thinking. Fear psychosis. Easily deceived or confused. Rahu clouds the Moon's natural clarity."}, {"name": "Matibhramana Yoga (L1 in 8th + Moon Afflicted)", "present": false, "strength": null, "detail": "Lagna lord in 8th with Moon doubly afflicted by malefics.", "description": "Lagna lord in 8th with Moon doubly afflicted by malefics.", "effects": "Severe mental distress or breakdown. Nervous disorders. Must seek medical treatment. Spiritual practices help greatly."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-parivartana-extended": {
      "post": {
        "operationId": "parashari-yoga-parivartana-extended",
        "summary": "Parashari Yogas: Parivartana (extended)",
        "description": "Checks the chart for the Parivartana (extended) yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "parivartana_extended",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 19,
                        "present_count": 0,
                        "yogas": [{"name": "Maha-Parivartana Yoga (L1-L5 Exchange)", "present": false, "strength": null, "detail": "Mutual sign exchange between 1st and 5th lords (Lagna+Intelligence/Children).", "description": "Mutual sign exchange between 1st and 5th lords (Lagna+Intelligence/Children).", "effects": "Extremely powerful mutual sign exchange between auspicious houses. Both houses are greatly activated. Wealth, fame, intelligence, fortune, and career all prosper. One of the most powerful yogas in Vedic astrology."}, {"name": "Maha-Parivartana Yoga (L1-L9 Exchange)", "present": false, "strength": null, "detail": "Mutual sign exchange between 1st and 9th lords (Lagna+Fortune/Dharma).", "description": "Mutual sign exchange between 1st and 9th lords (Lagna+Fortune/Dharma).", "effects": "Extremely powerful mutual sign exchange between auspicious houses. Both houses are greatly activated. Wealth, fame, intelligence, fortune, and career all prosper. One of the most powerful yogas in Vedic astrology."}, {"name": "Maha-Parivartana Yoga (L4-L9 Exchange)", "present": false, "strength": null, "detail": "Mutual sign exchange between 4th (happiness) and 9th (fortune) lords.", "description": "Mutual sign exchange between 4th (happiness) and 9th (fortune) lords.", "effects": "Extremely powerful mutual sign exchange between auspicious houses. Both houses are greatly activated. Wealth, fame, intelligence, fortune, and career all prosper. One of the most powerful yogas in Vedic astrology."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-daridra-extended": {
      "post": {
        "operationId": "parashari-yoga-daridra-extended",
        "summary": "Parashari Yogas: Daridra (extended)",
        "description": "Checks the chart for the Daridra (extended) yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "daridra_extended",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 11,
                        "present_count": 2,
                        "yogas": [{"name": "Dhana Nashta Yoga", "present": true, "strength": "Challenging", "detail": "L2 (Satn) in H12 (dusthana ✓).", "description": "L2 in 6th/8th/12th (wealth lord in dusthana)", "effects": "Wealth and family lord afflicted — financial losses, debt, family hardship."}, {"name": "Vidya Nashta Yoga", "present": false, "strength": null, "detail": "L5 in 6th/8th/12th (intelligence/luck lord in dusthana)", "description": "L5 in 6th/8th/12th (intelligence/luck lord in dusthana)", "effects": "Intelligence lord afflicted — educational struggles, children problems, poor luck."}, {"name": "Bhagya Nashta Yoga", "present": false, "strength": null, "detail": "L9 in 6th/8th/12th (fortune lord in dusthana)", "description": "L9 in 6th/8th/12th (fortune lord in dusthana)", "effects": "Fortune lord in dusthana — severe misfortune, lack of divine grace, father ill."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-longevity-extended": {
      "post": {
        "operationId": "parashari-yoga-longevity-extended",
        "summary": "Parashari Yogas: Longevity (extended)",
        "description": "Checks the chart for the Longevity (extended) yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "longevity_extended",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 20,
                        "present_count": 3,
                        "yogas": [{"name": "Alpayu Yoga (L1+L8 in Dusthana)", "present": false, "strength": null, "detail": "Both Lagna lord and 8th lord in dusthana houses — short life indicator.", "description": "Both Lagna lord and 8th lord in dusthana houses — short life indicator.", "effects": "Significant life span reduction indicator. Must observe health carefully. Early adversities. Strong remedies and spiritual practice recommended."}, {"name": "Alpayu Yoga (Moon in 8th + Malefics)", "present": false, "strength": null, "detail": "Moon in 8th house with two or more malefics in 1st or 8th.", "description": "Moon in 8th house with two or more malefics in 1st or 8th.", "effects": "Challenges to life span from early years. Health vulnerabilities. Emotional and physical resilience must be cultivated actively."}, {"name": "Alpayu Yoga (Saturn+Mars in Lagna, No Benefic Aspect)", "present": false, "strength": null, "detail": "Saturn and Mars together in Lagna with no benefic aspecting.", "description": "Saturn and Mars together in Lagna with no benefic aspecting.", "effects": "Physical constitution is severely challenged. Accident-prone. Must take preventive measures for health and safety throughout life."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-nabha-extended": {
      "post": {
        "operationId": "parashari-yoga-nabha-extended",
        "summary": "Parashari Yogas: Nabha (extended)",
        "description": "Checks the chart for the Nabha (extended) yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "nabha_extended",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 8,
                        "present_count": 0,
                        "yogas": [{"name": "Simhasana Yoga", "present": false, "strength": null, "detail": "All seven planets occupy the 2nd, 6th, 8th, or 12th houses.", "description": "All seven planets occupy the 2nd, 6th, 8th, or 12th houses.", "effects": "Person sits on a throne or seat of authority. Commands great respect. Holds positions of power. Honoured like a king. Lives a comfortable life."}, {"name": "Dhvaja Yoga", "present": false, "strength": null, "detail": "All malefics in 8th, all benefics in Lagna/Ascendant.", "description": "All malefics in 8th, all benefics in Lagna/Ascendant.", "effects": "Flag-bearer — person becomes famous, achieves distinction. Like a flag raised high, the person's name is spread far and wide. Leads armies or organizations."}, {"name": "Hamsa Nabha Yoga", "present": false, "strength": null, "detail": "All seven planets in 1st, 5th, 7th, or 9th houses.", "description": "All seven planets in 1st, 5th, 7th, or 9th houses.", "effects": "Pure-natured like a swan. Virtuous, religious, and learned. Enjoys pleasures and comforts. Honoured by kings and scholars."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-raj-yoga-extended": {
      "post": {
        "operationId": "parashari-yoga-raj-yoga-extended",
        "summary": "Parashari Yogas: Raja (extended)",
        "description": "Checks the chart for the Raja (extended) yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "raj_yoga_extended",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 16,
                        "present_count": 4,
                        "yogas": [{"name": "Raja Yoga (L1-L5 in Kendra/Trikona)", "present": false, "strength": null, "detail": "Lord of 1st and 5th both in kendra or trikona houses (BPHS ch41).", "description": "Lord of 1st and 5th both in kendra or trikona houses (BPHS ch41).", "effects": "Powerful Raja Yoga. Person rises to eminence in life. Political power, administrative authority, or scholarly distinction. Respected by government."}, {"name": "Raja Yoga (L1-L9 in Kendra/Trikona)", "present": false, "strength": null, "detail": "Lord of 1st and 9th both in kendra or trikona (BPHS ch41).", "description": "Lord of 1st and 9th both in kendra or trikona (BPHS ch41).", "effects": "Dhana and Raja combination. Fortune and power together. High-ranking official, religious leader, or blessed by destiny with rank and honour."}, {"name": "Raja Yoga (L4-L5 in Kendra/Trikona)", "present": true, "strength": "Strong", "detail": "L4=Mars, L5=Venu in kendra/trikona: True.", "description": "Lord of 4th and 5th both in kendra or trikona (BPHS ch41).", "effects": "Happiness, education, and intelligence combine. Gains property and vehicles. Children bring honour. Scholarly and comfortable life."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-dhana-extended": {
      "post": {
        "operationId": "parashari-yoga-dhana-extended",
        "summary": "Parashari Yogas: Dhana (extended)",
        "description": "Checks the chart for the Dhana (extended) yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "dhana_extended",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 17,
                        "present_count": 1,
                        "yogas": [{"name": "BPHS Dhana Yoga (Sun Own in 5th + Jupiter 11th)", "present": false, "strength": null, "detail": "Sun in own sign (Leo) in 5th, Jupiter in 11th (BPHS ch43).", "description": "Sun in own sign (Leo) in 5th, Jupiter in 11th (BPHS ch43).", "effects": "Extraordinary wealth through intelligence, speculation, and authority. Government patronage brings financial gains. Children also benefit."}, {"name": "BPHS Dhana Yoga (Moon Own in 5th + Jupiter 11th)", "present": false, "strength": null, "detail": "Moon in own sign (Cancer) in 5th, Jupiter in 11th (BPHS ch43).", "description": "Moon in own sign (Cancer) in 5th, Jupiter in 11th (BPHS ch43).", "effects": "Wealth through emotional intelligence and public dealings. Real estate and agricultural income. Gains from mother's side of family."}, {"name": "BPHS Dhana Yoga (Jupiter Own in 5th + Sun 11th)", "present": false, "strength": null, "detail": "Jupiter in own sign in 5th, Sun in 11th (BPHS ch43).", "description": "Jupiter in own sign in 5th, Sun in 11th (BPHS ch43).", "effects": "Immense gains through wisdom, education, and counsel. Government income. Savings and investments multiply. Respected teacher who earns well."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-special-classical-v2": {
      "post": {
        "operationId": "parashari-yoga-special-classical-v2",
        "summary": "Parashari Yogas: Special classical",
        "description": "Checks the chart for the Special classical yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "special_classical_v2",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 18,
                        "present_count": 0,
                        "yogas": [{"name": "Gauri Yoga", "present": false, "strength": null, "detail": "Moon in 7th, Venus in 4th, Jupiter in Lagna.", "description": "Moon in 7th, Venus in 4th, Jupiter in Lagna.", "effects": "Named after Goddess Gauri (Parvati). Person is beautiful, devoted, wealthy, and of noble character. Gains from women. Spiritual and domestic happiness."}, {"name": "Madana Gopala Yoga V1 (Moon+Venus 7th + Jupiter Aspect)", "present": false, "strength": null, "detail": "Moon and Venus conjunct in 7th, Jupiter aspecting them.", "description": "Moon and Venus conjunct in 7th, Jupiter aspecting them.", "effects": "Named after Krishna (Madana Gopala — lord of love). Extremely charming person. Amorous nature, highly attractive, artistic, and beloved by all."}, {"name": "Madana Gopala Yoga V2", "present": false, "strength": null, "detail": "Venus in Lagna, Moon in 7th, Jupiter in 5th.", "description": "Venus in Lagna, Moon in 7th, Jupiter in 5th.", "effects": "Blessed in love and relationships. Creative genius. Children bring joy. Life filled with aesthetic pleasures and romantic fulfilment."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-physical-speech-yogas": {
      "post": {
        "operationId": "parashari-yoga-physical-speech-yogas",
        "summary": "Parashari Yogas: Physical & speech",
        "description": "Checks the chart for the Physical & speech yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "physical_speech_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 20,
                        "present_count": 0,
                        "yogas": [{"name": "Dehapushti Yoga (Physical Prosperity)", "present": false, "strength": null, "detail": "Lagna lord in dignity + Moon in dignity.", "description": "Lagna lord in dignity + Moon in dignity.", "effects": "Robust physique, excellent health, and physical stamina. Attractive appearance. Long-lived with good immunity. Exercises and maintains body well."}, {"name": "Dehakashta Yoga (Physical Difficulties)", "present": false, "strength": null, "detail": "Lagna lord in dusthana + Saturn in Lagna.", "description": "Lagna lord in dusthana + Saturn in Lagna.", "effects": "Physical hardships and health challenges throughout life. Body requires careful attention. Chronic ailments possible. May have unusual physical features."}, {"name": "Rogagrastha Yoga V1 (Disease-Prone)", "present": false, "strength": null, "detail": "6th lord in Lagna and Lagna lord in 6th (mutual exchange).", "description": "6th lord in Lagna and Lagna lord in 6th (mutual exchange).", "effects": "Disease is a dominant theme. Person constantly battles health issues. Medical care is frequently needed. Digestive and systemic disorders common."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-sibling-yogas": {
      "post": {
        "operationId": "parashari-yoga-sibling-yogas",
        "summary": "Parashari Yogas: Siblings",
        "description": "Checks the chart for the Siblings yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "sibling_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 10,
                        "present_count": 1,
                        "yogas": [{"name": "Bhratruvriddhi Yoga (Sibling Prosperity)", "present": false, "strength": null, "detail": "3rd lord well-placed + benefic in 3rd house.", "description": "3rd lord well-placed + benefic in 3rd house.", "effects": "Siblings prosper and bring happiness. Brothers and sisters are successful in life. Person benefits through sibling connections. Sibling relationships are harmonious."}, {"name": "Sodaranasa Yoga V1 (L3 in 12th)", "present": false, "strength": null, "detail": "3rd lord in 12th house.", "description": "3rd lord in 12th house.", "effects": "Loss, separation, or estrangement from siblings. Siblings may live far away. Sibling relationships bring grief or financial loss."}, {"name": "Sodaranasa Yoga V2 (L3 Debilitated)", "present": false, "strength": null, "detail": "3rd lord in debilitation sign.", "description": "3rd lord in debilitation sign.", "effects": "Serious weakness in sibling affairs. Siblings may suffer greatly. Person loses support from brothers/sisters. Conflicts with siblings."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-fourth-house-extended": {
      "post": {
        "operationId": "parashari-yoga-fourth-house-extended",
        "summary": "Parashari Yogas: Fourth house (extended)",
        "description": "Checks the chart for the Fourth house (extended) yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "fourth_house_extended",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 12,
                        "present_count": 0,
                        "yogas": [{"name": "Uttama Griha Yoga (Excellent Home)", "present": false, "strength": null, "detail": "4th lord exalted + Venus in 4th house.", "description": "4th lord exalted + Venus in 4th house.", "effects": "Person lives in a beautiful, luxurious home. Residence is grand and comfortable. May live in a palace-like dwelling or prestigious address."}, {"name": "Vichitra Saudha Yoga (Beautiful Mansion)", "present": false, "strength": null, "detail": "Venus and Moon conjunct in 4th house.", "description": "Venus and Moon conjunct in 4th house.", "effects": "Lives in a wonderfully decorated, aesthetically beautiful home. Artistic interior, beautiful garden, and serene environment. Home is a place of beauty and artistic expression."}, {"name": "Ayatna Griha Prapta Yoga V1 (Home Without Effort)", "present": false, "strength": null, "detail": "Jupiter in 4th, 4th lord in trikona.", "description": "Jupiter in 4th, 4th lord in trikona.", "effects": "Property and home come effortlessly. Inheritance of property. Government housing or gifted property. Residence acquired through fortune rather than hard work."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-yogaristha-yogas": {
      "post": {
        "operationId": "parashari-yoga-yogaristha-yogas",
        "summary": "Parashari Yogas: Yogarishta",
        "description": "Checks the chart for the Yogarishta yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "yogaristha_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 10,
                        "present_count": 1,
                        "yogas": [{"name": "Yogaja Ayu 1 (Infantile Risk, Age 2)", "present": false, "strength": null, "detail": "Moon in 1st, Saturn in 7th — classical early-life vulnerability indicator.", "description": "Moon in 1st, Saturn in 7th — classical early-life vulnerability indicator.", "effects": "Classical indicator of early life vulnerability (around age 2). Modern interpretation: significant health challenges in early childhood requiring careful attention."}, {"name": "Yogaja Ayu 2 (Early Childhood Risk, Age 4)", "present": true, "strength": "Challenging", "detail": "Rahu in Lagna: True; Mars in 5th: True.", "description": "Rahu in 1st, Mars in 5th — early childhood danger indicator.", "effects": "Classical indicator of danger in early childhood (around age 4). Needs protective measures in early years. Mars-Rahu combination creates Angarak-type challenges."}, {"name": "Yogaja Ayu 3 (Childhood Risk, Age 6)", "present": false, "strength": null, "detail": "Lagna lord in 8th house, afflicted by malefics.", "description": "Lagna lord in 8th house, afflicted by malefics.", "effects": "Classical indicator of childhood health crisis (around age 6). Lagna lord in 8th weakens vitality significantly; affliction by malefic compounds the effect."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-sambu-hora-yogas": {
      "post": {
        "operationId": "parashari-yoga-sambu-hora-yogas",
        "summary": "Parashari Yogas: Sambhu Hora",
        "description": "Checks the chart for the Sambhu Hora yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "sambu_hora_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 30,
                        "present_count": 2,
                        "yogas": [{"name": "Svaviryadhana Yoga (Self-Made Wealth)", "present": false, "strength": null, "detail": "Lagna lord strong in own/exaltation, 2nd or 11th lord in kendra/trikona.", "description": "Lagna lord strong in own/exaltation, 2nd or 11th lord in kendra/trikona.", "effects": "Person accumulates wealth through own efforts and capabilities. Self-reliant, entrepreneurial nature. Success through personal talent and industry."}, {"name": "Dharidra Yoga (Sambu Hora) (Chronic Poverty)", "present": true, "strength": "Challenging", "detail": "L1 (Satn) in dusthana: True; L2 in dusthana: True.", "description": "Both Lagna lord and 2nd lord in dusthanas (6th/8th/12th).", "effects": "Persistent financial difficulties. Wealth is elusive despite efforts. May face debt, loss of property, or inability to accumulate savings."}, {"name": "Raja Yoga (Sambu Hora) (Authority & Honour)", "present": false, "strength": null, "detail": "Moon in trikona (1/5/9), 9th or 10th lord in kendra.", "description": "Moon in trikona (1/5/9), 9th or 10th lord in kendra.", "effects": "Rise to authority, recognition, and honour. Favoured by superiors. Career advancement through meritorious deeds and good fortune."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-eye-ear-speech-yogas": {
      "post": {
        "operationId": "parashari-yoga-eye-ear-speech-yogas",
        "summary": "Parashari Yogas: Eye, ear & speech",
        "description": "Checks the chart for the Eye, ear & speech yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "eye_ear_speech_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 22,
                        "present_count": 1,
                        "yogas": [{"name": "Mukabadhiram Yoga 1 (Eye Affliction V1)", "present": false, "strength": null, "detail": "Sun and Mars conjunct in 2nd house — eye inflammation/injury risk.", "description": "Sun and Mars conjunct in 2nd house — eye inflammation/injury risk.", "effects": "Classical indicator of eye sensitivity, inflammation, or injury risk. 2nd house governs the right eye. Sun-Mars pitta combination can cause eye disorders."}, {"name": "Mukabadhiram Yoga 2 (Eye Affliction V2)", "present": false, "strength": null, "detail": "Sun and Mars conjunct in 12th — left eye weakness.", "description": "Sun and Mars conjunct in 12th — left eye weakness.", "effects": "12th house governs the left eye. Sun-Mars in 12th indicates left eye disorders, vision loss, or injury to the left eye."}, {"name": "Mukabadhiram Yoga 3 (Eye/Vision Disorder V3)", "present": false, "strength": null, "detail": "Moon debilitated, Rahu in 2nd — shadowy vision or eye disease.", "description": "Moon debilitated, Rahu in 2nd — shadowy vision or eye disease.", "effects": "Rahu in 2nd house with debilitated Moon indicates unusual eye conditions, Rahu-related shadow in vision, or eye diseases of an unusual nature."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-knowledge-skill-yogas": {
      "post": {
        "operationId": "parashari-yoga-knowledge-skill-yogas",
        "summary": "Parashari Yogas: Knowledge & skill",
        "description": "Checks the chart for the Knowledge & skill yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "knowledge_skill_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 20,
                        "present_count": 4,
                        "yogas": [{"name": "Sarasvati Yoga (Supreme Knowledge & Arts)", "present": true, "strength": "Strong", "detail": "Jupiter in good house: True; Venus in good house: True; Mercury in good house: True.", "description": "Jupiter, Venus, Mercury all in kendra, trikona, or 2nd house.", "effects": "Bestows exceptional learning, eloquence, artistic talent, and wisdom. Person excels in arts, sciences, and literature. Recognised for intellectual brilliance. One of the most auspicious knowledge yogas."}, {"name": "Vidya Yoga 1 (Knowledge & Learning V1)", "present": false, "strength": null, "detail": "Jupiter in 2nd or 5th, Mercury in kendra/trikona/own/exaltation.", "description": "Jupiter in 2nd or 5th, Mercury in kendra/trikona/own/exaltation.", "effects": "High academic aptitude and love of learning. Jupiter provides philosophical depth; Mercury provides analytical intelligence. Excels in formal education."}, {"name": "Vidya Yoga 2 (Knowledge & Learning V2)", "present": false, "strength": null, "detail": "5th lord conjunct Jupiter in kendra or trikona.", "description": "5th lord conjunct Jupiter in kendra or trikona.", "effects": "Outstanding intellectual gifts. 5th lord with Jupiter in auspicious position creates natural scholars, teachers, and wisdom keepers."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-two-planet-conjunctions": {
      "post": {
        "operationId": "parashari-yoga-two-planet-conjunctions",
        "summary": "Parashari Yogas: Two-planet conjunctions",
        "description": "Checks the chart for the Two-planet conjunctions yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": "null"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "two_planet_conjunctions",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 21,
                        "present_count": 3,
                        "yogas": [{"name": "Surya-Chandra Yoga", "present": false, "strength": null, "detail": "Sun and Moon in the same house — Surya-Chandra Yoga.", "description": "Sun and Moon in the same house — Surya-Chandra Yoga.", "effects": "Royal mind; emotions lit by solar authority. Native is assertive yet emotionally sensitive. Leadership with intuitive insight. Success in public roles, government, or positions of authority."}, {"name": "Surya-Mangala Yoga", "present": false, "strength": null, "detail": "Sun and Mars in the same house — Surya-Mangala Yoga.", "description": "Sun and Mars in the same house — Surya-Mangala Yoga.", "effects": "Solar-martial energy: courage, ambition, hot temper. Strong executive ability; may be aggressive or domineering. Excels in military, athletics, surgery, or engineering."}, {"name": "Surya-Budha Yoga (Budhaditya)", "present": false, "strength": null, "detail": "Sun and Merc in the same house — Surya-Budha Yoga (Budhaditya).", "description": "Sun and Merc in the same house — Surya-Budha Yoga (Budhaditya).", "effects": "Intelligence illuminated by solar authority. Sharp intellect, excellent communication, administrative ability. Success in writing, teaching, government service, or business."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/doshas-yogas/parashari-yoga-raja-sambandha-yogas": {
      "post": {
        "operationId": "parashari-yoga-raja-sambandha-yogas",
        "summary": "Parashari Yogas: Raja sambandha",
        "description": "Checks the chart for the Raja sambandha yoga group and returns each yoga with whether it is present and why.",
        "tags": [
          "doshas-yogas"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YogaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "group": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "lagna": {"type": "string"},
                        "checked": {"type": "integer"},
                        "present_count": {"type": "integer"},
                        "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "strength": {"type": ["string", "null"]}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}}, "required": ["name", "present", "strength", "detail", "description", "effects"]}}
                      },
                      "required": [
                        "group",
                        "ayanamsha",
                        "lagna",
                        "checked",
                        "present_count",
                        "yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "group": "raja_sambandha_yogas",
                        "ayanamsha": {"id": "lahiri"},
                        "lagna": "Capricorn",
                        "checked": 10,
                        "present_count": 3,
                        "yogas": [{"name": "Raja Sambandha Yoga 1 (Royal Connection V1)", "present": false, "strength": null, "detail": "Lagna lord and 10th lord both in kendras (BPHS 42/1).", "description": "Lagna lord and 10th lord both in kendras (BPHS 42/1).", "effects": "Association with royalty, government, or powerful people. Person gains through connections with the powerful and influential. Career advancement through high-level connections."}, {"name": "Raja Sambandha Yoga 2 (Royal Connection V2)", "present": true, "strength": "Strong", "detail": "L9 (Merc) and L10 (Venu) conjunct: True.", "description": "9th and 10th lords conjunct — dharmic royal connections (BPHS 42/2).", "effects": "Person's fortune and career are deeply intertwined with powerful patrons. Success through government, nobility, or high-status associations. 9th-10th lord conjunction is also a powerful Raja Yoga in itself."}, {"name": "Raja Sambandha Yoga 3 (Royal Connection V3)", "present": true, "strength": "Strong", "detail": "Sun in kendra/trikona: True; Jupiter in kendra/trikona: True.", "description": "Sun and Jupiter both in kendra or trikona — royal honour and authority (BPHS 42/3).", "effects": "High honour, authority, and respect from powerful quarters. Sun and Jupiter in good positions gives royal favour and government recognition. Person moves in elite social circles."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/sign-horoscope-daily": {
      "post": {
        "operationId": "sign-horoscope-daily",
        "summary": "Moon-Sign Horoscope: Daily",
        "description": "Daily transit-based forecast for each of the twelve Moon signs: a summary, highlights, score, ratings, lucky number and colour, and a remedy.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SignHoroscopeInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "sign": "virgo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "string"},
                        "basis": {"type": "string"},
                        "moon_sign_on_date": {"type": "string"},
                        "signs": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "summary": {"type": "string"}, "highlights": {"type": "string"}, "score": {"type": "number"}, "ratings": {"type": "object", "properties": {"health": {"type": "integer"}, "finance": {"type": "integer"}, "career": {"type": "integer"}, "family": {"type": "integer"}, "love": {"type": "integer"}, "married_life": {"type": "integer"}}, "required": ["health", "finance", "career", "family", "love", "married_life"]}, "lucky_number": {"type": "integer"}, "lucky_color": {"type": "string"}, "remedy": {"type": "string"}}, "required": ["sign", "start", "end", "summary", "highlights", "score", "ratings", "lucky_number", "lucky_color", "remedy"]}}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "basis",
                        "moon_sign_on_date",
                        "signs"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": "lahiri",
                        "basis": "moon_sign",
                        "moon_sign_on_date": "Libra",
                        "signs": [{"sign": "Virgo", "start": "2026-10-13", "end": "2026-10-13", "summary": "Today, Virgo natives may notice that attention naturally shifts toward cash flow, savings, and practical financial choices. The transit picture is being shaped by Mercury's tone along with the movement of the faster planets, so outcomes depend heavily on timing, restraint, and practical judgment.\n\nSun in your 1st house supports self-confidence and vitality. Moon moving through the 2nd house can improve finances and speech. Mars's transit in the 11th house helps with gains, networks, and fulfillment. Saturn in the 7th house asks for care around partnerships and agreements. Sun appears to be the strongest support right now, helping matters connected with self-confidence and vitality. At the same time, Moon gives an additional push through finances and speech, which can help you recover momentum in delayed matters. The more sensitive area comes from Saturn, so situations involving partnerships and agreements may require more patience than usual.\n\nIn practical terms, the strongest visible results are likely in cash flow, savings, and practical financial choices, while the more delicate side of the period touches energy, resilience, and physical balance. budget carefully, prefer planned decisions, and avoid emotional or impulsive spending.\n\nFor the best use of the day, keep decisions simple, preserve your energy, and avoid reacting too strongly to temporary fluctuations. A steady pace will bring better results than emotional urgency.", "highlights": "Sun in your 1st house supports self-confidence and vitality. Moon moving through the 2nd house can improve finances and speech.", "score": 1.56, "ratings": {"health": 3, "finance": 5, "career": 5, "family": 4, "love": 3, "married_life": 4}, "lucky_number": 6, "lucky_color": "Olive", "remedy": "Keep your routine calm and intentional, and offer focused effort in matters of partnerships and agreements. Reduce haste, preserve emotional steadiness, and keep practical discipline where this house is asking for maturity."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/sign-horoscope-weekly": {
      "post": {
        "operationId": "sign-horoscope-weekly",
        "summary": "Moon-Sign Horoscope: This week",
        "description": "This week transit-based forecast for each of the twelve Moon signs: a summary, highlights, score, ratings, lucky number and colour, and a remedy.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SignHoroscopeInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "sign": "virgo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "string"},
                        "basis": {"type": "string"},
                        "moon_sign_on_date": {"type": "string"},
                        "signs": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "summary": {"type": "string"}, "highlights": {"type": "string"}, "score": {"type": "number"}, "ratings": {"type": "object", "properties": {"health": {"type": "integer"}, "finance": {"type": "integer"}, "career": {"type": "integer"}, "family": {"type": "integer"}, "love": {"type": "integer"}, "married_life": {"type": "integer"}}, "required": ["health", "finance", "career", "family", "love", "married_life"]}, "lucky_number": {"type": "integer"}, "lucky_color": {"type": "string"}, "remedy": {"type": "string"}}, "required": ["sign", "start", "end", "summary", "highlights", "score", "ratings", "lucky_number", "lucky_color", "remedy"]}}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "basis",
                        "moon_sign_on_date",
                        "signs"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": "lahiri",
                        "basis": "moon_sign",
                        "moon_sign_on_date": "Libra",
                        "signs": [{"sign": "Virgo", "start": "2026-10-12", "end": "2026-10-18", "summary": "This week, Virgo natives may notice that attention naturally shifts toward cash flow, savings, and practical financial choices. The transit picture is being shaped by Mercury's tone along with the movement of the faster planets, so outcomes depend heavily on timing, restraint, and practical judgment.\n\nMars in your 11th house supports gains, networks, and fulfillment. Mercury moving through the 2nd house can improve finances and speech. Jupiter's transit in the 11th house helps with gains, networks, and fulfillment. Saturn in the 7th house asks for care around partnerships and agreements. Mars appears to be the strongest support right now, helping matters connected with gains, networks, and fulfillment. At the same time, Mercury gives an additional push through finances and speech, which can help you recover momentum in delayed matters. The more sensitive area comes from Saturn, so situations involving partnerships and agreements may require more patience than usual.\n\nIn practical terms, the strongest visible results are likely in cash flow, savings, and practical financial choices, while the more delicate side of the period touches energy, resilience, and physical balance. budget carefully, prefer planned decisions, and avoid emotional or impulsive spending.\n\nAcross the week, consistency will matter more than speed. If you stay organized, respect your limits, and work with the stronger transits instead of forcing weak areas, the week can produce stable gains.", "highlights": "Mars in your 11th house supports gains, networks, and fulfillment. Mercury moving through the 2nd house can improve finances and speech.", "score": 1.44, "ratings": {"health": 3, "finance": 5, "career": 5, "family": 4, "love": 3, "married_life": 4}, "lucky_number": 5, "lucky_color": "Olive", "remedy": "Keep your routine calm and intentional, and offer focused effort in matters of partnerships and agreements. Reduce haste, preserve emotional steadiness, and keep practical discipline where this house is asking for maturity."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/sign-horoscope-next-week": {
      "post": {
        "operationId": "sign-horoscope-next-week",
        "summary": "Moon-Sign Horoscope: Next week",
        "description": "Next week transit-based forecast for each of the twelve Moon signs: a summary, highlights, score, ratings, lucky number and colour, and a remedy.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SignHoroscopeInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "sign": "virgo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "string"},
                        "basis": {"type": "string"},
                        "moon_sign_on_date": {"type": "string"},
                        "signs": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "summary": {"type": "string"}, "highlights": {"type": "string"}, "score": {"type": "number"}, "ratings": {"type": "object", "properties": {"health": {"type": "integer"}, "finance": {"type": "integer"}, "career": {"type": "integer"}, "family": {"type": "integer"}, "love": {"type": "integer"}, "married_life": {"type": "integer"}}, "required": ["health", "finance", "career", "family", "love", "married_life"]}, "lucky_number": {"type": "integer"}, "lucky_color": {"type": "string"}, "remedy": {"type": "string"}}, "required": ["sign", "start", "end", "summary", "highlights", "score", "ratings", "lucky_number", "lucky_color", "remedy"]}}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "basis",
                        "moon_sign_on_date",
                        "signs"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": "lahiri",
                        "basis": "moon_sign",
                        "moon_sign_on_date": "Libra",
                        "signs": [{"sign": "Virgo", "start": "2026-10-19", "end": "2026-10-25", "summary": "Next week, Virgo natives may notice that attention naturally shifts toward cash flow, savings, and practical financial choices. The transit picture is being shaped by Mercury's tone along with the movement of the faster planets, so outcomes depend heavily on timing, restraint, and practical judgment.\n\nMars in your 11th house supports gains, networks, and fulfillment. Mercury moving through the 2nd house can improve finances and speech. Jupiter's transit in the 11th house helps with gains, networks, and fulfillment. Saturn in the 7th house asks for care around partnerships and agreements. Mars appears to be the strongest support right now, helping matters connected with gains, networks, and fulfillment. At the same time, Mercury gives an additional push through finances and speech, which can help you recover momentum in delayed matters. The more sensitive area comes from Saturn, so situations involving partnerships and agreements may require more patience than usual.\n\nIn practical terms, the strongest visible results are likely in cash flow, savings, and practical financial choices, while the more delicate side of the period touches energy, resilience, and physical balance. budget carefully, prefer planned decisions, and avoid emotional or impulsive spending.\n\nAcross the week, consistency will matter more than speed. If you stay organized, respect your limits, and work with the stronger transits instead of forcing weak areas, the week can produce stable gains.", "highlights": "Mars in your 11th house supports gains, networks, and fulfillment. Mercury moving through the 2nd house can improve finances and speech.", "score": 1.24, "ratings": {"health": 2, "finance": 5, "career": 5, "family": 4, "love": 3, "married_life": 4}, "lucky_number": 3, "lucky_color": "Olive", "remedy": "Keep your routine calm and intentional, and offer focused effort in matters of partnerships and agreements. Reduce haste, preserve emotional steadiness, and keep practical discipline where this house is asking for maturity."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/sign-horoscope-monthly": {
      "post": {
        "operationId": "sign-horoscope-monthly",
        "summary": "Moon-Sign Horoscope: Monthly",
        "description": "Monthly transit-based forecast for each of the twelve Moon signs: the period's dates, ratings and themed reading sections.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SignHoroscopeInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "sign": "virgo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "string"},
                        "basis": {"type": "string"},
                        "moon_sign_on_date": {"type": "string"},
                        "signs": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "ratings": {"type": "object", "properties": {"health": {"type": "integer"}, "finance": {"type": "integer"}, "career": {"type": "integer"}, "family": {"type": "integer"}, "love": {"type": "integer"}, "married_life": {"type": "integer"}}, "required": ["health", "finance", "career", "family", "love", "married_life"]}, "sections": {"type": "object", "properties": {"general": {"type": "string"}, "career": {"type": "string"}, "finance": {"type": "string"}, "health": {"type": "string"}, "love": {"type": "string"}, "family": {"type": "string"}, "advice": {"type": "string"}}, "required": ["general", "career", "finance", "health", "love", "family", "advice"]}}, "required": ["sign", "start", "end", "ratings", "sections"]}}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "basis",
                        "moon_sign_on_date",
                        "signs"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": "lahiri",
                        "basis": "moon_sign",
                        "moon_sign_on_date": "Libra",
                        "signs": [{"sign": "Virgo", "start": "2026-10-01", "end": "2026-10-31", "ratings": {"health": 2, "finance": 5, "career": 5, "family": 4, "love": 3, "married_life": 4}, "sections": {"general": "This period looks sensitive for overall momentum.\n\nMoon strengthens your career direction and recognition through the 10th house.\n\nThere is also help from Mars, which improves matters related to gains, networks, and fulfillment and gives some additional stability.\n\nAt the same time, Saturn can bring caution around partnerships and agreements from the 7th house.\n\nThis is not a period to drift without direction. Balanced judgment and timely action will help you use the stronger trends well while keeping the weaker areas under control.\n\nProgress is likely when you stay attentive to timing, avoid excess, and let stronger supports build gradually rather than expecting instant clarity.", "career": "This period looks very supportive for career progress.\n\nMoon strengthens your career direction and recognition through the 10th house.\n\nThere is also help from Mars, which improves matters related to gains, networks, and fulfillment and gives some additional stability.\n\nAt the same time, Saturn can bring caution around partnerships and agreements from the 7th house.\n\nProfessionally, this period can reward persistent effort, especially where responsibility, communication, and timing matter. At the same time, a weak transit can create delay, friction with authority, or dissatisfaction if work is rushed or poorly coordinated.\n\nMeasured communication and finishing pending tasks on time will improve outcomes. If you stay organized and avoid ego clashes, the constructive side of the transit will become much easier to use.", "finance": "This period looks very supportive for money matters.\n\nMoon strengthens your career direction and recognition through the 10th house.\n\nThere is also help from Mars, which improves matters related to gains, networks, and fulfillment and gives some additional stability.\n\nAt the same time, Saturn can bring caution around partnerships and agreements from the 7th house.\n\nFrom a financial point of view, this is a time to respect structure. Strong houses can help income, collections, or support from networks, but weaker houses may increase expenses, obligations, or unplanned outflow if you become careless.\n\nPlan spending carefully and favor deliberate, well-timed decisions over impulsive commitments. Conservative judgment will usually protect you better than trying to force quick gains.", "health": "This period looks sensitive for health and stamina.\n\nMoon strengthens your career direction and recognition through the 10th house.\n\nThere is also help from Mars, which improves matters related to gains, networks, and fulfillment and gives some additional stability.\n\nAt the same time, Saturn can bring caution around partnerships and agreements from the 7th house.\n\nYour health trend depends more on rhythm and discipline than on sudden remedies. When supportive houses are active, recovery and resilience improve, but weaker placements can show fatigue, irregular routine, stress buildup, or neglect.\n\nRoutine, rest, hydration, and consistent discipline will do more for results than quick fixes. It is wiser to prevent imbalance early rather than wait until the body demands stronger correction.", "love": "This period looks mixed for love and personal relations.\n\nMoon strengthens your career direction and recognition through the 10th house.\n\nThere is also help from Mars, which improves matters related to gains, networks, and fulfillment and gives some additional stability.\n\nAt the same time, Saturn can bring caution around partnerships and agreements from the 7th house.\n\nIn personal relationships, much depends on emotional maturity and the ability to respond rather than react. Supportive houses can improve affection, understanding, and meaningful conversation, while pressured houses may create distance, overthinking, or avoidable misunderstanding.\n\nPatience, listening, and emotional clarity will help relationships move in the right direction. Gentle communication will give better results than emotional insistence.", "family": "This period looks supportive for family and domestic matters.\n\nMoon strengthens your career direction and recognition through the 10th house.\n\nThere is also help from Mars, which improves matters related to gains, networks, and fulfillment and gives some additional stability.\n\nAt the same time, Saturn can bring caution around partnerships and agreements from the 7th house.\n\nDomestic life may reflect both the supportive and sensitive transits at the same time. There can be warmth, helpfulness, and cooperation on one side, while the weaker houses may bring emotional heaviness, household pressure, or disagreements over responsibilities.\n\nSmall acts of support and calmer speech can stabilize the domestic atmosphere. The more practical and reassuring you are, the better the overall harmony will remain.", "advice": "Work with the strengths of Mercury through clear routines and grounded decisions.\n\nUse your natural earth element qualities in a disciplined way.\n\nPrioritize actions related to career direction and recognition while the transit support is active.\n\nStay patient in matters connected to partnerships and agreements and avoid overreaction.\n\nSimple, regular effort will be more useful than dramatic action or scattered enthusiasm."}}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/sign-horoscope-yearly": {
      "post": {
        "operationId": "sign-horoscope-yearly",
        "summary": "Moon-Sign Horoscope: Yearly",
        "description": "Yearly transit-based forecast for each of the twelve Moon signs: the period's dates, ratings and themed reading sections.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SignHoroscopeInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "2026-10-13",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "sign": "virgo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "utc_offset": {"type": "string"}}, "required": ["latitude", "longitude", "utc_offset"]},
                        "ayanamsha": {"type": "string"},
                        "basis": {"type": "string"},
                        "moon_sign_on_date": {"type": "string"},
                        "signs": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "ratings": {"type": "object", "properties": {"health": {"type": "integer"}, "finance": {"type": "integer"}, "career": {"type": "integer"}, "family": {"type": "integer"}, "love": {"type": "integer"}, "married_life": {"type": "integer"}}, "required": ["health", "finance", "career", "family", "love", "married_life"]}, "sections": {"type": "object", "properties": {"general": {"type": "string"}, "career": {"type": "string"}, "finance": {"type": "string"}, "health": {"type": "string"}, "love": {"type": "string"}, "family": {"type": "string"}, "advice": {"type": "string"}}, "required": ["general", "career", "finance", "health", "love", "family", "advice"]}}, "required": ["sign", "start", "end", "ratings", "sections"]}}
                      },
                      "required": [
                        "date",
                        "location",
                        "ayanamsha",
                        "basis",
                        "moon_sign_on_date",
                        "signs"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "2026-10-13",
                        "location": {"latitude": 28.6139, "longitude": 77.209, "utc_offset": "+05:30"},
                        "ayanamsha": "lahiri",
                        "basis": "moon_sign",
                        "moon_sign_on_date": "Libra",
                        "signs": [{"sign": "Virgo", "start": "2026-01-01", "end": "2026-12-31", "ratings": {"health": 2, "finance": 3, "career": 4, "family": 4, "love": 3, "married_life": 3}, "sections": {"general": "This period looks sensitive for overall momentum.\n\nMoon strengthens your self-confidence and vitality through the 1st house.\n\nThere is also help from Mercury, which improves matters related to home life and emotional comfort and gives some additional stability.\n\nAt the same time, Mars can bring caution around expenses, rest, and withdrawal from the 12th house.\n\nA secondary source of pressure may come through Saturn, so situations involving partnerships and agreements should be handled more deliberately.\n\nThis is not a period to drift without direction. Balanced judgment and timely action will help you use the stronger trends well while keeping the weaker areas under control.\n\nProgress is likely when you stay attentive to timing, avoid excess, and let stronger supports build gradually rather than expecting instant clarity.", "career": "This period looks supportive for career progress.\n\nMoon strengthens your self-confidence and vitality through the 1st house.\n\nThere is also help from Mercury, which improves matters related to home life and emotional comfort and gives some additional stability.\n\nAt the same time, Mars can bring caution around expenses, rest, and withdrawal from the 12th house.\n\nA secondary source of pressure may come through Saturn, so situations involving partnerships and agreements should be handled more deliberately.\n\nProfessionally, this period can reward persistent effort, especially where responsibility, communication, and timing matter. At the same time, a weak transit can create delay, friction with authority, or dissatisfaction if work is rushed or poorly coordinated.\n\nMeasured communication and finishing pending tasks on time will improve outcomes. If you stay organized and avoid ego clashes, the constructive side of the transit will become much easier to use.", "finance": "This period looks mixed for money matters.\n\nMoon strengthens your self-confidence and vitality through the 1st house.\n\nThere is also help from Mercury, which improves matters related to home life and emotional comfort and gives some additional stability.\n\nAt the same time, Mars can bring caution around expenses, rest, and withdrawal from the 12th house.\n\nA secondary source of pressure may come through Saturn, so situations involving partnerships and agreements should be handled more deliberately.\n\nFrom a financial point of view, this is a time to respect structure. Strong houses can help income, collections, or support from networks, but weaker houses may increase expenses, obligations, or unplanned outflow if you become careless.\n\nPlan spending carefully and favor deliberate, well-timed decisions over impulsive commitments. Conservative judgment will usually protect you better than trying to force quick gains.", "health": "This period looks sensitive for health and stamina.\n\nMoon strengthens your self-confidence and vitality through the 1st house.\n\nThere is also help from Mercury, which improves matters related to home life and emotional comfort and gives some additional stability.\n\nAt the same time, Mars can bring caution around expenses, rest, and withdrawal from the 12th house.\n\nA secondary source of pressure may come through Saturn, so situations involving partnerships and agreements should be handled more deliberately.\n\nYour health trend depends more on rhythm and discipline than on sudden remedies. When supportive houses are active, recovery and resilience improve, but weaker placements can show fatigue, irregular routine, stress buildup, or neglect.\n\nRoutine, rest, hydration, and consistent discipline will do more for results than quick fixes. It is wiser to prevent imbalance early rather than wait until the body demands stronger correction.", "love": "This period looks mixed for love and personal relations.\n\nMoon strengthens your self-confidence and vitality through the 1st house.\n\nThere is also help from Mercury, which improves matters related to home life and emotional comfort and gives some additional stability.\n\nAt the same time, Mars can bring caution around expenses, rest, and withdrawal from the 12th house.\n\nA secondary source of pressure may come through Saturn, so situations involving partnerships and agreements should be handled more deliberately.\n\nIn personal relationships, much depends on emotional maturity and the ability to respond rather than react. Supportive houses can improve affection, understanding, and meaningful conversation, while pressured houses may create distance, overthinking, or avoidable misunderstanding.\n\nPatience, listening, and emotional clarity will help relationships move in the right direction. Gentle communication will give better results than emotional insistence.", "family": "This period looks supportive for family and domestic matters.\n\nMoon strengthens your self-confidence and vitality through the 1st house.\n\nThere is also help from Mercury, which improves matters related to home life and emotional comfort and gives some additional stability.\n\nAt the same time, Mars can bring caution around expenses, rest, and withdrawal from the 12th house.\n\nA secondary source of pressure may come through Saturn, so situations involving partnerships and agreements should be handled more deliberately.\n\nDomestic life may reflect both the supportive and sensitive transits at the same time. There can be warmth, helpfulness, and cooperation on one side, while the weaker houses may bring emotional heaviness, household pressure, or disagreements over responsibilities.\n\nSmall acts of support and calmer speech can stabilize the domestic atmosphere. The more practical and reassuring you are, the better the overall harmony will remain.", "advice": "Work with the strengths of Mercury through clear routines and grounded decisions.\n\nUse your natural earth element qualities in a disciplined way.\n\nPrioritize actions related to self-confidence and vitality while the transit support is active.\n\nStay patient in matters connected to expenses, rest, and withdrawal and avoid overreaction.\n\nSimple, regular effort will be more useful than dramatic action or scattered enthusiasm."}}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/sign-profile": {
      "post": {
        "operationId": "sign-profile",
        "summary": "Zodiac Sign Profiles",
        "description": "Reference profile of each of the twelve signs: symbol, element, modality, ruling planet, natural house, mantra, body part, colours, birthstones and tropical Sun dates.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SignProfileInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "sign": "aries"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "signs": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "symbol": {"type": "string"}, "element": {"type": "string"}, "modality": {"type": "string"}, "ruling_planet": {"type": "string"}, "natural_house": {"type": "integer"}, "mantra": {"type": "string"}, "body_part": {"type": "string"}, "colors": {"type": "string"}, "birthstone": {"type": "string"}, "alternate_birthstones": {"type": "string"}, "tropical_sun_dates": {"type": "string"}}, "required": ["sign", "symbol", "element", "modality", "ruling_planet", "natural_house", "mantra", "body_part", "colors", "birthstone", "alternate_birthstones", "tropical_sun_dates"]}}
                      },
                      "required": [
                        "signs"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "signs": [{"sign": "Aries", "symbol": "The Ram", "element": "Fire", "modality": "Cardinal", "ruling_planet": "Mars", "natural_house": 1, "mantra": "I Am", "body_part": "Head", "colors": "Red & Mustard", "birthstone": "Diamond", "alternate_birthstones": "Bloodstone, Topaz Sapphire, Jasper, and Aquamarine", "tropical_sun_dates": "March 21 - April 19"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/daily-personal-forecast": {
      "post": {
        "operationId": "daily-personal-forecast",
        "summary": "Personal Daily Forecast",
        "description": "A day's forecast from a birth (or Moon sign, Sun sign and nakshatra): the transiting Moon and Sun with their effects, the tara of the day and an overall quality.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DailyForecastInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "birth": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                },
                "date": "2026-10-13"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "birth": {"type": "object", "properties": {"moon_sign": {"type": "string"}, "sun_sign": {"type": "string"}, "nakshatra": {"type": "string"}, "source": {"type": "string"}}, "required": ["moon_sign", "sun_sign", "nakshatra", "source"]},
                        "note": {"type": "string"},
                        "date": {"type": "string"},
                        "moment_utc": {"type": "string"},
                        "moon": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "nakshatra_deity": {"type": "string"}, "nakshatra_nature": {"type": "string"}, "house_from_birth_moon": {"type": "integer"}, "effects": {"type": "object", "properties": {"general": {"type": "string"}, "health": {"type": "string"}, "work": {"type": "string"}, "relationships": {"type": "string"}}, "required": ["general", "health", "work", "relationships"]}, "personal_effect": {"type": "string"}}, "required": ["sign", "degree", "longitude", "nakshatra", "nakshatra_number", "pada", "nakshatra_lord", "nakshatra_deity", "nakshatra_nature", "house_from_birth_moon", "effects", "personal_effect"]},
                        "sun": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "house_from_birth_sun": {"type": "integer"}, "general_effect": {"type": "string"}, "personal_effect": {"type": "string"}}, "required": ["sign", "degree", "longitude", "house_from_birth_sun", "general_effect", "personal_effect"]},
                        "tara": {"type": "object", "properties": {"number": {"type": "integer"}, "name": {"type": "string"}, "nature": {"type": "string"}, "summary": {"type": "string"}}, "required": ["number", "name", "nature", "summary"]},
                        "quality": {"type": "string"}
                      },
                      "required": [
                        "birth",
                        "note",
                        "date",
                        "moment_utc",
                        "moon",
                        "sun",
                        "tara",
                        "quality"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "birth": {"moon_sign": "Virgo", "sun_sign": "Libra", "nakshatra": "Chitra", "source": "birth"},
                        "note": "Transiting Moon and Sun are read at 12:00 UTC of each date (Lahiri).",
                        "date": "2026-10-13",
                        "moment_utc": "2026-10-13T12:00:00Z",
                        "moon": {"sign": "Libra", "degree": 29.12, "longitude": 209.122, "nakshatra": "Vishakha", "nakshatra_number": 16, "pada": 3, "nakshatra_lord": "Jupiter", "nakshatra_deity": "Indragni", "nakshatra_nature": "mishra", "house_from_birth_moon": 2, "effects": {"general": "Balance, beauty, and cooperation. Good for partnerships.", "health": "Rest and balance — avoid overextension.", "work": "Negotiations and agreements go smoothly.", "relationships": "Harmony and mutual understanding."}, "personal_effect": "Moon in your 2nd house — financial and family matters highlighted."},
                        "sun": {"sign": "Virgo", "degree": 25.94, "longitude": 175.938, "house_from_birth_sun": 12, "general_effect": "Sun in Virgo — Precision, health, and service. Analyze, refine, and improve.", "personal_effect": "Sun in 12th house — expenses, solitude, and spiritual retreat."},
                        "tara": {"number": 3, "name": "Vipat", "nature": "Inauspicious", "summary": "Danger and obstacle tara. Proceed carefully, avoid risky ventures today."},
                        "quality": "challenging"
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/weekly-personal-forecast": {
      "post": {
        "operationId": "weekly-personal-forecast",
        "summary": "Personal Weekly Forecast",
        "description": "Seven days of the personal forecast with the Moon, Sun, tara and quality for each day, and a summary of favourable and challenging days.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WeeklyForecastInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "moon_sign": "Virgo",
                "sun_sign": "Libra",
                "nakshatra": "Chitra",
                "start_date": "2026-10-12"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "birth": {"type": "object", "properties": {"moon_sign": {"type": "string"}, "sun_sign": {"type": "string"}, "nakshatra": {"type": "string"}, "source": {"type": "string"}}, "required": ["moon_sign", "sun_sign", "nakshatra", "source"]},
                        "note": {"type": "string"},
                        "start_date": {"type": "string"},
                        "end_date": {"type": "string"},
                        "summary": {"type": "object", "properties": {"moon_signs": {"type": "array", "items": {"type": "string"}}, "favourable_days": {"type": "array", "items": {"type": "string"}}, "challenging_days": {"type": "array", "items": {"type": "string"}}, "sun_effect": {"type": "string"}}, "required": ["moon_signs", "favourable_days", "challenging_days", "sun_effect"]},
                        "days": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "moment_utc": {"type": "string"}, "moon": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "nakshatra_deity": {"type": "string"}, "nakshatra_nature": {"type": "string"}, "house_from_birth_moon": {"type": "integer"}, "effects": {"type": "object", "properties": {"general": {"type": "string"}, "health": {"type": "string"}, "work": {"type": "string"}, "relationships": {"type": "string"}}, "required": ["general", "health", "work", "relationships"]}, "personal_effect": {"type": "string"}}, "required": ["sign", "degree", "longitude", "nakshatra", "nakshatra_number", "pada", "nakshatra_lord", "nakshatra_deity", "nakshatra_nature", "house_from_birth_moon", "effects", "personal_effect"]}, "sun": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "house_from_birth_sun": {"type": "integer"}, "general_effect": {"type": "string"}, "personal_effect": {"type": "string"}}, "required": ["sign", "degree", "longitude", "house_from_birth_sun", "general_effect", "personal_effect"]}, "tara": {"type": "object", "properties": {"number": {"type": "integer"}, "name": {"type": "string"}, "nature": {"type": "string"}, "summary": {"type": "string"}}, "required": ["number", "name", "nature", "summary"]}, "quality": {"type": "string"}}, "required": ["date", "moment_utc", "moon", "sun", "tara", "quality"]}}
                      },
                      "required": [
                        "birth",
                        "note",
                        "start_date",
                        "end_date",
                        "summary",
                        "days"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "birth": {"moon_sign": "Virgo", "sun_sign": "Libra", "nakshatra": "Chitra", "source": "given"},
                        "note": "Transiting Moon and Sun are read at 12:00 UTC of each date (Lahiri).",
                        "start_date": "2026-10-12",
                        "end_date": "2026-10-18",
                        "summary": {"moon_signs": ["Libra", "Scorpio", "Sagittarius"], "favourable_days": ["2026-10-12", "2026-10-14", "2026-10-16"], "challenging_days": ["2026-10-13", "2026-10-15", "2026-10-17"], "sun_effect": "Sun in Virgo — Precision, health, and service. Analyze, refine, and improve."},
                        "days": [{"date": "2026-10-12", "moment_utc": "2026-10-12T12:00:00Z", "moon": {"sign": "Libra", "degree": 16.67, "longitude": 196.67, "nakshatra": "Swati", "nakshatra_number": 15, "pada": 4, "nakshatra_lord": "Rahu", "nakshatra_deity": "Vayu", "nakshatra_nature": "chara", "house_from_birth_moon": 2, "effects": {"general": "Balance, beauty, and cooperation. Good for partnerships.", "health": "Rest and balance — avoid overextension.", "work": "Negotiations and agreements go smoothly.", "relationships": "Harmony and mutual understanding."}, "personal_effect": "Moon in your 2nd house — financial and family matters highlighted."}, "sun": {"sign": "Virgo", "degree": 24.95, "longitude": 174.948, "house_from_birth_sun": 12, "general_effect": "Sun in Virgo — Precision, health, and service. Analyze, refine, and improve.", "personal_effect": "Sun in 12th house — expenses, solitude, and spiritual retreat."}, "tara": {"number": 2, "name": "Sampat", "nature": "Auspicious", "summary": "Wealth and abundance tara. Favorable for financial decisions and acquiring new things."}, "quality": "favourable"}, {"date": "2026-10-13", "moment_utc": "2026-10-13T12:00:00Z", "moon": {"sign": "Libra", "degree": 29.12, "longitude": 209.122, "nakshatra": "Vishakha", "nakshatra_number": 16, "pada": 3, "nakshatra_lord": "Jupiter", "nakshatra_deity": "Indragni", "nakshatra_nature": "mishra", "house_from_birth_moon": 2, "effects": {"general": "Balance, beauty, and cooperation. Good for partnerships.", "health": "Rest and balance — avoid overextension.", "work": "Negotiations and agreements go smoothly.", "relationships": "Harmony and mutual understanding."}, "personal_effect": "Moon in your 2nd house — financial and family matters highlighted."}, "sun": {"sign": "Virgo", "degree": 25.94, "longitude": 175.938, "house_from_birth_sun": 12, "general_effect": "Sun in Virgo — Precision, health, and service. Analyze, refine, and improve.", "personal_effect": "Sun in 12th house — expenses, solitude, and spiritual retreat."}, "tara": {"number": 3, "name": "Vipat", "nature": "Inauspicious", "summary": "Danger and obstacle tara. Proceed carefully, avoid risky ventures today."}, "quality": "challenging"}, {"date": "2026-10-14", "moment_utc": "2026-10-14T12:00:00Z", "moon": {"sign": "Scorpio", "degree": 11.35, "longitude": 221.35, "nakshatra": "Anuradha", "nakshatra_number": 17, "pada": 3, "nakshatra_lord": "Saturn", "nakshatra_deity": "Mitra", "nakshatra_nature": "mridu", "house_from_birth_moon": 3, "effects": {"general": "Intense and transformative. Deep focus and investigation.", "health": "Watch stress levels — practice breathing.", "work": "Research, strategy, and hidden matters.", "relationships": "Deep emotional connections — be honest."}, "personal_effect": "Moon in your 3rd house — communication, courage, and siblings."}, "sun": {"sign": "Virgo", "degree": 26.93, "longitude": 176.928, "house_from_birth_sun": 12, "general_effect": "Sun in Virgo — Precision, health, and service. Analyze, refine, and improve.", "personal_effect": "Sun in 12th house — expenses, solitude, and spiritual retreat."}, "tara": {"number": 4, "name": "Kshema", "nature": "Auspicious", "summary": "Prosperity and well-being tara. Good for health matters and family harmony."}, "quality": "favourable"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/monthly-personal-forecast": {
      "post": {
        "operationId": "monthly-personal-forecast",
        "summary": "Personal Monthly Forecast",
        "description": "A month of the personal forecast day by day, grouped into weeks, with favourable and challenging day counts and the best and toughest weeks.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MonthlyForecastInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "moon_sign": "Virgo",
                "sun_sign": "Libra",
                "nakshatra": "Chitra",
                "month": "2026-10"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "birth": {"type": "object", "properties": {"moon_sign": {"type": "string"}, "sun_sign": {"type": "string"}, "nakshatra": {"type": "string"}, "source": {"type": "string"}}, "required": ["moon_sign", "sun_sign", "nakshatra", "source"]},
                        "note": {"type": "string"},
                        "month": {"type": "string"},
                        "start_date": {"type": "string"},
                        "end_date": {"type": "string"},
                        "summary": {"type": "object", "properties": {"favourable_day_count": {"type": "integer"}, "challenging_day_count": {"type": "integer"}, "best_week_start": {"type": "string"}, "toughest_week_start": {"type": "string"}, "moon_signs": {"type": "array", "items": {"type": "string"}}, "sun_effect": {"type": "string"}}, "required": ["favourable_day_count", "challenging_day_count", "best_week_start", "toughest_week_start", "moon_signs", "sun_effect"]},
                        "weeks": {"type": "array", "items": {"type": "object", "properties": {"label": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "favourable_days": {"type": "array", "items": {"type": "string"}}, "challenging_days": {"type": "array", "items": {"type": "string"}}}, "required": ["label", "start", "end", "favourable_days", "challenging_days"]}},
                        "days": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "moment_utc": {"type": "string"}, "moon": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "nakshatra_deity": {"type": "string"}, "nakshatra_nature": {"type": "string"}, "house_from_birth_moon": {"type": "integer"}, "effects": {"type": "object", "properties": {"general": {"type": "string"}, "health": {"type": "string"}, "work": {"type": "string"}, "relationships": {"type": "string"}}, "required": ["general", "health", "work", "relationships"]}, "personal_effect": {"type": "string"}}, "required": ["sign", "degree", "longitude", "nakshatra", "nakshatra_number", "pada", "nakshatra_lord", "nakshatra_deity", "nakshatra_nature", "house_from_birth_moon", "effects", "personal_effect"]}, "sun": {"type": "object", "properties": {"sign": {"type": "string"}, "degree": {"type": "number"}, "longitude": {"type": "number"}, "house_from_birth_sun": {"type": "integer"}, "general_effect": {"type": "string"}, "personal_effect": {"type": "string"}}, "required": ["sign", "degree", "longitude", "house_from_birth_sun", "general_effect", "personal_effect"]}, "tara": {"type": "object", "properties": {"number": {"type": "integer"}, "name": {"type": "string"}, "nature": {"type": "string"}, "summary": {"type": "string"}}, "required": ["number", "name", "nature", "summary"]}, "quality": {"type": "string"}}, "required": ["date", "moment_utc", "moon", "sun", "tara", "quality"]}}
                      },
                      "required": [
                        "birth",
                        "note",
                        "month",
                        "start_date",
                        "end_date",
                        "summary",
                        "weeks",
                        "days"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "birth": {"moon_sign": "Virgo", "sun_sign": "Libra", "nakshatra": "Chitra", "source": "given"},
                        "note": "Transiting Moon and Sun are read at 12:00 UTC of each date (Lahiri).",
                        "month": "2026-10",
                        "start_date": "2026-10-01",
                        "end_date": "2026-10-31",
                        "summary": {"favourable_day_count": 18, "challenging_day_count": 9, "best_week_start": "2026-10-26", "toughest_week_start": "2026-10-12", "moon_signs": ["Taurus", "Gemini", "Cancer"], "sun_effect": "Sun in Virgo — Precision, health, and service. Analyze, refine, and improve."},
                        "weeks": [{"label": "Week 1", "start": "2026-10-01", "end": "2026-10-04", "favourable_days": ["2026-10-01", "2026-10-03"], "challenging_days": ["2026-10-04"]}, {"label": "Week 2", "start": "2026-10-05", "end": "2026-10-11", "favourable_days": ["2026-10-05", "2026-10-07", "2026-10-09"], "challenging_days": ["2026-10-06", "2026-10-08"]}, {"label": "Week 3", "start": "2026-10-12", "end": "2026-10-18", "favourable_days": ["2026-10-12", "2026-10-14", "2026-10-16"], "challenging_days": ["2026-10-13", "2026-10-15", "2026-10-17"]}],
                        "days": [{"date": "2026-10-01", "moment_utc": "2026-10-01T12:00:00Z", "moon": {"sign": "Taurus", "degree": 16.81, "longitude": 46.815, "nakshatra": "Rohini", "nakshatra_number": 4, "pada": 3, "nakshatra_lord": "Moon", "nakshatra_deity": "Brahma", "nakshatra_nature": "dhruva", "house_from_birth_moon": 9, "effects": {"general": "Grounded, sensual energy. Focus on comfort and stability.", "health": "Good for rest and restorative practices.", "work": "Steady, methodical effort pays off.", "relationships": "Warmth and appreciation for loved ones."}, "personal_effect": "Moon in your 9th house — luck, guidance, spiritual insights."}, "sun": {"sign": "Virgo", "degree": 14.1, "longitude": 164.097, "house_from_birth_sun": 12, "general_effect": "Sun in Virgo — Precision, health, and service. Analyze, refine, and improve.", "personal_effect": "Sun in 12th house — expenses, solitude, and spiritual retreat."}, "tara": {"number": 9, "name": "Parama Mitra", "nature": "Highly Auspicious", "summary": "Best friend tara. Excellent energy for all important activities and new beginnings."}, "quality": "favourable"}, {"date": "2026-10-02", "moment_utc": "2026-10-02T12:00:00Z", "moon": {"sign": "Gemini", "degree": 1.08, "longitude": 61.081, "nakshatra": "Mrigashira", "nakshatra_number": 5, "pada": 3, "nakshatra_lord": "Mars", "nakshatra_deity": "Moon", "nakshatra_nature": "mridu", "house_from_birth_moon": 10, "effects": {"general": "Curious and communicative. Good for learning and networking.", "health": "Mental energy high — balance with physical activity.", "work": "Multitasking and information gathering.", "relationships": "Lively conversations and social connection."}, "personal_effect": "Moon in your 10th house — career visibility and public image."}, "sun": {"sign": "Virgo", "degree": 15.08, "longitude": 165.08, "house_from_birth_sun": 12, "general_effect": "Sun in Virgo — Precision, health, and service. Analyze, refine, and improve.", "personal_effect": "Sun in 12th house — expenses, solitude, and spiritual retreat."}, "tara": {"number": 1, "name": "Janma", "nature": "Neutral", "summary": "The Moon returns to your birth nakshatra. A day of reset and self-reflection."}, "quality": "neutral"}, {"date": "2026-10-03", "moment_utc": "2026-10-03T12:00:00Z", "moon": {"sign": "Gemini", "degree": 15.29, "longitude": 75.286, "nakshatra": "Ardra", "nakshatra_number": 6, "pada": 3, "nakshatra_lord": "Rahu", "nakshatra_deity": "Rudra", "nakshatra_nature": "tikshna", "house_from_birth_moon": 10, "effects": {"general": "Curious and communicative. Good for learning and networking.", "health": "Mental energy high — balance with physical activity.", "work": "Multitasking and information gathering.", "relationships": "Lively conversations and social connection."}, "personal_effect": "Moon in your 10th house — career visibility and public image."}, "sun": {"sign": "Virgo", "degree": 16.06, "longitude": 166.064, "house_from_birth_sun": 12, "general_effect": "Sun in Virgo — Precision, health, and service. Analyze, refine, and improve.", "personal_effect": "Sun in 12th house — expenses, solitude, and spiritual retreat."}, "tara": {"number": 2, "name": "Sampat", "nature": "Auspicious", "summary": "Wealth and abundance tara. Favorable for financial decisions and acquiring new things."}, "quality": "favourable"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/twelve-month-prediction": {
      "post": {
        "operationId": "twelve-month-prediction",
        "summary": "Twelve-Month Prediction",
        "description": "Twelve months from a start month: the running mahadasha and antardasha in each month with a reading of each.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TwelveMonthInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "start_month": "2026-10"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "dasha_system": {"type": "string"},
                        "birth_dasha": {"type": "object", "properties": {"lord": {"type": "string"}, "balance_years": {"type": "number"}}, "required": ["lord", "balance_years"]},
                        "months": {"type": "array", "items": {"type": "object", "properties": {"month": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "dasha_as_of": {"type": "string"}, "mahadasha": {"type": "string"}, "antardasha": {"type": "string"}, "antardasha_ends": {"type": "string"}, "reading": {"type": "string"}, "mahadasha_reading": {"type": "string"}, "antardasha_theme": {"type": "string"}}, "required": ["month", "start", "end", "dasha_as_of", "mahadasha", "antardasha", "antardasha_ends", "reading", "mahadasha_reading", "antardasha_theme"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "dasha_system",
                        "birth_dasha",
                        "months"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "dasha_system": "vimshottari",
                        "birth_dasha": {"lord": "Mars", "balance_years": 4.6148},
                        "months": [{"month": "2026-10", "start": "2026-10-01", "end": "2026-10-31", "dasha_as_of": "2026-10-16", "mahadasha": "Jupiter", "antardasha": "Mars", "antardasha_ends": "2027-01-04", "reading": "During October 2026, Jupiter Mahadasha / Mars Antardasha is active. In this sub-period, drive and competitive energy are prominent. The Jupiter Mahadasha is one of the most auspicious periods, bringing wisdom, expansion, wealth and spiritual growth. Children, higher education, legal matters and religious activities flourish. Guru-Vandana, charitable acts and study of sacred texts are highly beneficial.", "mahadasha_reading": "The Jupiter Mahadasha is one of the most auspicious periods, bringing wisdom, expansion, wealth and spiritual growth. Children, higher education, legal matters and religious activities flourish. Guru-Vandana, charitable acts and study of sacred texts are highly beneficial.", "antardasha_theme": "drive and competitive energy are prominent"}, {"month": "2026-11", "start": "2026-11-01", "end": "2026-11-30", "dasha_as_of": "2026-11-15", "mahadasha": "Jupiter", "antardasha": "Mars", "antardasha_ends": "2027-01-04", "reading": "During November 2026, Jupiter Mahadasha / Mars Antardasha is active. In this sub-period, drive and competitive energy are prominent. The Jupiter Mahadasha is one of the most auspicious periods, bringing wisdom, expansion, wealth and spiritual growth. Children, higher education, legal matters and religious activities flourish. Guru-Vandana, charitable acts and study of sacred texts are highly beneficial.", "mahadasha_reading": "The Jupiter Mahadasha is one of the most auspicious periods, bringing wisdom, expansion, wealth and spiritual growth. Children, higher education, legal matters and religious activities flourish. Guru-Vandana, charitable acts and study of sacred texts are highly beneficial.", "antardasha_theme": "drive and competitive energy are prominent"}, {"month": "2026-12", "start": "2026-12-01", "end": "2026-12-31", "dasha_as_of": "2026-12-16", "mahadasha": "Jupiter", "antardasha": "Mars", "antardasha_ends": "2027-01-04", "reading": "During December 2026, Jupiter Mahadasha / Mars Antardasha is active. In this sub-period, drive and competitive energy are prominent. The Jupiter Mahadasha is one of the most auspicious periods, bringing wisdom, expansion, wealth and spiritual growth. Children, higher education, legal matters and religious activities flourish. Guru-Vandana, charitable acts and study of sacred texts are highly beneficial.", "mahadasha_reading": "The Jupiter Mahadasha is one of the most auspicious periods, bringing wisdom, expansion, wealth and spiritual growth. Children, higher education, legal matters and religious activities flourish. Guru-Vandana, charitable acts and study of sacred texts are highly beneficial.", "antardasha_theme": "drive and competitive energy are prominent"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/personal-characteristics": {
      "post": {
        "operationId": "personal-characteristics",
        "summary": "Personal Characteristics",
        "description": "Twelve rows, one per house: the sign, its lord, where the lord sits, its dignity and strength, and a sentence derived from that placement.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "ascendant": {"type": "string"},
                        "ascendant_lord": {"type": "string"},
                        "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "lord": {"type": "string"}, "lord_sign": {"type": "string"}, "lord_house": {"type": "integer"}, "lord_dignity": {"type": "string"}, "lord_retrograde": {"type": "boolean"}, "lord_combust": {"type": "boolean"}, "lord_strength": {"type": "string"}, "reading": {"type": "string"}}, "required": ["house", "sign", "lord", "lord_sign", "lord_house", "lord_dignity", "lord_retrograde", "lord_combust", "lord_strength", "reading"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "ascendant",
                        "ascendant_lord",
                        "houses"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "ascendant": "Capricorn",
                        "ascendant_lord": "Saturn",
                        "houses": [{"house": 1, "sign": "Capricorn", "lord": "Saturn", "lord_sign": "Sagittarius", "lord_house": 12, "lord_dignity": "Neutral", "lord_retrograde": false, "lord_combust": false, "lord_strength": "Weak", "reading": "Because the 1st lord Saturn has moved to the 12th house, your health, temperament and how you meet the world is worked out through your expenses, foreign lands and release. Saturn is neutral in Sagittarius, giving a weak result; the 12th is a difficult house, which asks for patience here."}, {"house": 2, "sign": "Aquarius", "lord": "Saturn", "lord_sign": "Sagittarius", "lord_house": 12, "lord_dignity": "Neutral", "lord_retrograde": false, "lord_combust": false, "lord_strength": "Weak", "reading": "Because the 2nd lord Saturn has moved to the 12th house, your income, family and manner of speech is worked out through your expenses, foreign lands and release. Saturn is neutral in Sagittarius, giving a weak result; the 12th is a difficult house, which asks for patience here."}, {"house": 3, "sign": "Pisces", "lord": "Jupiter", "lord_sign": "Cancer", "lord_house": 7, "lord_dignity": "Exalted", "lord_retrograde": false, "lord_combust": false, "lord_strength": "Very strong", "reading": "Because the 3rd lord Jupiter has moved to the 7th house, your courage, siblings and short journeys is worked out through your marriage and business partnerships. Jupiter is exalted in Cancer, so it acts at its best here, giving a very strong result."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/detailed-life": {
      "post": {
        "operationId": "detailed-life",
        "summary": "Detailed Life Reading",
        "description": "A life reading by house (domain): each with its sign, lord and placement, occupants, a score, band and verdict, plus an overview.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "house_system": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}}, "required": ["sign", "sign_number"]},
                        "overview": {"type": "string"},
                        "domains": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "title": {"type": "string"}, "keywords": {"type": "string"}, "sign": {"type": "string"}, "lord": {"type": "string"}, "lord_house": {"type": "integer"}, "lord_dignity": {"type": "string"}, "occupants": {"type": "array", "items": {"type": "string"}}, "score": {"type": "integer"}, "band": {"type": "string"}, "verdict": {"type": "string"}}, "required": ["house", "title", "keywords", "sign", "lord", "lord_house", "lord_dignity", "occupants", "score", "band", "verdict"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "node",
                        "house_system",
                        "ascendant",
                        "overview",
                        "domains"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "house_system": "whole_sign",
                        "ascendant": {"sign": "Capricorn", "sign_number": 10},
                        "overview": "Rising sign Capricorn sets the tone of the life. The chart is strongest in ‘Fortune & Dharma’ (score 98) and most tested in ‘Education & Children’ (score 31). Read each domain below for the house lord's placement, occupying planets and the resulting outlook.",
                        "domains": [{"house": 1, "title": "Personality & Self", "keywords": "temperament, vitality, overall life direction", "sign": "Capricorn", "lord": "Saturn", "lord_house": 12, "lord_dignity": "neutral", "occupants": ["Rahu"], "score": 32, "band": "challenged", "verdict": "With Capricorn on this house, its lord Saturn sits in the 12th house. Rahu occupies the house directly. This area needs conscious effort and remedial care to stabilise."}, {"house": 2, "title": "Wealth & Family", "keywords": "accumulated wealth, speech, food, immediate family", "sign": "Aquarius", "lord": "Saturn", "lord_house": 12, "lord_dignity": "neutral", "occupants": [], "score": 38, "band": "challenged", "verdict": "With Aquarius on this house, its lord Saturn sits in the 12th house. No planet occupies it, so results flow chiefly through its lord. This area needs conscious effort and remedial care to stabilise."}, {"house": 3, "title": "Courage & Siblings", "keywords": "initiative, communication, siblings, short travels", "sign": "Pisces", "lord": "Jupiter", "lord_house": 7, "lord_dignity": "exalted", "occupants": [], "score": 92, "band": "strong", "verdict": "With Pisces on this house, its lord Jupiter sits in the 7th house (exalted). No planet occupies it, so results flow chiefly through its lord. This area is well supported and tends to give steady, favourable results."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["`score` is 0-100 from the lord's dignity and house and the natural benefics/malefics occupying the house."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/prediction-nature": {
      "post": {
        "operationId": "prediction-nature",
        "summary": "Prediction Report: Nature & temperament",
        "description": "The nature & temperament section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "section": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "lagna": {"type": "string"},
                        "lagna_lord": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "keyphrase": {"type": "string"},
                        "biggest_talent": {"type": "string"},
                        "biggest_weakness": {"type": "string"},
                        "ambition": {"type": "string"},
                        "traits_classical": {"type": "array", "items": {"type": "string"}},
                        "traits_modern": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "section",
                        "ayanamsha",
                        "node",
                        "lagna",
                        "lagna_lord",
                        "moon_nakshatra",
                        "keyphrase",
                        "biggest_talent",
                        "biggest_weakness",
                        "ambition",
                        "traits_classical",
                        "traits_modern"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "section": "nature",
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "lagna": "Capricorn",
                        "lagna_lord": "Saturn",
                        "moon_nakshatra": "Chitra",
                        "keyphrase": "I use.",
                        "biggest_talent": "Discipline and endurance.",
                        "biggest_weakness": "Coldness and excessive caution.",
                        "ambition": "Status and achievement.",
                        "traits_classical": ["The ruler of the Capricorn Lagna is Saturn who is the taskmaster of the zodiac; therefore the person will be disciplined, responsible and highly ambitious.", "He will be practical and will always think in terms of results and long-term benefits.", "He will be patient and will be willing to work hard over many years to achieve goals."],
                        "traits_modern": ["Psychologically, Capricorn Lagna exhibits world-class conscientiousness — the most reliable, self-disciplined and results-driven profile in the zodiac.", "Modern career strengths: corporate management, finance, government, engineering and any structured, long-term results-oriented field reward their dedication.", "They defer emotional expression and personal pleasure in favor of work and duty — consciously practicing work-life balance and celebration of achievements is essential."]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/prediction-physical": {
      "post": {
        "operationId": "prediction-physical",
        "summary": "Prediction Report: Physical traits",
        "description": "The physical traits section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "section": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "lagna": {"type": "string"},
                        "lagna_lord": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "classical": {"type": "string"},
                        "traits": {"type": "array", "items": {"type": "string"}},
                        "modern": {"type": "string"}
                      },
                      "required": [
                        "section",
                        "ayanamsha",
                        "node",
                        "lagna",
                        "lagna_lord",
                        "moon_nakshatra",
                        "classical",
                        "traits",
                        "modern"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "section": "physical",
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "lagna": "Capricorn",
                        "lagna_lord": "Saturn",
                        "moon_nakshatra": "Chitra",
                        "classical": "The lord of Capricorn Lagna is Saturn. According to Brihat Jataka and Phaladeepika, the native will be of medium to tall height with a lean, bony and angular frame that is characteristic of Saturn's austere and disciplined nature. The body frame is spare, spare and somewhat gaunt in youth but gains strength and substance with age — Capricorn natives often improve in physical condition as they grow older. The face is long and narrow with high, prominent cheekbones, a pointed chin and serious, thoughtful expression. The eyes are deep-set, serious, intelligent and penetrating with an air of quiet authority and wisdom. The complexion is dark, dusky or sallow and the skin tends to be dry, rough and somewhat coarse. According to Saravali, the joints, knees and bones of the Capricorn native are particularly prominent and may be subject to health issues. The teeth may be prominent and the nose is often aquiline or beaked. The hair is generally dark, coarse and straight. According to Jataka Parijata, the native projects an air of seriousness, authority, experience and seasoned wisdom beyond their years. The walk is steady and deliberate. The constitution is Vata-dominant, conferring a lean physique, dry skin, susceptibility to cold and tendency toward joint and bone-related health issues.",
                        "traits": ["The native will be of medium to tall height with a lean, bony and angular frame.", "The face will be long with high cheekbones, a pointed chin and serious expression.", "The eyes are deep-set, serious and intelligent with an air of quiet authority."],
                        "modern": "The Capricorn Lagna native has a Vata-dominant constitution with Saturn governing the physical structure, bones and longevity. The skeletal system — bones, joints, knees, teeth and skin — is the primary health focus area and requires careful, consistent and long-term attention. The native's constitution is slow but steady and responds exceptionally well to disciplined long-term health care practices. Cold, dryness and isolation negatively affect this constitution significantly and must be carefully avoided. The native is prone to arthritis, osteoporosis, knee problems, dental issues, skin conditions and depression when isolated or under prolonged stress. The native benefits greatly from warming and nourishing foods, regular sesame oil self-massage, consistent sleep hygiene, structured physical activity emphasising spine, knee and joint strength such as yoga and weight-bearing exercise, and deliberate avoidance of cold, damp environments. Calcium, vitamin D and magnesium supplementation should be considered. Social connection and warm relationships are important for psychological wellbeing which directly supports physical health for this constitution."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/prediction-lucky-info": {
      "post": {
        "operationId": "prediction-lucky-info",
        "summary": "Prediction Report: Lucky days, colours, numbers, stones",
        "description": "The lucky days, colours, numbers, stones section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "section": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "lagna": {"type": "string"},
                        "lagna_lord": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "based_on": {"type": "object", "properties": {"lagna_lord": {"type": "string"}}, "required": ["lagna_lord"]},
                        "lucky_days": {"type": "string"},
                        "lucky_colours": {"type": "string"},
                        "lucky_numbers": {"type": "string"},
                        "gemstone": {"type": "string"},
                        "substitute_stones": {"type": "string"},
                        "auspicious_signs": {"type": "string"},
                        "auspicious_period": {"type": "string"},
                        "inauspicious_day": {"type": "string"},
                        "inauspicious_months": {"type": "string"},
                        "inauspicious_tithis": {"type": "string"}
                      },
                      "required": [
                        "section",
                        "ayanamsha",
                        "node",
                        "lagna",
                        "lagna_lord",
                        "moon_nakshatra",
                        "based_on",
                        "lucky_days",
                        "lucky_colours",
                        "lucky_numbers",
                        "gemstone",
                        "substitute_stones",
                        "auspicious_signs",
                        "auspicious_period",
                        "inauspicious_day",
                        "inauspicious_months",
                        "inauspicious_tithis"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "section": "lucky_info",
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "lagna": "Capricorn",
                        "lagna_lord": "Saturn",
                        "moon_nakshatra": "Chitra",
                        "based_on": {"lagna_lord": "Saturn"},
                        "lucky_days": "Saturday and Wednesday are very favorable.",
                        "lucky_colours": "Dark Blue and Black are lucky. Red and Pink will be unlucky.",
                        "lucky_numbers": "8, 4, 6 and 17 are very lucky numbers. 1, 10 and 19 of every month are inauspicious.",
                        "gemstone": "Blue Sapphire (Neelam). Substitute: Amethyst or Blue Topaz.",
                        "substitute_stones": "Lapis Lazuli, Blue Spinel or Iolite.",
                        "auspicious_signs": "Capricorn, Aquarius, Taurus and Libra are favorable.",
                        "auspicious_period": "The month of Pushya or Magha (mid-December to mid-January) is very auspicious. According to Yavanarcharya, Krishna Paksha, Saturday evening is the most favorable time. Dates 8, 17, 26 of every month are especially lucky.",
                        "inauspicious_day": "Sunday — day ruled by Sun, the primary inimical planet for this Lagna.",
                        "inauspicious_months": "April and May of every year are generally less favorable. Dates 1, 10, 19 of every month are inauspicious. Red and Pink coloured clothes should be avoided. Sunday is inauspicious.",
                        "inauspicious_tithis": "Tritiya, Ashtami and Trayodashi are inauspicious."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/prediction-nakshatra-interp": {
      "post": {
        "operationId": "prediction-nakshatra-interp",
        "summary": "Prediction Report: Birth nakshatra interpretation",
        "description": "The birth nakshatra interpretation section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "section": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "lagna": {"type": "string"},
                        "lagna_lord": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "nakshatra": {"type": "string"},
                        "lord": {"type": "string"},
                        "pada": {"type": "integer"},
                        "moon_sign": {"type": "string"},
                        "moon_sign_lord": {"type": "string"},
                        "birth_syllable": {"type": "string"},
                        "deity": {"type": "string"},
                        "gana": {"type": "string"},
                        "yoni": {"type": "string"},
                        "varna": {"type": "string"},
                        "nadi": {"type": "string"},
                        "readings": {"type": "object", "properties": {"parashari": {"type": "string"}, "yavanacharya": {"type": "string"}, "gargi": {"type": "string"}, "madhava": {"type": "string"}, "classical_synthesis": {"type": "string"}, "modern": {"type": "string"}}, "required": ["parashari", "yavanacharya", "gargi", "madhava", "classical_synthesis", "modern"]},
                        "traits_classical": {"type": "array", "items": {"type": "string"}},
                        "traits_modern": {"type": "array", "items": {"type": "string"}},
                        "pada_reading": {"type": "object", "properties": {"metal": {"type": "string"}, "quality": {"type": "string"}, "text": {"type": "string"}}, "required": ["metal", "quality", "text"]},
                        "health": {"type": "string"},
                        "remedy": {"type": "string"}
                      },
                      "required": [
                        "section",
                        "ayanamsha",
                        "node",
                        "lagna",
                        "lagna_lord",
                        "moon_nakshatra",
                        "nakshatra",
                        "lord",
                        "pada",
                        "moon_sign",
                        "moon_sign_lord",
                        "birth_syllable",
                        "deity",
                        "gana",
                        "yoni",
                        "varna",
                        "nadi",
                        "readings",
                        "traits_classical",
                        "traits_modern",
                        "pada_reading",
                        "health",
                        "remedy"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "section": "nakshatra_interp",
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "lagna": "Capricorn",
                        "lagna_lord": "Saturn",
                        "moon_nakshatra": "Chitra",
                        "nakshatra": "Chitra",
                        "lord": "Mars",
                        "pada": 2,
                        "moon_sign": "Virgo",
                        "moon_sign_lord": "Mercury",
                        "birth_syllable": "Po",
                        "deity": "Tvashta (Divine Craftsman)",
                        "gana": "Rakshasa (Fierce)",
                        "yoni": "Vyaghra (Tiger)",
                        "varna": "Farmer",
                        "nadi": "Pitta (Madhya)",
                        "readings": {"parashari": "One born in Chitra Nakshatra will wear decorative clothes and garlands, will be beautiful and will have attractive eyes. He will be fond of decoration and the fine arts.", "yavanacharya": "One born under Chitra will have an artistic and aesthetic sensibility. He will be attracted to beauty in all forms and will have talent in design, architecture and visual arts.", "gargi": "According to Gargi Samhita, one born in Chitra will be handsome, charming and magnetic. He will be skilled in creating beautiful things and will be socially popular.", "madhava": "The lord of this Nakshatra is Mars. The person will be dynamic and creative. He will combine energy with artistry to produce remarkable works in his field.", "classical_synthesis": "A person born in Chitra nakshatra is skilled in ornamentation, skilled in various arts, fond of wearing bright and beautiful clothes, and attractive in appearance. According to the classical texts, such a native has a love for beauty, design and aesthetics. They are creative, artistically gifted and possess a natural eye for form and proportion. According to another classical viewpoint, the Chitra native is the natural artist and designer — blessed with the craftsman deity Tvashta's gift of creating beautiful and intricate forms.", "modern": "A person born in Chitra nakshatra is gifted with an aesthetic eye and a natural talent for creating beautiful, harmonious things. They are perfectionist in their craft, devoted to quality and have a natural understanding of form, proportion and design. They are independent, dynamic and often have magnetic personalities. They may be proud of their abilities and must guard against arrogance. A career in architecture, graphic design, fashion, jewellery, film-making, visual arts or any field requiring aesthetic mastery suits them. They are attracted to beautiful people and environments."},
                        "traits_classical": ["The native will wear beautiful clothes and garlands. He will be attractive and will have appealing, expressive eyes.", "He will be fond of decoration and the fine arts. He will have a natural aesthetic sensibility.", "He will have an artistic and aesthetic sensibility. He will be attracted to beauty in all its forms."],
                        "traits_modern": ["Chitra natives combine Mars's dynamic energy with Tvashtr's (divine craftsman's) creative genius — they are the artists and architects of the zodiac.", "They excel in architecture, interior design, fashion, jewelry making, visual arts, film and any field where aesthetics and creation intersect.", "Their standard for beauty is exceptionally high — they notice what others miss and create at a level of refinement that stands apart."],
                        "pada_reading": {"metal": "Gold", "quality": "most auspicious", "text": "The second pada falls in the Taurus navamsha, known as the Gold Pada. This is considered the most auspicious pada, associated with wealth, stability and material prosperity. The native is blessed with comfort, good fortune and material well-being throughout life."},
                        "health": "Chitra nakshatra controls the abdomen, kidneys, waist and lower back region. Natives may experience kidney conditions, urinary ailments and lower back pain when malefic planets influence this nakshatra.",
                        "remedy": "Worship Vishwakarma (divine craftsman) on Vishwakarma Puja day. Offer red flowers on Tuesdays. Recite the Mars Beej Mantra (Om Angarakaya Namah) 108 times. Creating something beautiful with one's hands is a meaningful spiritual practice for this nakshatra."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/prediction-planetary-dispositions": {
      "post": {
        "operationId": "prediction-planetary-dispositions",
        "summary": "Prediction Report: Planetary dispositions",
        "description": "The planetary dispositions section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "section": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "lagna": {"type": "string"},
                        "lagna_lord": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "house_system": {"type": "string"},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}, "if_well_placed": {"type": "string"}, "if_afflicted": {"type": "string"}}, "required": ["planet", "house", "if_well_placed", "if_afflicted"]}}
                      },
                      "required": [
                        "section",
                        "ayanamsha",
                        "node",
                        "lagna",
                        "lagna_lord",
                        "moon_nakshatra",
                        "house_system",
                        "planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "section": "planetary_dispositions",
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "lagna": "Capricorn",
                        "lagna_lord": "Saturn",
                        "moon_nakshatra": "Chitra",
                        "house_system": "whole_sign",
                        "planets": [{"planet": "Sun", "house": 10, "if_well_placed": "Sun in the tenth house is one of the best placements for career success and worldly authority. The native will be famous, respected and will hold positions of great power. He will succeed in government service, politics or leadership roles. He will have a distinguished career and will be well-known in his field of work.", "if_afflicted": "If afflicted, there may be sudden fall from position, conflicts with superiors and government troubles. The native may be excessively ambitious and may harm others in pursuit of status. Career setbacks and public humiliation are possible when the Sun is severely afflicted."}, {"planet": "Moon", "house": 9, "if_well_placed": "Moon in the ninth house gives a fortunate and blessed life, spiritual inclination and a devoted and pious father. The native will be devoted to religion, will travel to sacred places and will succeed in higher learning and philosophical pursuits. Fortune smiles on the native through dharmic living.", "if_afflicted": "If afflicted, there may be conflicts with the father, changing and inconsistent religious beliefs and emotional instability in matters of faith and philosophy. The native may be superstitious rather than genuinely spiritual."}, {"planet": "Mars", "house": 5, "if_well_placed": "Mars in the fifth house gives competitive intelligence, dynamic creativity and success in sports, speculation and creative fields. The native will be passionate, energetic and forceful in pursuing creative ambitions. Children may be strong and athletic.", "if_afflicted": "If afflicted, there may be significant difficulties with children including possible loss or illness, impulsive speculative losses leading to financial hardship and aggressive behavior in romantic relationships that drives partners away."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/prediction-bhavesh": {
      "post": {
        "operationId": "prediction-bhavesh",
        "summary": "Prediction Report: House lords (bhavesh)",
        "description": "The house lords (bhavesh) section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "section": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "lagna": {"type": "string"},
                        "lagna_lord": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "house_system": {"type": "string"},
                        "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "lord": {"type": "string"}, "lord_in_house": {"type": "integer"}, "reading": {"type": "string"}, "classical": {"type": "object", "properties": {"lomasha": {"type": ["string", "null"]}, "yavana": {"type": ["string", "null"]}, "gargi": {"type": ["string", "null"]}}, "required": ["lomasha", "yavana", "gargi"]}}, "required": ["house", "lord", "lord_in_house", "reading", "classical"]}}
                      },
                      "required": [
                        "section",
                        "ayanamsha",
                        "node",
                        "lagna",
                        "lagna_lord",
                        "moon_nakshatra",
                        "house_system",
                        "houses"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "section": "bhavesh",
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "lagna": "Capricorn",
                        "lagna_lord": "Saturn",
                        "moon_nakshatra": "Chitra",
                        "house_system": "whole_sign",
                        "houses": [{"house": 1, "lord": "Saturn", "lord_in_house": 12, "reading": "When the lord of the first house is in the twelfth house, the native's life will often take them far from their place of birth — to foreign lands, ashrams or places of seclusion. The native may experience financial losses and expenditure that outpaces income. However, spiritual growth, inner contemplation and the development of genuine wisdom through solitude are strongly indicated. The native may achieve genuine liberation and spiritual peace through a life of renunciation and inner devotion.", "classical": {"lomasha": "लग्नेशः व्ययभावे, विदेशगमनं स्वप्रियम्। मोक्षाभिलाषी वैरागी, व्ययशीलः परदेशस्थः।। The lord of the first house in the twelfth house indicates a tendency toward foreign travel, spirituality and renunciation. The native is inclined toward solitude and expenditure.", "yavana": "यदि लग्नाधिपः द्वादशे। If the lord of the first house is in the twelfth house, the native may live abroad or spend extended periods in foreign countries. The native may be inclined toward spiritual practice, solitude and the inner life. Expenditure will be high and financial accumulation may be difficult.", "gargi": "लग्नेशे व्ययभावे विदेशवासः आध्यात्मिकता च। The lord of the first house in the twelfth house gives foreign residence, spiritual inclinations and a tendency toward solitude and retreat. The native may find fulfillment in renunciation, meditation and service to others in institutional settings."}}, {"house": 2, "lord": "Saturn", "lord_in_house": 12, "reading": "When the lord of the 2nd house is placed in the 12th house — a dusthana — the significations of financial prosperity, family relationships, accumulation of material assets and communicative skill may be diminished, dispersed or redirected toward spiritual and renunciatory ends. The matters of the 2nd house are expressed through the domain of voluntary renunciation, expenditure of resources, life in foreign lands and the aspiration toward moksha, meaning that expenditure, foreign connections and retreat from active worldly engagement will shape this area of life. The native may find that the significations of the 2nd house are experienced in foreign lands, in conditions of solitude or through a spiritually oriented approach to life. Conscious embrace of renunciation, spiritual practice and service in the domain of the 2nd house can transform this challenging placement into a vehicle for genuine liberation.", "classical": {"lomasha": null, "yavana": null, "gargi": null}}, {"house": 3, "lord": "Jupiter", "lord_in_house": 7, "reading": "When the lord of the 3rd house is placed in the 7th house — a kendra position — the significations of personal boldness, entrepreneurial spirit, short journeys and the relationship with younger siblings find a broadly auspicious channel of expression. The matters of the 3rd house are activated through the domain of relationship harmony, marital happiness, the quality of business collaboration and public engagement, giving the native positive and productive results in courage, younger siblings and communicative initiative. This placement gives the house lord the angular and trinal strength needed to deliver its results with force and consistency. The native will find their courage, younger siblings and communicative initiative expressed positively and beneficially through the circumstances and people of the 7th house.", "classical": {"lomasha": null, "yavana": null, "gargi": null}}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["`classical` quotations exist for some lord placements only; the others are null."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/prediction-dasha": {
      "post": {
        "operationId": "prediction-dasha",
        "summary": "Prediction Report: Current dasha reading",
        "description": "The current dasha reading section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "section": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "lagna": {"type": "string"},
                        "lagna_lord": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "system": {"type": "string"},
                        "as_of": {"type": "string"},
                        "mahadasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "lord_house": {"type": "integer"}, "reading": {"type": "array", "items": {"type": "string"}}, "reading_by_house": {"type": "array", "items": {"type": "string"}}}, "required": ["lord", "start", "end", "lord_house", "reading", "reading_by_house"]},
                        "antardasha": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "reading": {"type": "array", "items": {"type": "string"}}}, "required": ["lord", "start", "end", "reading"]}
                      },
                      "required": [
                        "section",
                        "ayanamsha",
                        "node",
                        "lagna",
                        "lagna_lord",
                        "moon_nakshatra",
                        "system",
                        "as_of",
                        "mahadasha",
                        "antardasha"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "section": "dasha",
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "lagna": "Capricorn",
                        "lagna_lord": "Saturn",
                        "moon_nakshatra": "Chitra",
                        "system": "vimshottari",
                        "as_of": "2026-10-14",
                        "mahadasha": {"lord": "Jupiter", "start": "2013-05-30", "end": "2029-05-30", "lord_house": 7, "reading": ["There will be gain of wealth, prosperity and happiness through ethical and righteous means.", "The native will receive the blessings and grace of teachers, gurus and divine figures.", "Children will be a source of exceptional joy, pride and genuine happiness."], "reading_by_house": ["Outstanding blessings in marriage and partnerships; the partner will be wise, ethical and devoted.", "Business partnerships in education, law, medicine and consultancy will be highly favorable and productive.", "The native will prosper through just, ethical and mutually beneficial agreements and contracts."]},
                        "antardasha": {"lord": "Mars", "start": "2026-01-28", "end": "2027-01-04", "reading": ["Bold ambition and courageous action drive the pursuit of truly noble and worthy goals.", "Property acquisitions and favorable legal outcomes are strongly indicated.", "Brothers and male relatives provide meaningful support and practical assistance."]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/prediction-gem": {
      "post": {
        "operationId": "prediction-gem",
        "summary": "Prediction Report: Gem recommendation",
        "description": "The gem recommendation section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "section": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "lagna": {"type": "string"},
                        "lagna_lord": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "based_on": {"type": "object", "properties": {"lagna": {"type": "string"}, "lagna_lord": {"type": "string"}, "lagna_lord_sign": {"type": "string"}, "lagna_lord_house": {"type": "integer"}, "lagna_lord_condition": {"type": "string"}}, "required": ["lagna", "lagna_lord", "lagna_lord_sign", "lagna_lord_house", "lagna_lord_condition"]},
                        "primary": {"type": "string"},
                        "substitutes": {"type": "string"},
                        "uparatna": {"type": "string"},
                        "metal": {"type": "string"},
                        "finger": {"type": "string"},
                        "day": {"type": "string"},
                        "mantra": {"type": "string"},
                        "ritual": {"type": "string"},
                        "caution": {"type": "string"},
                        "shloka": {"type": "object", "properties": {"sanskrit": {"type": "string"}, "translation": {"type": "string"}, "source": {"type": "string"}}, "required": ["sanskrit", "translation", "source"]},
                        "introduction": {"type": "string"},
                        "description": {"type": "string"},
                        "strength_analysis": {"type": "string"}
                      },
                      "required": [
                        "section",
                        "ayanamsha",
                        "node",
                        "lagna",
                        "lagna_lord",
                        "moon_nakshatra",
                        "based_on",
                        "primary",
                        "substitutes",
                        "uparatna",
                        "metal",
                        "finger",
                        "day",
                        "mantra",
                        "ritual",
                        "caution",
                        "shloka",
                        "introduction",
                        "description",
                        "strength_analysis"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "section": "gem",
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "lagna": "Capricorn",
                        "lagna_lord": "Saturn",
                        "moon_nakshatra": "Chitra",
                        "based_on": {"lagna": "Capricorn", "lagna_lord": "Saturn", "lagna_lord_sign": "Sagittarius", "lagna_lord_house": 12, "lagna_lord_condition": "normal"},
                        "primary": "Blue Sapphire (Neelam)",
                        "substitutes": "Amethyst or Blue Topaz",
                        "uparatna": "Iolite, Lapis Lazuli or Blue Spinel",
                        "metal": "Iron and Silver",
                        "finger": "Middle finger (Madhyama)",
                        "day": "Saturday morning (sunrise)",
                        "mantra": "Om Shanaye Namah (108 times)",
                        "ritual": "Test the Blue Sapphire for seven days before wearing permanently. On a Saturday during the waxing Moon (Shukla Paksha), at sunrise, cleanse it in mustard oil, Ganga jal and raw milk. Offer blue flowers or sesame seeds to Saturn. Recite 'Om Shanaye Namah' 108 times and then wear on the middle finger.",
                        "caution": "Test Blue Sapphire for one week before wearing permanently. Avoid Red stones.",
                        "shloka": {"sanskrit": "नीलं शनेरत्नं स्यात् दीर्घायुष्यकरं परम् ।\nकर्मसिद्धिप्रदं दिव्यं दारिद्र्यविनाशनम् ॥", "translation": "Blue Sapphire is the gem of Saturn. It bestows supreme longevity, accomplishment in all works and divine blessings, and destroys poverty and misfortune.", "source": "Brihat Parashara Hora Shastra, Adhyaya 82"},
                        "introduction": "The wearing of gems is an important consideration in Vedic astrology that can significantly influence many areas of life. The ancient Indian sages devoted considerable attention to the science of gems (Ratna Shastra) and their capacity to strengthen the beneficial rays of planetary energies. Each gem resonates with a specific planetary frequency and, when worn correctly, can strengthen the significations of its ruling planet in the native's life. The primary gem recommended below is determined by the lord of the ascendant — the most important planet in the horoscope — and its actual strength in the natal chart.",
                        "description": "According to the authorities, the Blue Sapphire (Neelam) strengthens Saturn's significations — bringing longevity, discipline, professional achievement, material stability and the destruction of poverty and misfortune when the planet is strong and well-disposed. The Blue Sapphire is considered the most powerful and fastest-acting of all planetary gems — it must be tested carefully before being worn permanently, as an incompatible Blue Sapphire can cause significant disruption. When worn by a person whose ascendant lord is Saturn and the gem is compatible, the Blue Sapphire directly strengthens the native's professional discipline, organizational capacity, longevity and the ability to achieve lasting success through sustained effort. Saturn governs longevity, career, discipline, chronic conditions, the nervous system, bones and all matters requiring long-term sustained effort — all of which benefit from the correctly tested Blue Sapphire. The gem should be tested for one week before wearing permanently. It should be set in iron or silver and worn on the middle finger of the right hand on a Saturday.",
                        "strength_analysis": "The ascendant lord Saturn is placed in a neutral position in the birth chart. The gem recommendation provides steady support for the planet's natural significations. Wearing the primary gem will gradually strengthen the planet's positive contributions to health, personality and life circumstances over time. It is currently placed in the 12th house from the ascendant. The ascendant lord placed in the 12th house indicates that wearing the primary gem will most powerfully support spiritual development, foreign connections and the release of limiting patterns. The native will find their inner life and spiritual practice deepened."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/prediction-classics": {
      "post": {
        "operationId": "prediction-classics",
        "summary": "Prediction Report: Classical references",
        "description": "The classical references section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "section": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "lagna": {"type": "string"},
                        "lagna_lord": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "name": {"type": "string"}, "significations": {"type": "string"}, "statements": {"type": "array", "items": {"type": "object", "properties": {"ref": {"type": "string"}, "text": {"type": "string"}}, "required": ["ref", "text"]}}}, "required": ["house", "name", "significations", "statements"]}},
                        "yogas": {"type": "object", "properties": {"general": {"type": "array"}, "multi_planetary": {"type": "array"}, "moon": {"type": "array", "items": {"type": "object", "properties": {"ref": {"type": "string"}, "name": {"type": "string"}, "condition": {"type": "string"}, "effect": {"type": "string"}}, "required": ["ref", "name", "condition", "effect"]}}, "other": {"type": "array"}}, "required": ["general", "multi_planetary", "moon", "other"]},
                        "jaimini": {"type": "object", "properties": {"arudha_padas": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "label": {"type": "string"}, "in_house": {"type": "integer"}}, "required": ["house", "label", "in_house"]}}, "arudha_lagna_house": {"type": "integer"}, "upapada_house": {"type": "integer"}, "atma_karaka": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}}, "required": ["planet", "house"]}, "statements": {"type": "array", "items": {"type": "object", "properties": {"ref": {"type": "string"}, "name": {"type": "string"}, "condition": {"type": "string"}, "effect": {"type": "string"}}, "required": ["ref", "name", "condition", "effect"]}}}, "required": ["arudha_padas", "arudha_lagna_house", "upapada_house", "atma_karaka", "statements"]}
                      },
                      "required": [
                        "section",
                        "ayanamsha",
                        "node",
                        "lagna",
                        "lagna_lord",
                        "moon_nakshatra",
                        "houses",
                        "yogas",
                        "jaimini"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "section": "classics",
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "lagna": "Capricorn",
                        "lagna_lord": "Saturn",
                        "moon_nakshatra": "Chitra",
                        "houses": [{"house": 1, "name": "Tanu Bhava", "significations": "physique, appearance, intellect (or the organ of intelligence, i.e. brain), complexion of the body, vigour; weakness, happiness, grief, and innate nature are all to be guessed through the ascending sign.", "statements": [{"ref": "BP 12-1", "text": "Physical comforts: The ascendant lord Saturn is in the 12th house (a dusthana). Physical felicity will diminish."}, {"ref": "BP 12-1", "text": "A benefic planet is in the 7th house (angle/trine from the ascendant). This is a powerful remedy for health."}, {"ref": "BP 12-2", "text": "There will not be bodily health as the Moon is aspected by a malefic and devoid of a benefic aspect."}]}, {"house": 3, "name": "Sahaja Bhava", "significations": "younger co-borns, valor, food, body strength, paternal relatives, short journeys, servants, ornaments and neighbors.", "statements": [{"ref": "BP 14-1", "text": "The 3rd lord Jupiter is in own sign or exaltation. The native will be courageous, will overcome all difficulties with valor."}]}, {"house": 4, "name": "Sukha Bhava", "significations": "mother, immovable property, conveyances, happiness, relatives, treasure, and education.", "statements": [{"ref": "BP 15-1", "text": "The 4th lord Mars is in an angle or trine (5th house). The native will have domestic happiness, property and a good mother."}]}],
                        "yogas": {"general": [], "multi_planetary": [], "moon": [{"ref": "SA 37-8", "name": "Moon without flanking benefics", "condition": "No single benefic is in the 2nd or 12th from the Moon.", "effect": "If a single benefic is there (in 2nd or 12th from Moon), the wealth will be negligible. With no flanking benefics, the Moon's natural support for prosperity is reduced."}], "other": []},
                        "jaimini": {"arudha_padas": [{"house": 1, "label": "AL", "in_house": 11}, {"house": 2, "label": "A2", "in_house": 10}, {"house": 3, "label": "A3", "in_house": 11}], "arudha_lagna_house": 11, "upapada_house": 2, "atma_karaka": {"planet": "Mercury", "house": 9}, "statements": [{"ref": "BP 30-2", "name": "Upa Pada in malefic's sign", "condition": "Upa Pada (Arudha of 12th house) is in the 2nd house (Aquarius), a sign of a malefic (Saturn).", "effect": "Should the Upa Pada be in a malefic's sign or receives an aspect from or is conjunct with a malefic, one will become an ascetic and go without a wife."}, {"ref": "BP 30-3", "name": "Effect from 2nd from Upa Pada", "condition": "The 2nd from Upa Pada is the 3rd house (Pisces), occupied or owned by a benefic.", "effect": "Effect from the 2nd from Upa Pada: If the 2nd from Upa Pada is a benefic sign or receives an aspect from or is conjunct with a benefic, the same good results (as for wife and sons) will come to pass."}, {"ref": "BP 33-19", "name": "Atma Karaka: Mercury", "condition": "The planet with the highest degree is Mercury (28.3° in its sign) placed in the 9th house. Mercury is the Atma Karaka.", "effect": "The Atma Karaka Mercury represents the soul's primary desire in this lifetime. The house of the Atma Karaka and the sign it occupies describe the soul's deepest motivation and karmic purpose."}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/prediction-life-report": {
      "post": {
        "operationId": "prediction-life-report",
        "summary": "Prediction Report: Life report",
        "description": "The life report section of the natal prediction report, derived from the Lagna, Moon nakshatra and planet placements.",
        "tags": [
          "predictions"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "section": {"type": "string"},
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "lagna": {"type": "string"},
                        "lagna_lord": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "personality": {"type": "object", "properties": {"basis": {"type": "object", "properties": {"lagna_sign": {"type": "string"}, "lagna_lord": {"type": "string"}, "lagna_lord_house": {"type": "integer"}}, "required": ["lagna_sign", "lagna_lord", "lagna_lord_house"]}, "paragraphs": {"type": "array", "items": {"type": "string"}}}, "required": ["basis", "paragraphs"]},
                        "mental": {"type": "object", "properties": {"basis": {"type": "object", "properties": {"moon_sign": {"type": "string"}, "moon_nakshatra": {"type": "string"}, "mercury_house": {"type": "integer"}, "moon_house": {"type": "integer"}}, "required": ["moon_sign", "moon_nakshatra", "mercury_house", "moon_house"]}, "paragraphs": {"type": "array", "items": {"type": "string"}}}, "required": ["basis", "paragraphs"]},
                        "career": {"type": "object", "properties": {"basis": {"type": "object", "properties": {"tenth_sign": {"type": "string"}, "tenth_lord": {"type": "string"}, "tenth_lord_house": {"type": "integer"}, "sun_house": {"type": "integer"}, "mars_house": {"type": "integer"}, "saturn_house": {"type": "integer"}}, "required": ["tenth_sign", "tenth_lord", "tenth_lord_house", "sun_house", "mars_house", "saturn_house"]}, "paragraphs": {"type": "array", "items": {"type": "string"}}, "planet_influences": {"type": "array", "items": {"type": "string"}}}, "required": ["basis", "paragraphs", "planet_influences"]},
                        "finance": {"type": "object", "properties": {"basis": {"type": "object", "properties": {"second_lord": {"type": "string"}, "second_lord_house": {"type": "integer"}, "eleventh_lord": {"type": "string"}, "eleventh_lord_house": {"type": "integer"}, "eleventh_sign": {"type": "string"}, "quality": {"type": "string"}}, "required": ["second_lord", "second_lord_house", "eleventh_lord", "eleventh_lord_house", "eleventh_sign", "quality"]}, "paragraphs": {"type": "array", "items": {"type": "string"}}}, "required": ["basis", "paragraphs"]},
                        "relationships": {"type": "object", "properties": {"basis": {"type": "object", "properties": {"seventh_sign": {"type": "string"}, "seventh_lord": {"type": "string"}, "seventh_lord_house": {"type": "integer"}, "venus_house": {"type": "integer"}, "mars_house": {"type": "integer"}}, "required": ["seventh_sign", "seventh_lord", "seventh_lord_house", "venus_house", "mars_house"]}, "paragraphs": {"type": "array", "items": {"type": "string"}}}, "required": ["basis", "paragraphs"]},
                        "health": {"type": "object", "properties": {"basis": {"type": "object", "properties": {"lagna_sign": {"type": "string"}, "sixth_sign": {"type": "string"}, "eighth_sign": {"type": "string"}}, "required": ["lagna_sign", "sixth_sign", "eighth_sign"]}, "paragraphs": {"type": "array", "items": {"type": "string"}}}, "required": ["basis", "paragraphs"]},
                        "spiritual": {"type": "object", "properties": {"basis": {"type": "object", "properties": {"ninth_sign": {"type": "string"}, "ninth_lord": {"type": "string"}, "ninth_lord_house": {"type": "integer"}, "twelfth_sign": {"type": "string"}, "twelfth_lord": {"type": "string"}, "jupiter_house": {"type": "integer"}, "ketu_house": {"type": "integer"}, "saturn_house": {"type": "integer"}}, "required": ["ninth_sign", "ninth_lord", "ninth_lord_house", "twelfth_sign", "twelfth_lord", "jupiter_house", "ketu_house", "saturn_house"]}, "paragraphs": {"type": "array", "items": {"type": "string"}}}, "required": ["basis", "paragraphs"]},
                        "children": {"type": "object", "properties": {"basis": {"type": "object", "properties": {"fifth_sign": {"type": "string"}, "fifth_lord": {"type": "string"}, "fifth_lord_house": {"type": "integer"}, "jupiter_house": {"type": "integer"}, "moon_house": {"type": "integer"}}, "required": ["fifth_sign", "fifth_lord", "fifth_lord_house", "jupiter_house", "moon_house"]}, "paragraphs": {"type": "array", "items": {"type": "string"}}}, "required": ["basis", "paragraphs"]}
                      },
                      "required": [
                        "section",
                        "ayanamsha",
                        "node",
                        "lagna",
                        "lagna_lord",
                        "moon_nakshatra",
                        "personality",
                        "mental",
                        "career",
                        "finance",
                        "relationships",
                        "health",
                        "spiritual",
                        "children"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "section": "life_report",
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "lagna": "Capricorn",
                        "lagna_lord": "Saturn",
                        "moon_nakshatra": "Chitra",
                        "personality": {"basis": {"lagna_sign": "Capricorn", "lagna_lord": "Saturn", "lagna_lord_house": 12}, "paragraphs": ["The native is born under an earth sign with Saturn as the ruling planet, giving a disciplined, ambitious and exceptionally patient personality. There is a natural gift for sustained effort, strategic planning and the gradual building of lasting structures. The native is responsible, practical and deeply committed to excellence and integrity in all endeavors. A serious demeanor and a strong work ethic distinguish this native in all professional and social contexts. Recognition and success come steadily through consistent effort over time.", "The ascending sign Capricorn belongs to the earth element in its most disciplined, ambitious and achievement-oriented manifestation. Earth lagna natives of Capricorn have exceptional patience, strategic intelligence and the remarkable capacity for sustained effort over very long periods of time. The earth element in Capricorn creates a personality that is responsible, practically grounded and deeply committed to building structures of lasting value and substance. The native's greatest gifts are organizational discipline, patient determination and the wisdom to play the long game in all areas of life.", "Capricorn is a movable or cardinal sign, giving the native significant executive initiative, strategic drive and the disciplined capacity to set ambitious long-term goals and move consistently toward them through sustained, structured effort. Cardinal-sign ascendants in Capricorn initiate through strategic planning, disciplined effort and the systematic construction of lasting achievement. The native is most vital when working toward clear, ambitious goals with patience and organisational precision."]},
                        "mental": {"basis": {"moon_sign": "Virgo", "moon_nakshatra": "Chitra", "mercury_house": 9, "moon_house": 9}, "paragraphs": ["The mind is analytical, precise and practical with a strong drive toward order, usefulness and improvement. The native processes emotions through analysis and may sometimes intellectualize feelings rather than simply experiencing them. Health-consciousness and a desire to serve are emotionally motivating.", "The birth nakshatra Chitra, ruled by Mars, gives the mind a creative, architecturally precise and aesthetically sophisticated quality. There is a powerful drive toward beauty, perfection and the creation of works of lasting elegance and structural integrity. The mind is artistic, visually gifted and drawn to design, architecture, gem-cutting and all forms of refined craftsmanship. A strong sense of personal identity and pride in the quality of one's creative work is characteristic.", "The Moon in the 9th house gives an emotionally expansive, philosophically oriented and naturally fortunate quality — travel, higher learning and spiritual experience deeply nourish the emotional life."]},
                        "career": {"basis": {"tenth_sign": "Libra", "tenth_lord": "Venus", "tenth_lord_house": 9, "sun_house": 10, "mars_house": 5, "saturn_house": 12}, "paragraphs": ["The 10th house falls in Libra, indicating a career in diplomacy, law, the arts and partnership-based endeavors. The native is suited to law, judiciary, diplomacy, fashion, design, counselling and all fields requiring balance, fairness and aesthetic refinement. Career success through partnerships and collaborative ventures is indicated.", "The lord of the 10th house in the 9th house creates a highly fortunate career in teaching, law, religion, publishing or philosophy. The native achieves professional distinction through wisdom, ethical conduct and the sustained cultivation of higher knowledge. International careers and cross-cultural professional activities are particularly favorable.", "The Sun placed in the 10th house is one of the most powerful career positions in the entire horoscope, giving the native exceptional professional recognition, executive authority and enduring public standing."], "planet_influences": ["The Sun's influence on the career gives the native a strong drive for authority, leadership and recognition. Government service, executive positions and roles requiring personal charisma and dignity are favored."]},
                        "finance": {"basis": {"second_lord": "Saturn", "second_lord_house": 12, "eleventh_lord": "Mars", "eleventh_lord_house": 5, "eleventh_sign": "Scorpio", "quality": "moderate"}, "paragraphs": ["The lord of the 2nd house placed in the 12th house may lead to significant expenditure, losses or expenses that exceed income. The native may earn in foreign lands or through spiritual work. Disciplined financial planning and avoidance of excess expenditure are essential.", "The lord of the 11th house in the 5th house gives gains through intellectual work, creative activities, education, speculation and the investments of intelligence.", "The 11th house of gains falls in Scorpio, indicating that income comes most naturally through research, investigation, insurance, inheritance, occult services and activities involving the management of other people's resources."]},
                        "relationships": {"basis": {"seventh_sign": "Cancer", "seventh_lord": "Moon", "seventh_lord_house": 9, "venus_house": 9, "mars_house": 5}, "paragraphs": ["The 7th house falls in Cancer, indicating a partner who is nurturing, emotionally sensitive, domestic and deeply loyal. Relationships have a strong emotional and domestic quality. The native is attracted to partners who offer genuine emotional security and a loving family-oriented environment.", "The lord of the 7th house in the 9th house gives an auspicious, philosophically compatible and fortunate marriage — the partner may be foreign-born, highly educated, spiritually inclined or connected to dharmic and philosophical pursuits.", "Venus in the 9th house gives a fortunate, philosophically aligned and spiritually enriching partnership with a shared love of beauty, travel and higher knowledge."]},
                        "health": {"basis": {"lagna_sign": "Capricorn", "sixth_sign": "Gemini", "eighth_sign": "Leo"}, "paragraphs": ["The Capricorn ascendant gives a lean, disciplined constitution with sensitivity in the bones, joints, knees and skin. Arthritis, joint problems, bone density issues and chronic conditions related to cold and dampness may require attention. Adequate nutrition, calcium intake, warmth and regular weight-bearing exercise are essential for structural health.", "The 6th house falls in Gemini, indicating tendencies toward respiratory conditions, nervous disorders, shoulder and arm issues and anxiety-related illnesses — breathing practices, regular rest, mental calming and nervous system support are highly beneficial preventive health strategies.", "The 8th house of longevity falls in Leo, indicating that transformative health events may involve the heart, spine or circulatory system. Cardiovascular health requires consistent long-term monitoring and care."]},
                        "spiritual": {"basis": {"ninth_sign": "Virgo", "ninth_lord": "Mercury", "ninth_lord_house": 9, "twelfth_sign": "Sagittarius", "twelfth_lord": "Jupiter", "jupiter_house": 7, "ketu_house": 7, "saturn_house": 12}, "paragraphs": ["The 9th house falls in Virgo, giving an analytical, service-oriented and disciplined approach to religion and philosophy. The native approaches spirituality through systematic study, ethical living and dedicated service. A preference for practical, grounded and intellectually coherent spiritual traditions is characteristic.", "The lord of the 9th house in its own sign powerfully strengthens dharma, fortune and spiritual wisdom — the native is naturally and deeply blessed with righteous understanding and a genuine capacity for spiritual living.", "The 12th house falls in Sagittarius, indicating that the spiritual path involves the progressive release of attachment to philosophical systems and the cultivation of direct, unmediated experience of truth. Long periods of retreat and philosophical solitude are naturally beneficial."]},
                        "children": {"basis": {"fifth_sign": "Taurus", "fifth_lord": "Venus", "fifth_lord_house": 9, "jupiter_house": 7, "moon_house": 9}, "paragraphs": ["The 5th house falls in Taurus, indicating children who are stable, affectionate and artistically gifted. The native will provide children with material comfort, beauty and emotional security. Relations with children will be warm, stable and enduring. Children may have a natural talent for music or the arts.", "The lord of the 5th house in the 9th house gives exceptionally fortunate, wise, spiritually gifted and philosophically inclined children — the native's deepest dharmic purpose is fulfilled through the development of their progeny.", "Jupiter in the 7th house gives children through the blessings of a highly compatible marriage — the partner's wisdom and generosity enhance the prospects for fortunate and gifted progeny."]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/vedic-transit": {
      "post": {
        "operationId": "vedic-transit",
        "summary": "Vedic Transit (Gochara)",
        "description": "Birth and transit positions side by side: the ascendant and each planet's sign, degree and nakshatra at birth and at the transit moment.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VedicTransitInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "birth": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                },
                "transit": {
                  "datetime": "2026-10-13T12:00:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "degrees_at_birth": {"type": "number"}}, "required": ["id", "degrees_at_birth"]},
                        "node": {"type": "string"},
                        "house_system": {"type": "string"},
                        "birth": {"type": "object", "properties": {"datetime": {"type": "string"}, "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["sign", "sign_number", "sign_lord", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_number", "nakshatra_lord", "pada"]}, "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}, "house": {"type": "integer"}, "speed": {"type": "number"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}}, "required": ["name", "sign", "sign_number", "sign_lord", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_number", "nakshatra_lord", "pada", "house", "speed", "retrograde", "combust"]}}}, "required": ["datetime", "ascendant", "planets"]},
                        "transit": {"type": "object", "properties": {"datetime": {"type": "string"}, "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["sign", "sign_number", "sign_lord", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_number", "nakshatra_lord", "pada"]}, "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "sign_number": {"type": "integer"}, "sign_lord": {"type": "string"}, "degree": {"type": "number"}, "degree_dms": {"type": "string"}, "longitude": {"type": "number"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "pada": {"type": "integer"}, "speed": {"type": "number"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}, "house_from_natal_ascendant": {"type": "integer"}, "house_from_natal_moon": {"type": "integer"}}, "required": ["name", "sign", "sign_number", "sign_lord", "degree", "degree_dms", "longitude", "nakshatra", "nakshatra_number", "nakshatra_lord", "pada", "speed", "retrograde", "combust", "house_from_natal_ascendant", "house_from_natal_moon"]}}}, "required": ["datetime", "ascendant", "planets"]}
                      },
                      "required": [
                        "ayanamsha",
                        "node",
                        "house_system",
                        "birth",
                        "transit"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri", "degrees_at_birth": 23.7285},
                        "node": "true",
                        "house_system": "whole_sign",
                        "birth": {"datetime": "1990-10-18T14:30:00", "ascendant": {"sign": "Capricorn", "sign_number": 10, "sign_lord": "Saturn", "degree": 23.8935, "degree_dms": "23-53-37", "longitude": 293.8935, "nakshatra": "Dhanishta", "nakshatra_number": 23, "nakshatra_lord": "Mars", "pada": 1}, "planets": [{"name": "Sun", "sign": "Libra", "sign_number": 7, "sign_lord": "Venus", "degree": 0.9951, "degree_dms": "00-59-42", "longitude": 180.9951, "nakshatra": "Chitra", "nakshatra_number": 14, "nakshatra_lord": "Mars", "pada": 3, "house": 10, "speed": 0.993145, "retrograde": false, "combust": false}, {"name": "Moon", "sign": "Virgo", "sign_number": 6, "sign_lord": "Mercury", "degree": 27.8766, "degree_dms": "27-52-36", "longitude": 177.8766, "nakshatra": "Chitra", "nakshatra_number": 14, "nakshatra_lord": "Mars", "pada": 2, "house": 9, "speed": 12.335806, "retrograde": false, "combust": true}, {"name": "Mars", "sign": "Taurus", "sign_number": 2, "sign_lord": "Venus", "degree": 20.7877, "degree_dms": "20-47-16", "longitude": 50.7877, "nakshatra": "Rohini", "nakshatra_number": 4, "nakshatra_lord": "Moon", "pada": 4, "house": 5, "speed": 0.035376, "retrograde": false, "combust": false}]},
                        "transit": {"datetime": "2026-10-13T12:00:00", "ascendant": {"sign": "Sagittarius", "sign_number": 9, "sign_lord": "Jupiter", "degree": 8.4146, "degree_dms": "08-24-52", "longitude": 248.4146, "nakshatra": "Mula", "nakshatra_number": 19, "nakshatra_lord": "Ketu", "pada": 3}, "planets": [{"name": "Sun", "sign": "Virgo", "sign_number": 6, "sign_lord": "Mercury", "degree": 25.7106, "degree_dms": "25-42-38", "longitude": 175.7106, "nakshatra": "Chitra", "nakshatra_number": 14, "nakshatra_lord": "Mars", "pada": 1, "speed": 0.990074, "retrograde": false, "combust": false, "house_from_natal_ascendant": 9, "house_from_natal_moon": 1}, {"name": "Moon", "sign": "Libra", "sign_number": 7, "sign_lord": "Venus", "degree": 26.2887, "degree_dms": "26-17-19", "longitude": 206.2887, "nakshatra": "Vishakha", "nakshatra_number": 16, "nakshatra_lord": "Jupiter", "pada": 2, "speed": 12.387853, "retrograde": false, "combust": false, "house_from_natal_ascendant": 10, "house_from_natal_moon": 2}, {"name": "Mars", "sign": "Cancer", "sign_number": 4, "sign_lord": "Moon", "degree": 14.4464, "degree_dms": "14-26-47", "longitude": 104.4464, "nakshatra": "Pushya", "nakshatra_number": 8, "nakshatra_lord": "Saturn", "pada": 4, "speed": 0.555657, "retrograde": false, "combust": false, "house_from_natal_ascendant": 7, "house_from_natal_moon": 11}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/predictions/navatara": {
      "post": {
        "operationId": "navatara",
        "summary": "Navatara Chakra",
        "description": "The nine taras counted from the birth nakshatra with each planet's tara placement.",
        "tags": [
          "predictions"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "janma_nakshatra": {"type": "object", "properties": {"name": {"type": "string"}, "number": {"type": "integer"}, "pada": {"type": "integer"}}, "required": ["name", "number", "pada"]},
                        "taras": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "name": {"type": "string"}, "nature": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "nakshatras": {"type": "array", "items": {"type": "object", "properties": {"cycle": {"type": "integer"}, "nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "bodies": {"type": "array", "items": {"type": "string"}}}, "required": ["cycle", "nakshatra", "nakshatra_number", "bodies"]}}, "about": {"type": "string"}, "reading": {"type": ["string", "null"]}}, "required": ["number", "name", "nature", "nakshatra_lord", "nakshatras", "about", "reading"]}},
                        "placements": {"type": "array", "items": {"type": "object", "properties": {"body": {"type": "string"}, "nakshatra": {"type": "string"}, "tara_number": {"type": "integer"}, "tara": {"type": "string"}}, "required": ["body", "nakshatra", "tara_number", "tara"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "janma_nakshatra",
                        "taras",
                        "placements"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "janma_nakshatra": {"name": "Chitra", "number": 14, "pada": 2},
                        "taras": [{"number": 1, "name": "Janma", "nature": "Neutral / Tense", "nakshatra_lord": "Mars", "nakshatras": [{"cycle": 1, "nakshatra": "Chitra", "nakshatra_number": 14, "bodies": ["Sun", "Moon", "Mercury"]}, {"cycle": 2, "nakshatra": "Dhanishta", "nakshatra_number": 23, "bodies": ["Ascendant"]}, {"cycle": 3, "nakshatra": "Mrigashira", "nakshatra_number": 5, "bodies": []}], "about": "Janma Tara is the birth nakshatra — the nakshatra in which the Moon is placed at birth. It establishes the native's core individuality and instinctive nature. The mind tends toward fickleness and unsteadiness during Janma Tara transits, mirroring the tension and stress present at the very moment of birth itself. It is not always favorable and can cause mental agitation and restlessness. The default ruler of Janma Tara is Sun.", "reading": "[Sun in Chitra — Early Life (Janma cycle)] The Sun occupying your Janma Tara nakshatra gives you a powerful, authoritative and self-assured personality. You are born with natural leadership qualities and a strong sense of individual identity. However the Sun in the Janma Tara also creates a certain restlessness of mind and a tendency toward pride that must be consciously moderated. Your father and government authorities play a defining role in shaping your life's direction.\n\n[Moon in Chitra — Early Life (Janma cycle)] The Moon in your Janma Tara nakshatra intensifies the lunar qualities of the birth star — giving you a deeply sensitive, intuitive and emotionally responsive nature. Your mind is strongly connected to the subconscious and to the instincts of your early environment. The mother and home life profoundly shape your identity. Mental restlessness and fluctuating moods are characteristic and the native must cultivate inner stillness through spiritual practice.\n\n[Mercury in Chitra — Early Life (Janma cycle)] Mercury in your Janma Tara nakshatra makes you intellectually sharp, communicatively gifted and analytically quick from childhood. Your mind is active and versatile and you will excel in fields requiring precise communication and intellectual dexterity. The tension of the Janma Tara, however, may cause the mind to scatter across too many interests simultaneously. Writing, teaching and commerce are your natural domains.\n\n[Venus in Chitra — Early Life (Janma cycle)] V [... 459 more characters]"}, {"number": 2, "name": "Sampat", "nature": "Auspicious", "nakshatra_lord": "Rahu", "nakshatras": [{"cycle": 1, "nakshatra": "Swati", "nakshatra_number": 15, "bodies": []}, {"cycle": 2, "nakshatra": "Shatabhisha", "nakshatra_number": 24, "bodies": []}, {"cycle": 3, "nakshatra": "Ardra", "nakshatra_number": 6, "bodies": []}], "about": "Sampat Tara relates to wealth, income and prosperity. It is highly favorable for all financial and money-related activities. Comparable to the 2nd and 11th houses of the horoscope, it signifies income and profits. Transits through the Sampat Tara nakshatra are excellent for business dealings and the accumulation of wealth. Ruled by Mercury.", "reading": null}, {"number": 3, "name": "Vipat", "nature": "Inauspicious", "nakshatra_lord": "Jupiter", "nakshatras": [{"cycle": 1, "nakshatra": "Vishakha", "nakshatra_number": 16, "bodies": []}, {"cycle": 2, "nakshatra": "Purva Bhadrapada", "nakshatra_number": 25, "bodies": []}, {"cycle": 3, "nakshatra": "Punarvasu", "nakshatra_number": 7, "bodies": []}], "about": "Vipat Tara translates literally to danger and obstacles. It brings the possibility of being hurt, embroiled in disputes or encountering sudden difficulties of all kinds. Transits or events coinciding with this Tara should be approached with great caution. Ruled by Rahu it can bring sudden and unpredictable challenges and reversals.", "reading": null}],
                        "placements": [{"body": "Sun", "nakshatra": "Chitra", "tara_number": 1, "tara": "Janma"}, {"body": "Moon", "nakshatra": "Chitra", "tara_number": 1, "tara": "Janma"}, {"body": "Mercury", "nakshatra": "Chitra", "tara_number": 1, "tara": "Janma"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/kp/kp-houses-planets": {
      "post": {
        "operationId": "kp-houses-planets",
        "summary": "KP Houses & Planets",
        "description": "Placidus cusps and planets with sign, star, sub and sub-sub lords, significators by planet and by house, ruling planets at birth, the Part of Fortune and Vimshottari periods.",
        "tags": [
          "kp"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/KPNodeInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}}, "required": ["id", "name"]},
                        "house_system": {"type": "string"},
                        "node": {"type": "string"},
                        "cusps": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}}, "required": ["house", "longitude", "sign", "degree", "sign_lord", "star_lord", "sub_lord", "sub_sub_lord"]}},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "retrograde": {"type": "boolean"}, "house": {"type": "integer"}, "sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra", "pada", "retrograde", "house", "sign_lord", "star_lord", "sub_lord", "sub_sub_lord"]}},
                        "significators": {"type": "object", "properties": {"by_planet": {"type": "object", "properties": {"Sun": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Saturn": {"type": "array", "items": {"type": "integer"}}, "Rahu": {"type": "array", "items": {"type": "integer"}}, "Ketu": {"type": "array", "items": {"type": "integer"}}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]}, "by_house": {"type": "object", "properties": {"1": {"type": "array", "items": {"type": "string"}}, "2": {"type": "array", "items": {"type": "string"}}, "3": {"type": "array", "items": {"type": "string"}}, "4": {"type": "array", "items": {"type": "string"}}, "5": {"type": "array", "items": {"type": "string"}}, "6": {"type": "array", "items": {"type": "string"}}, "7": {"type": "array", "items": {"type": "string"}}, "8": {"type": "array", "items": {"type": "string"}}, "9": {"type": "array", "items": {"type": "string"}}, "10": {"type": "array", "items": {"type": "string"}}, "11": {"type": "array", "items": {"type": "string"}}, "12": {"type": "array", "items": {"type": "string"}}}, "required": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]}}, "required": ["by_planet", "by_house"]},
                        "vimshottari": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}}, "required": ["lord", "start", "end", "antardashas"]}},
                        "ruling_planets_at_birth": {"type": "object", "properties": {"day_lord": {"type": "string"}, "moon": {"type": "object", "properties": {"sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}}, "required": ["sign_lord", "star_lord", "sub_lord"]}, "ascendant": {"type": "object", "properties": {"sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}}, "required": ["sign_lord", "star_lord", "sub_lord"]}, "nodes": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "object", "properties": {"relation": {"type": "string"}, "planet": {"type": "string"}}, "required": ["relation", "planet"]}}}, "required": ["name", "reasons"]}}}, "required": ["day_lord", "moon", "ascendant", "nodes"]},
                        "fortuna": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "house": {"type": "integer"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}, "formula": {"type": "string"}}, "required": ["longitude", "sign", "degree", "nakshatra", "pada", "house", "star_lord", "sub_lord", "sub_sub_lord", "formula"]}
                      },
                      "required": [
                        "ayanamsha",
                        "house_system",
                        "node",
                        "cusps",
                        "planets",
                        "significators",
                        "vimshottari",
                        "ruling_planets_at_birth",
                        "fortuna"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "krishnamurti", "name": "KP (Krishnamurti)"},
                        "house_system": "placidus",
                        "node": "true",
                        "cusps": [{"house": 1, "longitude": 293.9903, "sign": "Capricorn", "degree": 23.9903, "sign_lord": "Saturn", "star_lord": "Mars", "sub_lord": "Mars", "sub_sub_lord": "Venus"}, {"house": 2, "longitude": 334.8161, "sign": "Pisces", "degree": 4.8161, "sign_lord": "Jupiter", "star_lord": "Saturn", "sub_lord": "Saturn", "sub_sub_lord": "Mars"}, {"house": 3, "longitude": 9.7372, "sign": "Aries", "degree": 9.7372, "sign_lord": "Mars", "star_lord": "Ketu", "sub_lord": "Saturn", "sub_sub_lord": "Mercury"}],
                        "planets": [{"name": "Sun", "longitude": 181.0919, "sign": "Libra", "degree": 1.0919, "nakshatra": "Chitra", "pada": 3, "retrograde": false, "house": 8, "sign_lord": "Venus", "star_lord": "Mars", "sub_lord": "Mercury", "sub_sub_lord": "Rahu"}, {"name": "Moon", "longitude": 177.9736, "sign": "Virgo", "degree": 27.9736, "nakshatra": "Chitra", "pada": 2, "retrograde": false, "house": 8, "sign_lord": "Mercury", "star_lord": "Mars", "sub_lord": "Saturn", "sub_sub_lord": "Saturn"}, {"name": "Mars", "longitude": 50.8847, "sign": "Taurus", "degree": 20.8847, "nakshatra": "Rohini", "pada": 4, "retrograde": false, "house": 4, "sign_lord": "Venus", "star_lord": "Moon", "sub_lord": "Venus", "sub_sub_lord": "Sun"}],
                        "significators": {"by_planet": {"Sun": [4, 8, 3], "Moon": [4, 8, 3], "Mars": [8, 4, 7], "Mercury": [4, 8, 3], "Jupiter": [8, 6, 5], "Venus": [4, 8, 3], "Saturn": [8, 12, 4], "Rahu": [8, 12, 7], "Ketu": [12, 6, 1]}, "by_house": {"1": ["Ketu", "Rahu", "Saturn"], "2": ["Jupiter"], "3": ["Mars", "Mercury", "Moon"], "4": ["Mars", "Mercury", "Moon"], "5": ["Jupiter", "Mercury"], "6": ["Jupiter", "Ketu", "Mercury"], "7": ["Ketu", "Mars", "Moon"], "8": ["Jupiter", "Mars", "Mercury"], "9": ["Saturn", "Venus"], "10": ["Mars", "Mercury", "Moon"], "11": ["Jupiter"], "12": ["Jupiter", "Ketu", "Rahu"]}},
                        "vimshottari": [{"lord": "Mars", "start": "1990-10-18", "end": "1995-05-12", "antardashas": [{"lord": "Saturn", "start": "1990-10-18", "end": "1991-11-11"}, {"lord": "Mercury", "start": "1991-11-11", "end": "1992-11-07"}, {"lord": "Ketu", "start": "1992-11-07", "end": "1993-04-05"}]}, {"lord": "Rahu", "start": "1995-05-12", "end": "2013-05-11", "antardashas": [{"lord": "Rahu", "start": "1995-05-12", "end": "1998-01-22"}, {"lord": "Jupiter", "start": "1998-01-22", "end": "2000-06-17"}, {"lord": "Saturn", "start": "2000-06-17", "end": "2003-04-24"}]}, {"lord": "Jupiter", "start": "2013-05-11", "end": "2029-05-11", "antardashas": [{"lord": "Jupiter", "start": "2013-05-11", "end": "2015-06-29"}, {"lord": "Saturn", "start": "2015-06-29", "end": "2018-01-09"}, {"lord": "Mercury", "start": "2018-01-09", "end": "2020-04-16"}]}],
                        "ruling_planets_at_birth": {"day_lord": "Jupiter", "moon": {"sign_lord": "Mercury", "star_lord": "Mars", "sub_lord": "Saturn"}, "ascendant": {"sign_lord": "Saturn", "star_lord": "Mars", "sub_lord": "Mars"}, "nodes": [{"name": "Rahu", "reasons": [{"relation": "sign", "planet": "Saturn"}]}, {"name": "Ketu", "reasons": [{"relation": "star", "planet": "Saturn"}, {"relation": "same_sign", "planet": "Jupiter"}]}]},
                        "fortuna": {"longitude": 290.8719, "sign": "Capricorn", "degree": 20.8719, "nakshatra": "Shravana", "pada": 4, "house": 12, "star_lord": "Moon", "sub_lord": "Venus", "sub_sub_lord": "Sun", "formula": "Asc + Moon - Sun"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/kp/kp-horary": {
      "post": {
        "operationId": "kp-horary",
        "summary": "KP Horary (Prashna)",
        "description": "A KP horary chart from a number 1-249 (or the moment): cusps and planets with sign, star, sub and sub-sub lords, significators, ruling planets and Vimshottari periods.",
        "tags": [
          "kp"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/KPHoraryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "kp_horary_number": 100
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}}, "required": ["id", "name"]},
                        "house_system": {"type": "string"},
                        "kp_horary_number": {"type": "integer"},
                        "cusps": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}}, "required": ["house", "longitude", "sign", "degree", "sign_lord", "star_lord", "sub_lord", "sub_sub_lord"]}},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "retrograde": {"type": "boolean"}, "house": {"type": "integer"}, "sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra", "pada", "retrograde", "house", "sign_lord", "star_lord", "sub_lord", "sub_sub_lord"]}},
                        "significators": {"type": "object", "properties": {"by_planet": {"type": "object", "properties": {"Sun": {"type": "array", "items": {"type": "integer"}}, "Moon": {"type": "array", "items": {"type": "integer"}}, "Mars": {"type": "array", "items": {"type": "integer"}}, "Mercury": {"type": "array", "items": {"type": "integer"}}, "Jupiter": {"type": "array", "items": {"type": "integer"}}, "Venus": {"type": "array", "items": {"type": "integer"}}, "Saturn": {"type": "array", "items": {"type": "integer"}}, "Rahu": {"type": "array", "items": {"type": "integer"}}, "Ketu": {"type": "array", "items": {"type": "integer"}}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]}, "by_house": {"type": "object", "properties": {"1": {"type": "array", "items": {"type": "string"}}, "2": {"type": "array", "items": {"type": "string"}}, "3": {"type": "array", "items": {"type": "string"}}, "4": {"type": "array", "items": {"type": "string"}}, "5": {"type": "array", "items": {"type": "string"}}, "6": {"type": "array", "items": {"type": "string"}}, "7": {"type": "array", "items": {"type": "string"}}, "8": {"type": "array", "items": {"type": "string"}}, "9": {"type": "array", "items": {"type": "string"}}, "10": {"type": "array", "items": {"type": "string"}}, "11": {"type": "array", "items": {"type": "string"}}, "12": {"type": "array", "items": {"type": "string"}}}, "required": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]}}, "required": ["by_planet", "by_house"]},
                        "vimshottari": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "antardashas": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}}, "required": ["lord", "start", "end", "antardashas"]}},
                        "ruling_planets": {"type": "object", "properties": {"day_lord": {"type": "string"}, "moon": {"type": "object", "properties": {"sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}}, "required": ["sign_lord", "star_lord", "sub_lord"]}, "ascendant": {"type": "object", "properties": {"sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}}, "required": ["sign_lord", "star_lord", "sub_lord"]}, "nodes": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "object", "properties": {"relation": {"type": "string"}, "planet": {"type": "string"}}, "required": ["relation", "planet"]}}}, "required": ["name", "reasons"]}}}, "required": ["day_lord", "moon", "ascendant", "nodes"]}
                      },
                      "required": [
                        "ayanamsha",
                        "house_system",
                        "kp_horary_number",
                        "cusps",
                        "planets",
                        "significators",
                        "vimshottari",
                        "ruling_planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "krishnamurti", "name": "KP (Krishnamurti)"},
                        "house_system": "placidus",
                        "kp_horary_number": 100,
                        "cusps": [{"house": 1, "longitude": 144.0, "sign": "Leo", "degree": 24.0, "sign_lord": "Sun", "star_lord": "Venus", "sub_lord": "Mercury", "sub_sub_lord": "Mercury"}, {"house": 2, "longitude": 169.4436, "sign": "Virgo", "degree": 19.4436, "sign_lord": "Mercury", "star_lord": "Moon", "sub_lord": "Mercury", "sub_sub_lord": "Saturn"}, {"house": 3, "longitude": 198.8811, "sign": "Libra", "degree": 18.8811, "sign_lord": "Venus", "star_lord": "Rahu", "sub_lord": "Moon", "sub_sub_lord": "Mercury"}],
                        "planets": [{"name": "Sun", "longitude": 181.0919, "sign": "Libra", "degree": 1.0919, "nakshatra": "Chitra", "pada": 3, "retrograde": false, "house": 2, "sign_lord": "Venus", "star_lord": "Mars", "sub_lord": "Mercury", "sub_sub_lord": "Rahu"}, {"name": "Moon", "longitude": 177.9736, "sign": "Virgo", "degree": 27.9736, "nakshatra": "Chitra", "pada": 2, "retrograde": false, "house": 2, "sign_lord": "Mercury", "star_lord": "Mars", "sub_lord": "Saturn", "sub_sub_lord": "Saturn"}, {"name": "Mars", "longitude": 50.8847, "sign": "Taurus", "degree": 20.8847, "nakshatra": "Rohini", "pada": 4, "retrograde": false, "house": 9, "sign_lord": "Venus", "star_lord": "Moon", "sub_lord": "Venus", "sub_sub_lord": "Sun"}],
                        "significators": {"by_planet": {"Sun": [9, 2, 4], "Moon": [9, 2, 4], "Mars": [2, 9, 12], "Mercury": [9, 2, 4], "Jupiter": [2, 11, 5], "Venus": [9, 2, 4], "Saturn": [2, 5, 3], "Rahu": [2, 5, 12], "Ketu": [5, 11, 6]}, "by_house": {"1": ["Sun"], "2": ["Jupiter", "Mars", "Mercury"], "3": ["Saturn", "Venus"], "4": ["Mars", "Mercury", "Moon"], "5": ["Jupiter", "Ketu", "Rahu"], "6": ["Ketu", "Rahu", "Saturn"], "7": ["Ketu", "Rahu", "Saturn"], "8": ["Jupiter"], "9": ["Mars", "Mercury", "Moon"], "10": ["Saturn", "Venus"], "11": ["Jupiter", "Ketu", "Mercury"], "12": ["Ketu", "Mars", "Moon"]}},
                        "vimshottari": [{"lord": "Mars", "start": "1990-10-18", "end": "1995-05-12", "antardashas": [{"lord": "Saturn", "start": "1990-10-18", "end": "1991-11-11"}, {"lord": "Mercury", "start": "1991-11-11", "end": "1992-11-07"}, {"lord": "Ketu", "start": "1992-11-07", "end": "1993-04-05"}]}, {"lord": "Rahu", "start": "1995-05-12", "end": "2013-05-11", "antardashas": [{"lord": "Rahu", "start": "1995-05-12", "end": "1998-01-22"}, {"lord": "Jupiter", "start": "1998-01-22", "end": "2000-06-17"}, {"lord": "Saturn", "start": "2000-06-17", "end": "2003-04-24"}]}, {"lord": "Jupiter", "start": "2013-05-11", "end": "2029-05-11", "antardashas": [{"lord": "Jupiter", "start": "2013-05-11", "end": "2015-06-29"}, {"lord": "Saturn", "start": "2015-06-29", "end": "2018-01-09"}, {"lord": "Mercury", "start": "2018-01-09", "end": "2020-04-16"}]}],
                        "ruling_planets": {"day_lord": "Jupiter", "moon": {"sign_lord": "Mercury", "star_lord": "Mars", "sub_lord": "Saturn"}, "ascendant": {"sign_lord": "Saturn", "star_lord": "Mars", "sub_lord": "Mars"}, "nodes": [{"name": "Rahu", "reasons": [{"relation": "sign", "planet": "Saturn"}]}, {"name": "Ketu", "reasons": [{"relation": "star", "planet": "Saturn"}, {"relation": "same_sign", "planet": "Jupiter"}]}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/kp/kp-transit": {
      "post": {
        "operationId": "kp-transit",
        "summary": "KP Transit",
        "description": "Birth and transit points with their KP lords, the ruling planets at birth and at the transit, and the Vimshottari periods running at the transit.",
        "tags": [
          "kp"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/KPTransitInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "transit": {
                  "datetime": "2026-10-13T12:00:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}}, "required": ["id", "name"]},
                        "birth": {"type": "object", "properties": {"points": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}, "retrograde": {"type": "boolean"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra", "pada", "sign_lord", "star_lord", "sub_lord", "sub_sub_lord"]}}, "ruling_planets": {"type": "object", "properties": {"day_lord": {"type": "string"}, "moon": {"type": "object", "properties": {"sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}}, "required": ["sign_lord", "star_lord", "sub_lord"]}, "ascendant": {"type": "object", "properties": {"sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}}, "required": ["sign_lord", "star_lord", "sub_lord"]}, "nodes": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "object", "properties": {"relation": {"type": "string"}, "planet": {"type": "string"}}, "required": ["relation", "planet"]}}}, "required": ["name", "reasons"]}}}, "required": ["day_lord", "moon", "ascendant", "nodes"]}}, "required": ["points", "ruling_planets"]},
                        "transit": {"type": "object", "properties": {"datetime": {"type": "string"}, "points": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}, "natal_sign_house": {"type": "integer"}, "retrograde": {"type": "boolean"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra", "pada", "sign_lord", "star_lord", "sub_lord", "sub_sub_lord", "natal_sign_house"]}}, "ruling_planets": {"type": "object", "properties": {"day_lord": {"type": "string"}, "moon": {"type": "object", "properties": {"sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}}, "required": ["sign_lord", "star_lord", "sub_lord"]}, "ascendant": {"type": "object", "properties": {"sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}}, "required": ["sign_lord", "star_lord", "sub_lord"]}, "nodes": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "object", "properties": {"relation": {"type": "string"}, "planet": {"type": "string"}}, "required": ["relation", "planet"]}}}, "required": ["name", "reasons"]}}}, "required": ["day_lord", "moon", "ascendant", "nodes"]}}, "required": ["datetime", "points", "ruling_planets"]},
                        "vimshottari_at_transit": {"type": "object", "properties": {"mahadasha": {"type": "string"}, "antardasha": {"type": "string"}}, "required": ["mahadasha", "antardasha"]}
                      },
                      "required": [
                        "ayanamsha",
                        "birth",
                        "transit",
                        "vimshottari_at_transit"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "krishnamurti", "name": "KP (Krishnamurti)"},
                        "birth": {"points": [{"name": "Ascendant", "longitude": 293.9903, "sign": "Capricorn", "degree": 23.9903, "nakshatra": "Dhanishta", "pada": 1, "sign_lord": "Saturn", "star_lord": "Mars", "sub_lord": "Mars", "sub_sub_lord": "Venus"}, {"name": "Sun", "longitude": 181.0919, "sign": "Libra", "degree": 1.0919, "nakshatra": "Chitra", "pada": 3, "sign_lord": "Venus", "star_lord": "Mars", "sub_lord": "Mercury", "sub_sub_lord": "Rahu", "retrograde": false}, {"name": "Moon", "longitude": 177.9736, "sign": "Virgo", "degree": 27.9736, "nakshatra": "Chitra", "pada": 2, "sign_lord": "Mercury", "star_lord": "Mars", "sub_lord": "Saturn", "sub_sub_lord": "Saturn", "retrograde": false}], "ruling_planets": {"day_lord": "Jupiter", "moon": {"sign_lord": "Mercury", "star_lord": "Mars", "sub_lord": "Saturn"}, "ascendant": {"sign_lord": "Saturn", "star_lord": "Mars", "sub_lord": "Mars"}, "nodes": [{"name": "Rahu", "reasons": [{"relation": "sign", "planet": "Saturn"}]}, {"name": "Ketu", "reasons": [{"relation": "star", "planet": "Saturn"}, {"relation": "same_sign", "planet": "Jupiter"}]}]}},
                        "transit": {"datetime": "2026-10-13T12:00:00", "points": [{"name": "Ascendant", "longitude": 248.5114, "sign": "Sagittarius", "degree": 8.5114, "nakshatra": "Mula", "pada": 3, "sign_lord": "Jupiter", "star_lord": "Ketu", "sub_lord": "Jupiter", "sub_sub_lord": "Venus", "natal_sign_house": 12}, {"name": "Sun", "longitude": 175.8075, "sign": "Virgo", "degree": 25.8075, "nakshatra": "Chitra", "pada": 1, "sign_lord": "Mercury", "star_lord": "Mars", "sub_lord": "Rahu", "sub_sub_lord": "Sun", "retrograde": false, "natal_sign_house": 9}, {"name": "Moon", "longitude": 206.3856, "sign": "Libra", "degree": 26.3856, "nakshatra": "Vishakha", "pada": 2, "sign_lord": "Venus", "star_lord": "Jupiter", "sub_lord": "Ketu", "sub_sub_lord": "Saturn", "retrograde": false, "natal_sign_house": 10}], "ruling_planets": {"day_lord": "Mars", "moon": {"sign_lord": "Venus", "star_lord": "Jupiter", "sub_lord": "Ketu"}, "ascendant": {"sign_lord": "Jupiter", "star_lord": "Ketu", "sub_lord": "Jupiter"}, "nodes": [{"name": "Rahu", "reasons": [{"relation": "star", "planet": "Mars"}]}]}},
                        "vimshottari_at_transit": {"mahadasha": "Jupiter", "antardasha": "Mars"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["natal_sign_house counts whole signs from the natal ascendant sign, not Placidus cusps."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/kp/kp-ephemeris": {
      "post": {
        "operationId": "kp-ephemeris",
        "summary": "KP Ephemeris",
        "description": "For a month, either daily planetary positions with KP lords, or one planet's sign, star and sub-lord changes with the time each starts.",
        "tags": [
          "kp"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/KPEphemerisInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "year": 2026,
                "month": 10,
                "timezone": "Asia/Kolkata",
                "planet": "Moon",
                "mode": "sub"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}}, "required": ["id", "name"]},
                        "planet": {"type": "string"},
                        "mode": {"type": "string"},
                        "utc_offset_hours": {"type": "number"},
                        "note": {"type": "string"},
                        "periods": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}}, "required": ["start", "sign_lord", "star_lord", "sub_lord"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "planet",
                        "mode",
                        "utc_offset_hours",
                        "note",
                        "periods"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "krishnamurti", "name": "KP (Krishnamurti)"},
                        "planet": "Moon",
                        "mode": "sub",
                        "utc_offset_hours": 5.5,
                        "note": "Each period starts at `start` and lasts until the next one. The first starts at the window opening (local midnight on the 1st), not at a change. Times are truncated to the second.",
                        "periods": [{"start": "2026-10-01T00:00:00", "sign_lord": "Venus", "star_lord": "Sun", "sub_lord": "Mercury"}, {"start": "2026-10-01T00:50:39", "sign_lord": "Venus", "star_lord": "Sun", "sub_lord": "Ketu"}, {"start": "2026-10-01T02:09:05", "sign_lord": "Venus", "star_lord": "Sun", "sub_lord": "Venus"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/kp/kp-btr": {
      "post": {
        "operationId": "kp-btr",
        "summary": "KP Birth-Time Rectification Aid",
        "description": "Ascendant sign, star, sub and sub-sub lord periods within a window around a given birth time, for rectification.",
        "tags": [
          "kp"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/KPBTRInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}}, "required": ["id", "name"]},
                        "house_system": {"type": "string"},
                        "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]},
                        "note": {"type": "string"},
                        "periods": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "sign_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}}, "required": ["start", "end", "sign_lord", "star_lord", "sub_lord", "sub_sub_lord"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "house_system",
                        "window",
                        "note",
                        "periods"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "krishnamurti", "name": "KP (Krishnamurti)"},
                        "house_system": "placidus",
                        "window": {"start": "1990-10-18T14:00:00", "end": "1990-10-18T15:00:00"},
                        "note": "Ascendant sign, star, sub and sub-sub lords by period, local time to the nearest second. The first period starts at the window opening and the last ends at its close, not at a change of lord.",
                        "periods": [{"start": "1990-10-18T14:00:00", "end": "1990-10-18T14:00:25", "sign_lord": "Saturn", "star_lord": "Moon", "sub_lord": "Jupiter", "sub_sub_lord": "Venus"}, {"start": "1990-10-18T14:00:25", "end": "1990-10-18T14:00:43", "sign_lord": "Saturn", "star_lord": "Moon", "sub_lord": "Jupiter", "sub_sub_lord": "Sun"}, {"start": "1990-10-18T14:00:43", "end": "1990-10-18T14:01:13", "sign_lord": "Saturn", "star_lord": "Moon", "sub_lord": "Jupiter", "sub_sub_lord": "Moon"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/lal-kitab/lal-kitab-chart": {
      "post": {
        "operationId": "lal-kitab-chart",
        "summary": "Lal Kitab Chart & Predictions",
        "description": "Lal Kitab planets and houses (with dormant, fate and permanent-house markers), the chalit, planetary friendship and the Budh bhed check with remedies.",
        "tags": [
          "lal-kitab"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "note": {"type": "string"},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "house": {"type": "integer"}, "house_sign": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "house_sign_relation": {"type": "string"}, "dormant": {"type": "boolean"}, "awakens_fate": {"type": "boolean"}, "greh_phal": {"type": "boolean"}, "rashi_phal": {"type": "boolean"}, "nature": {"type": "string"}}, "required": ["name", "house", "house_sign", "sign", "degree", "house_sign_relation", "dormant", "awakens_fate", "greh_phal", "rashi_phal", "nature"]}},
                        "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "lords": {"type": "array", "items": {"type": "string"}}, "permanent_house_of": {"type": "array", "items": {"type": "string"}}, "fate_planets": {"type": "array", "items": {"type": "string"}}, "exalted_planets": {"type": "array", "items": {"type": "string"}}, "debilitated_planets": {"type": "array", "items": {"type": "string"}}, "dormant_house": {"type": ["boolean", "null"]}, "occupants": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "lords", "permanent_house_of", "fate_planets", "exalted_planets", "debilitated_planets", "dormant_house", "occupants"]}},
                        "chalit": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "sign": {"type": "string"}, "planets": {"type": "array"}}, "required": ["house", "sign", "planets"]}},
                        "friendship": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"friends": {"type": "array", "items": {"type": "string"}}, "neutral": {"type": "array", "items": {"type": "string"}}, "enemies": {"type": "array", "items": {"type": "string"}}}, "required": ["friends", "neutral", "enemies"]}, "Moon": {"type": "object", "properties": {"friends": {"type": "array", "items": {"type": "string"}}, "neutral": {"type": "array", "items": {"type": "string"}}, "enemies": {"type": "array", "items": {"type": "string"}}}, "required": ["friends", "neutral", "enemies"]}, "Mars": {"type": "object", "properties": {"friends": {"type": "array", "items": {"type": "string"}}, "neutral": {"type": "array", "items": {"type": "string"}}, "enemies": {"type": "array", "items": {"type": "string"}}}, "required": ["friends", "neutral", "enemies"]}, "Mercury": {"type": "object", "properties": {"friends": {"type": "array", "items": {"type": "string"}}, "neutral": {"type": "array", "items": {"type": "string"}}, "enemies": {"type": "array", "items": {"type": "string"}}}, "required": ["friends", "neutral", "enemies"]}, "Jupiter": {"type": "object", "properties": {"friends": {"type": "array", "items": {"type": "string"}}, "neutral": {"type": "array", "items": {"type": "string"}}, "enemies": {"type": "array", "items": {"type": "string"}}}, "required": ["friends", "neutral", "enemies"]}, "Venus": {"type": "object", "properties": {"friends": {"type": "array", "items": {"type": "string"}}, "neutral": {"type": "array", "items": {"type": "string"}}, "enemies": {"type": "array", "items": {"type": "string"}}}, "required": ["friends", "neutral", "enemies"]}, "Saturn": {"type": "object", "properties": {"friends": {"type": "array", "items": {"type": "string"}}, "neutral": {"type": "array", "items": {"type": "string"}}, "enemies": {"type": "array", "items": {"type": "string"}}}, "required": ["friends", "neutral", "enemies"]}, "Rahu": {"type": "object", "properties": {"friends": {"type": "array", "items": {"type": "string"}}, "neutral": {"type": "array", "items": {"type": "string"}}, "enemies": {"type": "array", "items": {"type": "string"}}}, "required": ["friends", "neutral", "enemies"]}, "Ketu": {"type": "object", "properties": {"friends": {"type": "array", "items": {"type": "string"}}, "neutral": {"type": "array", "items": {"type": "string"}}, "enemies": {"type": "array", "items": {"type": "string"}}}, "required": ["friends", "neutral", "enemies"]}}, "required": ["Sun", "Moon", "Mars", "Mercury", "Jupiter", "Venus", "Saturn", "Rahu", "Ketu"]},
                        "budh_bhed": {"type": "object", "properties": {"present": {"type": "boolean"}, "planet": {"type": "string"}, "role": {"type": "string"}, "reason": {"type": "string"}, "remedies": {"type": "array", "items": {"type": "object", "properties": {"remedy": {"type": "string"}, "reason": {"type": "string"}, "expected_benefit": {"type": "string"}}, "required": ["remedy", "reason", "expected_benefit"]}}}, "required": ["present", "planet", "role", "reason", "remedies"]}
                      },
                      "required": [
                        "ayanamsha",
                        "note",
                        "planets",
                        "houses",
                        "chalit",
                        "friendship",
                        "budh_bhed"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "note": "Lal Kitab fixes Aries on house 1: `house_sign` is the house's Lal Kitab sign, `sign` the planet's real sign.",
                        "planets": [{"name": "Sun", "house": 10, "house_sign": "Capricorn", "sign": "Libra", "degree": 0.995, "house_sign_relation": "enemy", "dormant": true, "awakens_fate": false, "greh_phal": false, "rashi_phal": false, "nature": "malefic"}, {"name": "Moon", "house": 9, "house_sign": "Sagittarius", "sign": "Virgo", "degree": 27.8767, "house_sign_relation": "neutral", "dormant": true, "awakens_fate": false, "greh_phal": false, "rashi_phal": true, "nature": "malefic"}, {"name": "Mars", "house": 5, "house_sign": "Leo", "sign": "Taurus", "degree": 20.7878, "house_sign_relation": "friendly", "dormant": true, "awakens_fate": false, "greh_phal": false, "rashi_phal": false, "nature": "benefic"}],
                        "houses": [{"house": 1, "lords": ["Mars"], "permanent_house_of": ["Sun"], "fate_planets": ["Mars"], "exalted_planets": ["Sun"], "debilitated_planets": ["Saturn"], "dormant_house": null, "occupants": ["Rahu"]}, {"house": 2, "lords": ["Venus"], "permanent_house_of": ["Jupiter"], "fate_planets": ["Moon"], "exalted_planets": ["Moon"], "debilitated_planets": [], "dormant_house": false, "occupants": []}, {"house": 3, "lords": ["Mercury"], "permanent_house_of": ["Mars"], "fate_planets": ["Mercury"], "exalted_planets": ["Rahu"], "debilitated_planets": ["Ketu"], "dormant_house": false, "occupants": []}],
                        "chalit": [{"house": 1, "sign": "Capricorn", "planets": []}, {"house": 2, "sign": "Aquarius", "planets": []}, {"house": 3, "sign": "Aries", "planets": []}],
                        "friendship": {"Sun": {"friends": ["Jupiter", "Mars", "Moon"], "neutral": ["Mercury"], "enemies": ["Venus", "Saturn", "Rahu"]}, "Moon": {"friends": ["Sun", "Jupiter"], "neutral": ["Venus", "Saturn", "Mars"], "enemies": ["Ketu", "Rahu"]}, "Mars": {"friends": ["Sun", "Moon", "Jupiter"], "neutral": ["Venus", "Saturn", "Rahu"], "enemies": ["Mercury", "Ketu"]}, "Mercury": {"friends": ["Sun", "Venus", "Rahu"], "neutral": ["Saturn", "Ketu", "Mars"], "enemies": ["Moon"]}, "Jupiter": {"friends": ["Sun", "Moon", "Mars"], "neutral": ["Rahu", "Ketu", "Saturn"], "enemies": ["Mercury", "Venus"]}, "Venus": {"friends": ["Saturn", "Mercury", "Ketu"], "neutral": ["Mars", "Jupiter"], "enemies": ["Sun", "Moon", "Rahu"]}, "Saturn": {"friends": ["Mercury", "Venus", "Rahu"], "neutral": ["Ketu", "Jupiter"], "enemies": ["Sun", "Moon", "Mars"]}, "Rahu": {"friends": ["Mercury", "Saturn", "Ketu"], "neutral": ["Moon", "Jupiter"], "enemies": ["Sun", "Venus", "Mars"]}, "Ketu": {"friends": ["Venus", "Saturn"], "neutral": ["Mercury", "Sun", "Jupiter"], "enemies": ["Moon", "Mars"]}},
                        "budh_bhed": {"present": true, "planet": "Moon", "role": "Enemy", "reason": "Budh (Mercury) shares House 9 with Moon (Mercury's Lal Kitab enemy). Per Lal Kitab, Mercury adopts Moon's Bhed and acts as its Enemy.", "remedies": [{"remedy": "Keep a silver item and offer milk; respect the mother and elderly women.", "reason": "Budh Ka Bhed with Moon gives a malefic result in House 9.", "expected_benefit": "Pacifies the Moon influence on Mercury and steadies Mercury's results."}, {"remedy": "Feed green fodder to a cow; keep relations with sisters/daughters cordial.", "reason": "Strengthen Mercury so its own Greh Phal is not overshadowed by the Bhed.", "expected_benefit": "Restores Mercury's clarity, speech and stability."}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/lal-kitab/lal-kitab-varshaphal": {
      "post": {
        "operationId": "lal-kitab-varshaphal",
        "summary": "Lal Kitab Varshaphal",
        "description": "Lal Kitab annual chart for a target year: each planet's house and nature, and the monthly charts.",
        "tags": [
          "lal-kitab"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LKVarshaphalInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "target_year": 2026
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "target_year": {"type": "integer"},
                        "running_year": {"type": "integer"},
                        "start": {"type": "string"},
                        "end": {"type": "string"},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "house": {"type": "integer"}, "nature": {"type": "string"}}, "required": ["name", "house", "nature"]}},
                        "months": {"type": "array", "items": {"type": "object", "properties": {"month": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "house": {"type": "integer"}, "nature": {"type": "string"}}, "required": ["name", "house", "nature"]}}}, "required": ["month", "start", "end", "planets"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "target_year",
                        "running_year",
                        "start",
                        "end",
                        "planets",
                        "months"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "target_year": 2026,
                        "running_year": 36,
                        "start": "2025-10-18",
                        "end": "2026-10-18",
                        "planets": [{"name": "Sun", "house": 11, "nature": "malefic"}, {"name": "Moon", "house": 3, "nature": "benefic"}, {"name": "Mars", "house": 12, "nature": "benefic"}],
                        "months": [{"month": 1, "start": "2025-10-18", "end": "2025-11-18", "planets": [{"name": "Sun", "house": 11, "nature": "malefic"}, {"name": "Moon", "house": 3, "nature": "benefic"}, {"name": "Mars", "house": 12, "nature": "benefic"}]}, {"month": 2, "start": "2025-11-18", "end": "2025-12-18", "planets": [{"name": "Sun", "house": 12, "nature": "benefic"}, {"name": "Moon", "house": 4, "nature": "benefic"}, {"name": "Mars", "house": 1, "nature": "benefic"}]}, {"month": 3, "start": "2025-12-18", "end": "2026-01-18", "planets": [{"name": "Sun", "house": 1, "nature": "benefic"}, {"name": "Moon", "house": 5, "nature": "benefic"}, {"name": "Mars", "house": 2, "nature": "malefic"}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/lal-kitab/lal-kitab-prediction": {
      "post": {
        "operationId": "lal-kitab-prediction",
        "summary": "Lal Kitab Annual Prediction",
        "description": "Readings for a target year: a summary and readings from the birth chart and from the Lal Kitab annual chart.",
        "tags": [
          "lal-kitab"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LKVarshaphalInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "target_year": 2026
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "target_year": {"type": "integer"},
                        "note": {"type": "string"},
                        "natal": {"type": "object", "properties": {"summary": {"type": "object", "properties": {"benefic_count": {"type": "integer"}, "malefic_count": {"type": "integer"}, "dormant_planets": {"type": "array", "items": {"type": "string"}}, "fate_awakening_planets": {"type": "array"}, "occupied_houses": {"type": "array", "items": {"type": "integer"}}, "vacant_houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["benefic_count", "malefic_count", "dormant_planets", "fate_awakening_planets", "occupied_houses", "vacant_houses"]}, "readings": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}, "nature": {"type": "string"}, "house_sign_relation": {"type": "string"}, "summary": {"type": "string"}, "if_benefic": {"type": "string"}, "if_malefic": {"type": "string"}, "remedies": {"type": "array", "items": {"type": "string"}}}, "required": ["planet", "house", "nature", "house_sign_relation", "summary", "if_benefic", "if_malefic", "remedies"]}}}, "required": ["summary", "readings"]},
                        "annual": {"type": "object", "properties": {"summary": {"type": "object", "properties": {"benefic_count": {"type": "integer"}, "malefic_count": {"type": "integer"}, "dormant_planets": {"type": "array", "items": {"type": "string"}}, "fate_awakening_planets": {"type": "array", "items": {"type": "string"}}, "occupied_houses": {"type": "array", "items": {"type": "integer"}}, "vacant_houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["benefic_count", "malefic_count", "dormant_planets", "fate_awakening_planets", "occupied_houses", "vacant_houses"]}, "readings": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}, "nature": {"type": "string"}, "house_sign_relation": {"type": "string"}, "summary": {"type": "string"}, "if_benefic": {"type": "string"}, "if_malefic": {"type": "string"}, "remedies": {"type": "array", "items": {"type": "string"}}}, "required": ["planet", "house", "nature", "house_sign_relation", "summary", "if_benefic", "if_malefic", "remedies"]}}}, "required": ["summary", "readings"]}
                      },
                      "required": [
                        "ayanamsha",
                        "target_year",
                        "note",
                        "natal",
                        "annual"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri"},
                        "target_year": 2026,
                        "note": "Lal Kitab fixes Aries on house 1: `house_sign_relation` relates the planet to the house's Lal Kitab sign. `annual` is the Lal Kitab annual chart for the target year (the age-table chart lal-kitab-varshaphal draws).",
                        "natal": {"summary": {"benefic_count": 1, "malefic_count": 8, "dormant_planets": ["Sun", "Moon", "Mars"], "fate_awakening_planets": [], "occupied_houses": [1, 5, 7], "vacant_houses": [2, 3, 4]}, "readings": [{"planet": "Sun", "house": 10, "nature": "malefic", "house_sign_relation": "enemy", "summary": "This house belongs to Saturn, and Saturn acts as an enemy influence for Sun. In the birth chart, Sun here strongly influences career, authority, reputation, responsibility and visible status. The planet naturally represents authority, father, confidence, status and vitality. When handled well, this placement can produce honor, leadership, truthfulness and public respect; when disturbed, it may create ego clashes, government trouble, heat-related stress and harshness.", "if_benefic": "If benefic, Sun in the 10th house supports career, authority, reputation, responsibility and visible status. It can give honor, leadership, truthfulness and public respect and improve matters connected with authority, father, confidence, status and vitality.", "if_malefic": "If malefic, Sun in the 10th house can disturb career pressure, humiliation, delays and trouble from authority. It may show up as ego clashes, government trouble, heat-related stress and harshness in a more visible way during the natal pattern. Because this planet is sleeping in Lal Kitab terms, its promises may stay blocked until conduct, discipline and remedies are corrected. The placement code ENSIGN also suggests that the planet may struggle to express its strength cleanly.", "remedies": ["Never wear black or blue colored clothes.", "Dropping a copper coin into a river or canal for 43 consecutive days will be auspicious.", "Avoid meat and alcohol."]}, {"planet": "Moon", "house": 9, "nature": "malefic", "house_sign_relation": "neutral", "summary": "This house belongs to Jupiter, and Jupiter acts as a neutral influence for Moon. In the birth chart, Moon here strongly influences fortune, father, teachers, blessings, faith and higher progress. The planet naturally represents mind, mother, emotions, nourishment and public mood. When handled well, this placement can produce peace, sensitivity, care, popularity and emotional support; when disturbed, it may create fear, instability, weak concentration and domestic unease.", "if_benefic": "If benefic, Moon in the 9th house supports fortune, father, teachers, blessings, faith and higher progress. It can give peace, sensitivity, care, popularity and emotional support and improve matters connected with mind, mother, emotions, nourishment and public mood.", "if_malefic": "If malefic, Moon in the 9th house can disturb loss of grace, disputes with elders, weak luck and ethical confusion. It may show up as fear, instability, weak concentration and domestic unease in a more visible way during the natal pattern. Because this planet is sleeping in Lal Kitab terms, its promises may stay blocked until conduct, discipline and remedies are corrected.", "remedies": ["Keep Moon-related items at home, such as a square piece of silver in the cupboard.", "Serve milk to laborers and workers.", "Feed milk to snakes and put rice for fish in water."]}, {"planet": "Mars", "house": 5, "nature": "benefic", "house_sign_relation": "friendly", "summary": "This house belongs to Sun, and Sun acts as a friend influence for Mars. In the birth chart, Mars here strongly influences children, education, creativity, intelligence and planning. The planet naturally represents courage, brothers, land, force, protection and decisive action. When handled well, this placement can produce bravery, initiative, authority and strength in competition; when disturbed, it may create anger, injuries, disputes, impulsiveness and aggression.", "if_benefic": "If benefic, Mars in the 5th house supports children, education, creativity, intelligence and planning. It can give bravery, initiative, authority and strength in competition and improve matters connected with courage, brothers, land, force, protection and decisive action. The current Lal Kitab placement code is FRSIGN, so the planet is better able to deliver its useful results during this life period.", "if_malefic": "If malefic, Mars in the 5th house can disturb worry regarding children, poor judgment and speculative loss. It may show up as anger, injuries, disputes, impulsiveness and aggression in a more visible way during the natal pattern. Because this planet is sleeping in Lal Kitab terms, its promises may stay blocked until conduct, discipline and remedies are corrected.", "remedies": ["Maintain good moral character.", "At night, keep a vessel of water at the head of your bed and in the morning pour it into a plant pot.", "Perform shradh (ritual) for your ancestors and plant a neem tree at home."]}]},
                        "annual": {"summary": {"benefic_count": 6, "malefic_count": 3, "dormant_planets": ["Moon", "Mercury", "Venus"], "fate_awakening_planets": ["Mercury"], "occupied_houses": [3, 4, 5], "vacant_houses": [1, 2, 7]}, "readings": [{"planet": "Sun", "house": 11, "nature": "malefic", "house_sign_relation": "enemy", "summary": "This house belongs to Saturn, and Saturn acts as an enemy influence for Sun. In the Varshaphal chart, Sun here strongly influences income, gains, fulfillment of desires, friends and support circles. The planet naturally represents authority, father, confidence, status and vitality. When handled well, this placement can produce honor, leadership, truthfulness and public respect; when disturbed, it may create ego clashes, government trouble, heat-related stress and harshness.", "if_benefic": "If benefic, Sun in the 11th house supports income, gains, fulfillment of desires, friends and support circles. It can give honor, leadership, truthfulness and public respect and improve matters connected with authority, father, confidence, status and vitality.", "if_malefic": "If malefic, Sun in the 11th house can disturb greed, unstable gains, false friends and overdependence on others. It may show up as ego clashes, government trouble, heat-related stress and harshness in a more visible way during the Varshaphal year. The placement code ENSIGN also suggests that the planet may struggle to express its strength cleanly.", "remedies": ["Avoid meat and alcohol.", "At night, place almonds or radish at the head of your bed while sleeping, and the next day donate them to a temple — this increases lifespan and happiness from children."]}, {"planet": "Moon", "house": 3, "nature": "benefic", "house_sign_relation": "friendly", "summary": "This house belongs to Mercury, and Mercury acts as a friend influence for Moon. In the Varshaphal chart, Moon here strongly influences courage, communication, siblings, enterprise and skill. The planet naturally represents mind, mother, emotions, nourishment and public mood. When handled well, this placement can produce peace, sensitivity, care, popularity and emotional support; when disturbed, it may create fear, instability, weak concentration and domestic unease.", "if_benefic": "If benefic, Moon in the 3rd house supports courage, communication, siblings, enterprise and skill. It can give peace, sensitivity, care, popularity and emotional support and improve matters connected with mind, mother, emotions, nourishment and public mood. The current Lal Kitab placement code is FRSIGN, so the planet is better able to deliver its useful results during this year period.", "if_malefic": "If malefic, Moon in the 3rd house can disturb fear, disputes with siblings, poor judgment and wasted effort. It may show up as fear, instability, weak concentration and domestic unease in a more visible way during the Varshaphal year. Because this planet is sleeping in Lal Kitab terms, its promises may stay blocked until conduct, discipline and remedies are corrected.", "remedies": ["After the birth of a daughter, donate Moon-related items like silver and rice; after the birth of a son, donate Sun-related items like wheat and jaggery.", "Do not use your daughter's money or wealth.", "To neutralize the malefic effects of a bad planet in the 8th house, freely distribute milk and water to guests and others."]}, {"planet": "Mars", "house": 12, "nature": "benefic", "house_sign_relation": "friendly", "summary": "This house belongs to Jupiter, and Jupiter acts as a friend influence for Mars. In the Varshaphal chart, Mars here strongly influences spiritual maturity, charity, foreign links and inner detachment. The planet naturally represents courage, brothers, land, force, protection and decisive action. When handled well, this placement can produce bravery, initiative, authority and strength in competition; when disturbed, it may create anger, injuries, disputes, impulsiveness and aggression.", "if_benefic": "If benefic, Mars in the 12th house supports spiritual maturity, charity, foreign links and inner detachment. It can give bravery, initiative, authority and strength in competition and improve matters connected with courage, brothers, land, force, protection and decisive action. The current Lal Kitab placement code is FRSIGN, so the planet is better able to deliver its useful results during this year period.", "if_malefic": "If malefic, Mars in the 12th house can disturb loss, wasteful expenditure, sleep issues, isolation and secret trouble. It may show up as anger, injuries, disputes, impulsiveness and aggression in a more visible way during the Varshaphal year.", "remedies": ["Consume honey on an empty stomach every morning.", "Eating sweets and giving them to others will increase the native's wealth."]}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/lal-kitab/lal-kitab-debts": {
      "post": {
        "operationId": "lal-kitab-debts",
        "summary": "Lal Kitab Debts (Rin)",
        "description": "The Lal Kitab ancestral debts (rin): each with whether it is indicated, the rule and placements behind it, and its remedies.",
        "tags": [
          "lal-kitab"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "note": {"type": "string"},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "house": {"type": "integer"}}, "required": ["name", "house"]}},
                        "debts": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "indicated": {"type": "boolean"}, "rule": {"type": "object", "properties": {"planets": {"type": "array", "items": {"type": "string"}}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["planets", "houses"]}, "placements": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}}, "required": ["planet", "house"]}}, "cause": {"type": "string"}, "reason": {"type": "string"}, "indication": {"type": "string"}, "remedies": {"type": "array", "items": {"type": "string"}}}, "required": ["name", "indicated", "rule", "placements", "cause", "reason", "indication", "remedies"]}},
                        "indicated_count": {"type": "integer"}
                      },
                      "required": [
                        "ayanamsha",
                        "note",
                        "planets",
                        "debts",
                        "indicated_count"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "note": "Houses are Lal Kitab houses (Aries fixed on house 1). A debt is indicated when any of its planets sits in any of its houses; `placements` lists the ones that do.",
                        "planets": [{"name": "Sun", "house": 10}, {"name": "Moon", "house": 9}, {"name": "Mars", "house": 5}],
                        "debts": [{"name": "Forefather's Debt", "indicated": true, "rule": {"planets": ["Venus", "Mercury", "Rahu"], "houses": [2, 5, 9]}, "placements": [{"planet": "Venus", "house": 9}, {"planet": "Mercury", "house": 9}], "cause": "According to Lal Kitab, when Venus, Mercury, Rahu are posited in the second, fifth, ninth or twelfth house of a horoscope then the native may be afflicted by forefather's debt.", "reason": "Elders would have changed family priest.", "indication": "Destruction of a neighboring temple or a peepal tree.", "remedies": ["Collect rupee coin from all blood relatives and donate the collected amount to a temple in a single day.", "If you have a peepal tree in your house, water and serve it."]}, {"name": "Self Debt", "indicated": false, "rule": {"planets": ["Venus", "Saturn", "Rahu"], "houses": [5]}, "placements": [], "cause": "According to Lal Kitab, when Venus, Saturn, Rahu, Ketu are posited in the fifth house of a horoscope then the native may be afflicted by self-debt.", "reason": "Your forefathers and elders did not adhere to the traditional family customs and discarded their faith in the supreme almighty.", "indication": "There may be fire-place beneath house or roof will have multiple holes for direct entrance for sun.", "remedies": ["Perform yagna from the contributions of equal money from all family members (blood relatives)."]}, {"name": "Mother's Debt", "indicated": false, "rule": {"planets": ["Ketu"], "houses": [4]}, "placements": [], "cause": "According to Lal Kitab, when Ketu is posited in the fourth house of a horoscope then the native may be afflicted by mother's debt.", "reason": "The reason for this could be due to the fact that your forefathers might have neglected or tortured mother or kept her away from her baby after birth of the baby, or just ignoring sadness of mother.", "indication": "Neighboring well or river is being used for dirt and garbage rather than worshipping.", "remedies": ["Take equal silver from all blood relatives and flow it in a river in a single day."]}],
                        "indicated_count": 2
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/lal-kitab/lal-kitab-teva": {
      "post": {
        "operationId": "lal-kitab-teva",
        "summary": "Lal Kitab Teva",
        "description": "Which Lal Kitab teva types the chart is, each with present and the rule used.",
        "tags": [
          "lal-kitab"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "tevas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "present": {"type": "boolean"}, "rule": {"type": "string"}}, "required": ["name", "present", "rule"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "tevas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "tevas": [{"name": "Dharmi Horoscope", "present": false, "rule": "Some horoscopes are considered as Dharmi horoscopes in Lal Kitab. According to Lal Kitab, Rahu, Ketu and Saturn are considered malefic planets. If a horoscope is Dharmi, Saturn, Rahu and Ketu stop giving malefic results. Though it is not necessary that they will give benefic results but at least stop giving malefic results. Rahu and Ketu becomes Dharmi when they are placed in fourth house or anywhere in the horoscope with Moon. Saturn becomes Dharmi when he is placed in eleventh house or anywhere in the horoscope with Jupiter. If both the conditions are fulfilled, horoscope is called Dharmi Teva."}, {"name": "Night Blind Horoscope", "present": false, "rule": "Ratandh (Night Blind) planets are a unique concept of Lal Kitab. A horoscope is called as Night-blind if it has Saturn in 7th house and Sun in 4th house. Like a blind horoscope, person of Night Blind horoscope becomes direction less and cannot take his own decision. He behaves like a night person."}, {"name": "Blind Horoscope", "present": false, "rule": "In a horoscope, tenth house is a foundation of a horoscope as it is house of profession, job, status, fame and favors from government. If tenth house has planets inimical to each other, or badly placed planets like debilitated planets etc., all planets will not be able to give good results. Horoscope having such a combination is called Blind horoscope and the person of such a horoscope behaves like blind or direction less."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/lal-kitab/lal-kitab-dasha": {
      "post": {
        "operationId": "lal-kitab-dasha",
        "summary": "Lal Kitab Dasha",
        "description": "Lal Kitab period system: each period's lord, years, dates and sub-periods.",
        "tags": [
          "lal-kitab"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "note": {"type": "string"},
                        "periods": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "years": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "sub_periods": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["lord", "start", "end"]}}}, "required": ["lord", "years", "start", "end", "sub_periods"]}}
                      },
                      "required": [
                        "note",
                        "periods"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "note": "The Lal Kitab 35-year cycle counted from the birth date; the birth time and place do not change it.",
                        "periods": [{"lord": "Saturn", "years": 6, "start": "1990-10-18", "end": "1996-10-18", "sub_periods": [{"lord": "Rahu", "start": "1990-10-18", "end": "1992-10-17"}, {"lord": "Mercury", "start": "1992-10-17", "end": "1994-10-18"}, {"lord": "Saturn", "start": "1994-10-18", "end": "1996-10-18"}]}, {"lord": "Rahu", "years": 6, "start": "1996-10-18", "end": "2002-10-18", "sub_periods": [{"lord": "Mars", "start": "1996-10-18", "end": "1998-10-18"}, {"lord": "Ketu", "start": "1998-10-18", "end": "2000-10-17"}, {"lord": "Rahu", "start": "2000-10-17", "end": "2002-10-18"}]}, {"lord": "Ketu", "years": 3, "start": "2002-10-18", "end": "2005-10-18", "sub_periods": [{"lord": "Saturn", "start": "2002-10-18", "end": "2003-10-18"}, {"lord": "Rahu", "start": "2003-10-18", "end": "2004-10-17"}, {"lord": "Ketu", "start": "2004-10-17", "end": "2005-10-18"}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/lal-kitab/lal-kitab-remedies": {
      "post": {
        "operationId": "lal-kitab-remedies",
        "summary": "Lal Kitab Remedies",
        "description": "General Lal Kitab rules, then each planet's house, nature and dormancy with its remedies.",
        "tags": [
          "lal-kitab"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChartInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "general_rules": {"type": "array", "items": {"type": "object", "properties": {"title": {"type": "string"}, "description": {"type": "string"}}, "required": ["title", "description"]}},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}, "house_sign_relation": {"type": "string"}, "nature": {"type": "string"}, "dormant": {"type": "boolean"}, "awakens_fate": {"type": "boolean"}, "remedies": {"type": "array", "items": {"type": "string"}}}, "required": ["planet", "house", "house_sign_relation", "nature", "dormant", "awakens_fate", "remedies"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "general_rules",
                        "planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "general_rules": [{"title": "Timing of Remedies", "description": "All remedies are to be performed during the daylight hours when the Sun is up, unless specifically asked to do at other times. Some suggest that remedies should not be performed on a cloudy day. Cloudy day belongs to Saturn as does the night. But in the West where winters are dark and bleak for most of the time, there should be no such restriction."}, {"title": "Consistency in Long-Period Remedies", "description": "Remedies done over a longer period, say 6 days, 10 days, 43 days etc, should be done regularly without a break. If for any reason there is an apprehension that there might be a break in the remedy, the best thing to do is to keep at home a little rice washed in milk. If it is a 43 day remedy and you had to go out for four days, you could get back and start the remedy from where you had left."}, {"title": "One Remedy at a Time", "description": "Do one remedy at a time. Take up the next remedy only when the first remedy is completed. Follow the sequence of remedy if mentioned. The best way to sequence the remedy, if not already mentioned, is to take up one-day remedies first and do the lengthy ones later."}],
                        "planets": [{"planet": "Sun", "house": 10, "house_sign_relation": "enemy", "nature": "malefic", "dormant": true, "awakens_fate": false, "remedies": ["Never wear black or blue colored clothes.", "Dropping a copper coin into a river or canal for 43 consecutive days will be auspicious.", "Avoid meat and alcohol."]}, {"planet": "Moon", "house": 9, "house_sign_relation": "neutral", "nature": "malefic", "dormant": true, "awakens_fate": false, "remedies": ["Keep Moon-related items at home, such as a square piece of silver in the cupboard.", "Serve milk to laborers and workers.", "Feed milk to snakes and put rice for fish in water."]}, {"planet": "Mars", "house": 5, "house_sign_relation": "friendly", "nature": "benefic", "dormant": true, "awakens_fate": false, "remedies": ["Maintain good moral character.", "At night, keep a vessel of water at the head of your bed and in the morning pour it into a plant pot.", "Perform shradh (ritual) for your ancestors and plant a neem tree at home."]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/bnn/bnn-progression": {
      "post": {
        "operationId": "bnn-progression",
        "summary": "BNN Progression",
        "description": "Bhrigu Nandi Nadi natal positions, the karaka role and doctrine applied to each planet, and the progressed positions for every age.",
        "tags": [
          "bnn"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BNNProgressionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "natal": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "retrograde": {"type": "null"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra", "pada"]}},
                        "karakas": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "role": {"type": "string"}, "doctrine": {"type": "integer"}, "doctrine_name": {"type": "string"}}, "required": ["planet", "role", "doctrine", "doctrine_name"]}},
                        "progression": {"type": "array", "items": {"type": "object", "properties": {"age": {"type": "integer"}, "date": {"type": "string"}, "points": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra", "pada"]}}}, "required": ["age", "date", "points"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "natal",
                        "karakas",
                        "progression"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "natal": [{"name": "Ascendant", "longitude": 293.8936, "sign": "Capricorn", "degree": 23.8936, "nakshatra": "Dhanishta", "pada": 1}, {"name": "Sun", "longitude": 180.995, "sign": "Libra", "degree": 0.995, "nakshatra": "Chitra", "pada": 3, "retrograde": null}, {"name": "Moon", "longitude": 177.8767, "sign": "Virgo", "degree": 27.8767, "nakshatra": "Chitra", "pada": 2, "retrograde": null}],
                        "karakas": [{"planet": "Jupiter", "role": "Jeev karaka", "doctrine": 1, "doctrine_name": "D1 Rao Swing"}, {"planet": "Venus", "role": "Jeev karaka", "doctrine": 1, "doctrine_name": "D1 Rao Swing"}, {"planet": "Saturn", "role": "Karma karaka", "doctrine": 2, "doctrine_name": "D2 Previous-First"}],
                        "progression": [{"age": 0, "date": "1990-10-18", "points": [{"name": "Ascendant", "longitude": 293.8833, "sign": "Capricorn", "degree": 23.8833, "nakshatra": "Dhanishta", "pada": 1}, {"name": "Sun", "longitude": 180.9833, "sign": "Libra", "degree": 0.9833, "nakshatra": "Chitra", "pada": 3}, {"name": "Moon", "longitude": 177.8667, "sign": "Virgo", "degree": 27.8667, "nakshatra": "Chitra", "pada": 2}]}, {"age": 1, "date": "1991-10-18", "points": [{"name": "Ascendant", "longitude": 323.8833, "sign": "Aquarius", "degree": 23.8833, "nakshatra": "Purva Bhadrapada", "pada": 2}, {"name": "Sun", "longitude": 210.9833, "sign": "Scorpio", "degree": 0.9833, "nakshatra": "Vishakha", "pada": 4}, {"name": "Moon", "longitude": 207.8667, "sign": "Libra", "degree": 27.8667, "nakshatra": "Vishakha", "pada": 3}]}, {"age": 2, "date": "1992-10-18", "points": [{"name": "Ascendant", "longitude": 353.8833, "sign": "Pisces", "degree": 23.8833, "nakshatra": "Revati", "pada": 3}, {"name": "Sun", "longitude": 240.9833, "sign": "Sagittarius", "degree": 0.9833, "nakshatra": "Mula", "pada": 1}, {"name": "Moon", "longitude": 237.8667, "sign": "Scorpio", "degree": 27.8667, "nakshatra": "Jyeshtha", "pada": 4}]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["Natal retrograde is reported for Mars, Mercury, Jupiter, Venus and Saturn only; null for the others.", "Progressed positions are given to the arc-minute."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/bnn/bnn-snapshot": {
      "post": {
        "operationId": "bnn-snapshot",
        "summary": "BNN Snapshot for a Date",
        "description": "The progressed BNN positions for one target date and time, with the age and month offset used.",
        "tags": [
          "bnn"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BNNSnapshotInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "target": "2026-10-13T12:00:00"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "target": {"type": "string"},
                        "age": {"type": "integer"},
                        "month_offset": {"type": "integer"},
                        "progressed": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "house": {"type": "integer"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra", "pada", "house"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "target",
                        "age",
                        "month_offset",
                        "progressed"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "target": "2026-10-13T12:00:00",
                        "age": 35,
                        "month_offset": 11,
                        "progressed": [{"name": "Ascendant", "longitude": 263.8833, "sign": "Sagittarius", "degree": 23.8833, "nakshatra": "Purva Ashadha", "pada": 4, "house": 1}, {"name": "Sun", "longitude": 150.9833, "sign": "Virgo", "degree": 0.9833, "nakshatra": "Uttara Phalguni", "pada": 2, "house": 10}, {"name": "Moon", "longitude": 147.8667, "sign": "Leo", "degree": 27.8667, "nakshatra": "Uttara Phalguni", "pada": 1, "house": 9}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["Houses count whole signs from the progressed ascendant. Positions are given to the arc-minute."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/bnn/bnn-nadi": {
      "post": {
        "operationId": "bnn-nadi",
        "summary": "BNN Nadi Relations",
        "description": "Nadi points with nadiamshas, planets sharing a nakshatra or sign, sign aspects, exchanges and each planet's movement to the next.",
        "tags": [
          "bnn"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BNNInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "note": {"type": "string"},
                        "points": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "sign_lord": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "nadiamsha": {"type": "integer"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra", "pada", "sign_lord", "nakshatra_lord", "nadiamsha"]}},
                        "same_nakshatra": {"type": "array", "items": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}}, "required": ["nakshatra", "planets"]}},
                        "same_sign": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}}, "required": ["sign", "planets"]}},
                        "sign_aspects": {"type": "array", "items": {"type": "object", "properties": {"from": {"type": "string"}, "from_sign": {"type": "string"}, "aspect": {"type": "integer"}, "to": {"type": "string"}, "to_sign": {"type": "string"}}, "required": ["from", "from_sign", "aspect", "to", "to_sign"]}},
                        "exchanges": {"type": "array"},
                        "movement": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "next": {"type": "string"}, "gap_to_next": {"type": "number"}, "within_one_nakshatra": {"type": "boolean"}}, "required": ["name", "longitude", "next", "gap_to_next", "within_one_nakshatra"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "note",
                        "points",
                        "same_nakshatra",
                        "same_sign",
                        "sign_aspects",
                        "exchanges",
                        "movement"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "note": "`nadiamsha` is the 0.2-degree part of the sign (1-150) the point falls in. The nodes are always retrograde (the classical and Nadi rule). `combust` is the chart's own combustion flag.",
                        "points": [{"name": "Ascendant", "longitude": 293.8936, "sign": "Capricorn", "degree": 23.8936, "nakshatra": "Dhanishta", "pada": 1, "sign_lord": "Saturn", "nakshatra_lord": "Mars", "nadiamsha": 120}, {"name": "Sun", "longitude": 180.995, "sign": "Libra", "degree": 0.995, "nakshatra": "Chitra", "pada": 3, "sign_lord": "Venus", "nakshatra_lord": "Mars", "nadiamsha": 5, "retrograde": false, "combust": false}, {"name": "Moon", "longitude": 177.8767, "sign": "Virgo", "degree": 27.8767, "nakshatra": "Chitra", "pada": 2, "sign_lord": "Mercury", "nakshatra_lord": "Mars", "nadiamsha": 140, "retrograde": false, "combust": true}],
                        "same_nakshatra": [{"nakshatra": "Chitra", "planets": ["Sun", "Moon", "Mercury"]}],
                        "same_sign": [{"sign": "Capricorn", "planets": ["Ascendant", "Rahu"]}, {"sign": "Virgo", "planets": ["Moon", "Mercury", "Venus"]}, {"sign": "Cancer", "planets": ["Jupiter", "Ketu"]}],
                        "sign_aspects": [{"from": "Ascendant", "from_sign": "Capricorn", "aspect": 7, "to": "Jupiter", "to_sign": "Cancer"}, {"from": "Ascendant", "from_sign": "Capricorn", "aspect": 7, "to": "Ketu", "to_sign": "Cancer"}, {"from": "Mars", "from_sign": "Taurus", "aspect": 8, "to": "Saturn", "to_sign": "Sagittarius"}],
                        "exchanges": [],
                        "movement": [{"name": "Mars", "longitude": 50.7878, "next": "Ketu", "gap_to_next": 49.1505, "within_one_nakshatra": false}, {"name": "Ketu", "longitude": 99.9383, "next": "Jupiter", "gap_to_next": 7.1111, "within_one_nakshatra": true}, {"name": "Jupiter", "longitude": 107.0494, "next": "Venus", "gap_to_next": 70.2912, "within_one_nakshatra": false}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/bnn/bnn-graha-phala": {
      "post": {
        "operationId": "bnn-graha-phala",
        "summary": "BNN Graha Phala",
        "description": "Lagna and janma nakshatra readings, each planet's sign, house, dignity and nakshatra with its sign and star lords' placements, and the conjunctions by sign and nakshatra.",
        "tags": [
          "bnn"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BNNInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]},
                        "node": {"type": "string"},
                        "house_system": {"type": "string"},
                        "lagna": {"type": "object", "properties": {"sign": {"type": "string"}, "element": {"type": "string"}, "modality": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "pada_aim": {"type": "string"}, "sign_lord": {"type": "string"}, "sign_lord_sign": {"type": "string"}, "sign_lord_house": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "nakshatra_lord_sign": {"type": "string"}, "nakshatra_lord_house": {"type": "integer"}, "lord_dignity": {"type": "string"}, "bhrigu_reading": {"type": "string"}}, "required": ["sign", "element", "modality", "nakshatra", "pada", "pada_aim", "sign_lord", "sign_lord_sign", "sign_lord_house", "nakshatra_lord", "nakshatra_lord_sign", "nakshatra_lord_house", "lord_dignity", "bhrigu_reading"]},
                        "moon": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_lord": {"type": "string"}}, "required": ["sign", "sign_lord"]},
                        "janma_nakshatra": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "lord": {"type": "string"}, "pada": {"type": "integer"}, "pada_aim": {"type": "string"}, "reading": {"type": "string"}}, "required": ["nakshatra", "lord", "pada", "pada_aim", "reading"]},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "sign": {"type": "string"}, "house": {"type": "integer"}, "dignity": {"type": "string"}, "retrograde": {"type": "boolean"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "pada_aim": {"type": "string"}, "sign_lord": {"type": "string"}, "sign_lord_sign": {"type": "string"}, "sign_lord_house": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "nakshatra_lord_sign": {"type": "string"}, "nakshatra_lord_house": {"type": "integer"}, "reading": {"type": "string"}, "bhrigu_reading": {"type": "string"}, "house_significations": {"type": "string"}, "nadi_notes": {"type": "array", "items": {"type": "string"}}}, "required": ["name", "sign", "house", "dignity", "retrograde", "nakshatra", "pada", "pada_aim", "sign_lord", "sign_lord_sign", "sign_lord_house", "nakshatra_lord", "nakshatra_lord_sign", "nakshatra_lord_house", "reading", "bhrigu_reading", "house_significations", "nadi_notes"]}},
                        "conjunctions": {"type": "object", "properties": {"same_sign": {"type": "array", "items": {"type": "object", "properties": {"planets": {"type": "array", "items": {"type": "string"}}, "sign": {"type": "string"}, "reading": {"type": ["string", "null"]}}, "required": ["planets", "sign", "reading"]}}, "same_nakshatra": {"type": "array", "items": {"type": "object", "properties": {"planets": {"type": "array", "items": {"type": "string"}}, "nakshatra": {"type": "string"}, "reading": {"type": "string"}}, "required": ["planets", "nakshatra", "reading"]}}}, "required": ["same_sign", "same_nakshatra"]}
                      },
                      "required": [
                        "ayanamsha",
                        "node",
                        "house_system",
                        "lagna",
                        "moon",
                        "janma_nakshatra",
                        "planets",
                        "conjunctions"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": {"id": "lahiri"},
                        "node": "true",
                        "house_system": "whole_sign",
                        "lagna": {"sign": "Capricorn", "element": "earth", "modality": "cardinal", "nakshatra": "Dhanishtha", "pada": 1, "pada_aim": "dharma", "sign_lord": "Saturn", "sign_lord_sign": "Sagittarius", "sign_lord_house": 12, "nakshatra_lord": "Mars", "nakshatra_lord_sign": "Taurus", "nakshatra_lord_house": 5, "lord_dignity": "neutral", "bhrigu_reading": "The Ascendant (Lagna) marks the beginning of the chart and self. In BNN, the Lagna sign and its lord's position determine life's general direction. Benefics in Lagna give health, charisma; malefics create challenges."},
                        "moon": {"sign": "Virgo", "sign_lord": "Mercury"},
                        "janma_nakshatra": {"nakshatra": "Chitra", "lord": "Mars", "pada": 2, "pada_aim": "artha", "reading": "Brilliant, architectonic, Mars-bright. Artistic precision and construction talent."},
                        "planets": [{"name": "Sun", "sign": "Libra", "house": 10, "dignity": "debilitated", "retrograde": false, "nakshatra": "Chitra", "pada": 3, "pada_aim": "kama", "sign_lord": "Venus", "sign_lord_sign": "Virgo", "sign_lord_house": 9, "nakshatra_lord": "Mars", "nakshatra_lord_sign": "Taurus", "nakshatra_lord_house": 5, "reading": "Excellent for career, fame; government/authority favor; raj yoga potential.", "bhrigu_reading": "Sun represents the soul (Atma), father, authority, government, and vitality. In BNN, trace Sun's sign lord and nakshatra lord to see its actual results. Sun in fire signs is strong; in water signs it needs the sign lord to support it.", "house_significations": "Career, profession, status, authority, reputation, karma", "nadi_notes": ["Nadi conjunction with Moon, Mercury, Venus in Chitra."]}, {"name": "Moon", "sign": "Virgo", "house": 9, "dignity": "neutral", "retrograde": false, "nakshatra": "Chitra", "pada": 2, "pada_aim": "artha", "sign_lord": "Mercury", "sign_lord_sign": "Virgo", "sign_lord_house": 9, "nakshatra_lord": "Mars", "nakshatra_lord_sign": "Taurus", "nakshatra_lord_house": 5, "reading": "Fortunate; spiritual mind; good father; foreign travel.", "bhrigu_reading": "Moon represents mind, mother, public, emotions, and fluids. In BNN, Moon's nakshatra lord reveals the subconscious mind's direction. A strong Moon (Taurus/Cancer, own nakshatra) gives stability and popularity.", "house_significations": "Father, higher wisdom, religion, luck, long journeys, dharma", "nadi_notes": ["Nadi conjunction with Sun, Mercury, Venus in Chitra."]}, {"name": "Mars", "sign": "Taurus", "house": 5, "dignity": "neutral", "retrograde": false, "nakshatra": "Rohini", "pada": 4, "pada_aim": "moksha", "sign_lord": "Venus", "sign_lord_sign": "Virgo", "sign_lord_house": 9, "nakshatra_lord": "Moon", "nakshatra_lord_sign": "Virgo", "nakshatra_lord_house": 9, "reading": "Competitive; possible issues with children; speculative losses.", "bhrigu_reading": "Mars governs energy, brothers, land, engineering, and courage. BNN traces Mars via its sign lord to reveal whether it gives property or conflicts. Mars in Aries or Scorpio (own) empowers action; in Cancer it channels emotions.", "house_significations": "Children, intelligence, creativity, speculation, past life", "nadi_notes": []}],
                        "conjunctions": {"same_sign": [{"planets": ["Ascendant", "Rahu"], "sign": "Capricorn", "reading": null}, {"planets": ["Moon", "Mercury"], "sign": "Virgo", "reading": "Sensitive intellect — excellent communication; writing and trade skills."}, {"planets": ["Moon", "Venus"], "sign": "Virgo", "reading": "Aesthetic sensitivity — love of beauty, romance, arts; charming personality."}], "same_nakshatra": [{"planets": ["Sun", "Moon"], "nakshatra": "Chitra", "reading": "Soul meets mind — fame with emotional sensitivity; fluctuating confidence."}, {"planets": ["Sun", "Mercury"], "nakshatra": "Chitra", "reading": "Combust Mercury possible — intellect serves authority; administrative skill."}, {"planets": ["Sun", "Venus"], "nakshatra": "Chitra", "reading": "Combust Venus — charm, arts, possible relationship ego."}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["`retrograde` follows the BNN convention: Rahu and Ketu are always retrograde, the Sun and Moon never.", "Conjunction readings are null where the engine has no reading for the pair."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/bnn/bnn-ratna": {
      "post": {
        "operationId": "bnn-ratna",
        "summary": "BNN Ratna (Gemstones)",
        "description": "Moolank and Bhagyank and a list of gemstones, each with its planet, basis, metal, finger, substitutes and reason.",
        "tags": [
          "bnn"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BNNInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "moolank": {"type": "integer"},
                        "bhagyank": {"type": "integer"},
                        "gems": {"type": "array", "items": {"type": "object", "properties": {"type": {"type": "string"}, "basis": {"type": "string"}, "planet": {"type": "string"}, "gem": {"type": "string"}, "hindi_name": {"type": "string"}, "metal": {"type": "string"}, "finger": {"type": "string"}, "substitutes": {"type": "array", "items": {"type": "string"}}, "reason": {"type": "string"}}, "required": ["type", "basis", "planet", "gem", "hindi_name", "metal", "finger", "substitutes", "reason"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "moolank",
                        "bhagyank",
                        "gems"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "moolank": 9,
                        "bhagyank": 2,
                        "gems": [{"type": "life", "basis": "Life gem based on birth Nakshatra lord — supports vitality and life path.", "planet": "Mars", "gem": "Red Coral", "hindi_name": "Moonga", "metal": "Gold", "finger": "Ring", "substitutes": ["Red Carnelian", "Red Jasper"], "reason": "Moon is in Chitra; its lord is Mars."}, {"type": "fortune", "basis": "Fortune gem based on 9th house (Bhagya) lord — enhances luck and dharma.", "planet": "Mercury", "gem": "Emerald", "hindi_name": "Panna", "metal": "Gold", "finger": "Little", "substitutes": ["Green Tourmaline", "Peridot"], "reason": "9th house from Lagna (Capricorn) is Virgo; its lord is Mercury."}, {"type": "lagna_lord", "basis": "Significator gem based on Lagna lord — strengthens self and personality.", "planet": "Saturn", "gem": "Blue Sapphire", "hindi_name": "Neelam", "metal": "Silver", "finger": "Middle", "substitutes": ["Amethyst", "Blue Spinel"], "reason": "Lagna is Capricorn; its lord (Lagna Karak) is Saturn."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/bnn/bnn-yoga": {
      "post": {
        "operationId": "bnn-yoga",
        "summary": "BNN Yogas",
        "description": "Classical and Nadi yogas, Bhrigu Bindu and Nadi chains.",
        "tags": [
          "bnn"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BNNInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "classical_yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "category": {"type": "string"}, "detail": {"type": "string"}, "strength": {"type": "string"}}, "required": ["name", "category", "detail", "strength"]}},
                        "nadi_yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}, "nakshatra": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "description": {"type": "string"}}, "required": ["name", "planets", "nakshatra", "nakshatra_lord", "description"]}},
                        "bhrigu_bindu": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "nearby_planets": {"type": "array"}}, "required": ["longitude", "sign", "degree", "nakshatra", "pada", "nakshatra_lord", "nearby_planets"]},
                        "nadi_chains": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "sign": {"type": "string"}, "sign_lord": {"type": "string"}, "sign_lord_sign": {"type": "string"}, "sign_lord_house": {"type": "integer"}, "nakshatra": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "nakshatra_lord_sign": {"type": "string"}, "nakshatra_lord_house": {"type": "integer"}}, "required": ["planet", "sign", "sign_lord", "sign_lord_sign", "sign_lord_house", "nakshatra", "nakshatra_lord", "nakshatra_lord_sign", "nakshatra_lord_house"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "classical_yogas",
                        "nadi_yogas",
                        "bhrigu_bindu",
                        "nadi_chains"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "classical_yogas": [{"name": "Guru-Chandal Yoga", "category": "Mixed Yoga", "detail": "Jupiter conjunct Ketu in Cancer.", "strength": "Mixed"}, {"name": "Hamsa Yoga", "category": "Panch Mahapurusha", "detail": "Jupt in Cancer (house 7) — Hamsa Yoga.", "strength": "Strong"}, {"name": "Kemadruma Yoga", "category": "Dosha Yoga", "detail": "No planets in 2nd/12th from Moon (Virgo) — isolation tendency.", "strength": "Challenging"}],
                        "nadi_yogas": [{"name": "Sun–Moon Nadi Yoga", "planets": ["Sun", "Moon"], "nakshatra": "Chitra", "nakshatra_lord": "Mars", "description": "Amavasya Nadi: Sun–Moon — powerful but fluctuating self; strong intuition."}, {"name": "Sun–Merc Nadi Yoga", "planets": ["Sun", "Mercury"], "nakshatra": "Chitra", "nakshatra_lord": "Mars", "description": "Sun–Merc Nadi conjunction in Chitra: combined nakshatra influence."}, {"name": "Sun–Venu Nadi Yoga", "planets": ["Sun", "Venus"], "nakshatra": "Chitra", "nakshatra_lord": "Mars", "description": "Sun–Venu Nadi conjunction in Chitra: combined nakshatra influence."}],
                        "bhrigu_bindu": {"longitude": 228.9075, "sign": "Scorpio", "degree": 18.9075, "nakshatra": "Jyeshtha", "pada": 1, "nakshatra_lord": "Mercury", "nearby_planets": []},
                        "nadi_chains": [{"planet": "Ascendant", "sign": "Capricorn", "sign_lord": "Saturn", "sign_lord_sign": "Sagittarius", "sign_lord_house": 12, "nakshatra": "Dhanishtha", "nakshatra_lord": "Mars", "nakshatra_lord_sign": "Taurus", "nakshatra_lord_house": 5}, {"planet": "Sun", "sign": "Libra", "sign_lord": "Venus", "sign_lord_sign": "Virgo", "sign_lord_house": 9, "nakshatra": "Chitra", "nakshatra_lord": "Mars", "nakshatra_lord_sign": "Taurus", "nakshatra_lord_house": 5}, {"planet": "Moon", "sign": "Virgo", "sign_lord": "Mercury", "sign_lord_sign": "Virgo", "sign_lord_house": 9, "nakshatra": "Chitra", "nakshatra_lord": "Mars", "nakshatra_lord_sign": "Taurus", "nakshatra_lord_house": 5}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/bnn/bnn-dasha": {
      "post": {
        "operationId": "bnn-dasha",
        "summary": "BNN Dashas",
        "description": "Ashtottari and Naisargika dasha periods, with the Ashtottari start lord and balance, and the periods running now.",
        "tags": [
          "bnn"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BNNDashaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "moon_nakshatra": {"type": "string"},
                        "note": {"type": "string"},
                        "ashtottari": {"type": "object", "properties": {"total_years": {"type": "integer"}, "start_lord": {"type": "string"}, "start_lord_nakshatras": {"type": "array", "items": {"type": "string"}}, "balance_years": {"type": "number"}, "periods": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "years": {"type": "number"}, "start": {"type": "string"}, "end": {"type": "string"}, "age_start": {"type": "number"}, "age_end": {"type": "number"}}, "required": ["lord", "years", "start", "end", "age_start", "age_end"]}}}, "required": ["total_years", "start_lord", "start_lord_nakshatras", "balance_years", "periods"]},
                        "naisargika": {"type": "object", "properties": {"periods": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "from_age": {"type": "integer"}, "to_age": {"type": "integer"}, "years": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}, "natal_sign": {"type": "string"}, "natal_house": {"type": "integer"}, "theme": {"type": "string"}}, "required": ["lord", "from_age", "to_age", "years", "start", "end", "natal_sign", "natal_house", "theme"]}}}, "required": ["periods"]},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "ashtottari": {"type": "string"}, "naisargika": {"type": "string"}}, "required": ["as_of", "ashtottari", "naisargika"]}
                      },
                      "required": [
                        "ayanamsha",
                        "moon_nakshatra",
                        "note",
                        "ashtottari",
                        "naisargika",
                        "current"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "moon_nakshatra": "Chitra",
                        "note": "Ashtottari (BPHS, 108 years) starts from the lord of the Moon's nakshatra group counted from Ardra; the balance is the unelapsed share of that whole group. Its periods cover at least 80 years and are dated from the birth moment on 365.25-day years (the balance is given to 0.01 year); the Moon is read to the arc-second, which alone can move every boundary by about 22 minutes for this chart. Naisargika (BPHS) runs the same ages for every chart, dated by birthday; `natal_sign` and `natal_house` (whole signs from the ascendant) place each lord in the birth chart.",
                        "ashtottari": {"total_years": 108, "start_lord": "Mars", "start_lord_nakshatras": ["Hasta", "Chitra", "Swati"], "balance_years": 5.32, "periods": [{"lord": "Mars", "years": 5.32, "start": "1990-10-18", "end": "1996-02-12", "age_start": 0.0, "age_end": 5.32}, {"lord": "Mercury", "years": 17.0, "start": "1996-02-12", "end": "2013-02-11", "age_start": 5.32, "age_end": 22.32}, {"lord": "Saturn", "years": 10.0, "start": "2013-02-11", "end": "2023-02-11", "age_start": 22.32, "age_end": 32.32}]},
                        "naisargika": {"periods": [{"lord": "Moon", "from_age": 0, "to_age": 1, "years": 1, "start": "1990-10-18", "end": "1991-10-18", "natal_sign": "Virgo", "natal_house": 9, "theme": "Infancy — pure emotion, mother's care, instinct."}, {"lord": "Mars", "from_age": 1, "to_age": 3, "years": 2, "start": "1991-10-18", "end": "1993-10-18", "natal_sign": "Taurus", "natal_house": 5, "theme": "Early childhood — vitality, first will, physical growth."}, {"lord": "Mercury", "from_age": 3, "to_age": 12, "years": 9, "start": "1993-10-18", "end": "2002-10-18", "natal_sign": "Virgo", "natal_house": 9, "theme": "Childhood — learning, speech, curiosity, playfulness."}]},
                        "current": {"as_of": "2026-10-14", "ashtottari": "Jupiter", "naisargika": "Jupiter"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tajika/varshaphal": {
      "post": {
        "operationId": "varshaphal",
        "summary": "Varshaphal (Annual Chart)",
        "description": "Annual Tajika chart for a target year: the return moment, ascendant and planets, muntha, panchadhikari, sahams, the twelve monthly (Maasa) charts, mudda dasha and Tajika yogas.",
        "tags": [
          "tajika"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VarshaphalInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "target_year": 2026
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "target_year": {"type": "integer"},
                        "return_moment": {"type": "object", "properties": {"local": {"type": "string"}, "utc_offset_hours": {"type": "number"}, "utc": {"type": "string"}}, "required": ["local", "utc_offset_hours", "utc"]},
                        "method": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["longitude", "sign", "degree", "nakshatra", "pada"]},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "house": {"type": "integer"}, "retrograde": {"type": "boolean"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra", "pada", "house", "retrograde"]}},
                        "muntha": {"type": "object", "properties": {"sign": {"type": "string"}, "house": {"type": "integer"}, "longitude": {"type": "number"}}, "required": ["sign", "house", "longitude"]},
                        "panchadhikari": {"type": "object", "properties": {"muntha_lord": {"type": "string"}, "birth_ascendant_lord": {"type": "string"}, "year_ascendant_lord": {"type": "string"}, "trirashi_lord": {"type": "string"}, "day_night_lord": {"type": "string"}, "day_return": {"type": "boolean"}}, "required": ["muntha_lord", "birth_ascendant_lord", "year_ascendant_lord", "trirashi_lord", "day_night_lord", "day_return"]},
                        "sahams": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "sign_lord": {"type": "string"}}, "required": ["name", "longitude", "sign", "sign_lord"]}},
                        "maasa_charts": {"type": "array", "items": {"type": "object", "properties": {"month": {"type": "integer"}, "local": {"type": "string"}, "sun_longitude": {"type": "number"}, "ascendant_sign": {"type": "string"}}, "required": ["month", "local", "sun_longitude", "ascendant_sign"]}},
                        "mudda_dasha": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "house": {"type": "integer"}}, "required": ["lord", "start", "end", "house"]}},
                        "tajika_yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "condition": {"type": "string"}, "present": {"type": "boolean"}, "detail": {"type": "string"}}, "required": ["name", "condition", "present", "detail"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "target_year",
                        "return_moment",
                        "method",
                        "ascendant",
                        "planets",
                        "muntha",
                        "panchadhikari",
                        "sahams",
                        "maasa_charts",
                        "mudda_dasha",
                        "tajika_yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "target_year": 2026,
                        "return_moment": {"local": "2026-10-18T19:47:14", "utc_offset_hours": 5.5, "utc": "2026-10-18T14:17:14Z"},
                        "method": "Sidereal solar return; the engine matches the geometric (aberration-free) Sun to the apparent natal Sun.",
                        "ascendant": {"longitude": 38.3161, "sign": "Taurus", "degree": 8.3161, "nakshatra": "Krittika", "pada": 4},
                        "planets": [{"name": "Sun", "longitude": 180.995, "sign": "Libra", "degree": 0.995, "nakshatra": "Chitra", "pada": 3, "house": 6, "retrograde": false}, {"name": "Moon", "longitude": 270.1153, "sign": "Capricorn", "degree": 0.1153, "nakshatra": "Uttara Ashadha", "pada": 2, "house": 9, "retrograde": false}, {"name": "Mars", "longitude": 107.3694, "sign": "Cancer", "degree": 17.3694, "nakshatra": "Ashlesha", "pada": 1, "house": 3, "retrograde": false}],
                        "muntha": {"sign": "Capricorn", "house": 9, "longitude": 293.8971},
                        "panchadhikari": {"muntha_lord": "Saturn", "birth_ascendant_lord": "Saturn", "year_ascendant_lord": "Venus", "trirashi_lord": "Moon", "day_night_lord": "Saturn", "day_return": false},
                        "sahams": [{"name": "Punya Saham", "longitude": 309.1958, "sign": "Aquarius", "sign_lord": "Saturn"}, {"name": "Guru Saham", "longitude": 127.4364, "sign": "Leo", "sign_lord": "Sun"}, {"name": "Vidya Saham", "longitude": 127.4364, "sign": "Leo", "sign_lord": "Sun"}],
                        "maasa_charts": [{"month": 1, "local": "2026-10-18T19:47:14", "sun_longitude": 180.9951, "ascendant_sign": "Taurus"}, {"month": 2, "local": "2026-11-17T19:16:50", "sun_longitude": 210.9951, "ascendant_sign": "Gemini"}, {"month": 3, "local": "2026-12-17T09:45:17", "sun_longitude": 240.9951, "ascendant_sign": "Capricorn"}],
                        "mudda_dasha": [{"lord": "Mars", "start": "2026-10-18", "end": "2026-11-09", "house": 3}, {"lord": "Rahu", "start": "2026-11-09", "end": "2027-01-02", "house": 10}, {"lord": "Jupiter", "start": "2027-01-02", "end": "2027-02-20", "house": 3}],
                        "tajika_yogas": [{"name": "Iqabala Yoga", "condition": "More than half the Tajika planets occupy Kendra houses (1, 4, 7, 10).", "present": false, "detail": "No planet in Kendra (0/7)."}, {"name": "Induvara Yoga", "condition": "All seven Tajika planets are in Apoklima houses (3, 6, 9, 12).", "present": false, "detail": "Planets in Apoklimas: Sun, Moon, Mars, Mercury, Jupiter, Venus (6/7)"}, {"name": "Ithasala Yoga", "condition": "Faster planet is applying / approaching the slower within their combined Deeptamsa. Indicates pending fulfilment of matters signified by the two planets.", "present": true, "detail": "Sun→Venus (0°)"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["Times are local at the birth place's UTC offset at birth; `utc` is exact."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tajika/tithi-pravesh": {
      "post": {
        "operationId": "tithi-pravesh",
        "summary": "Tithi Pravesh",
        "description": "The annual chart cast at the return of the birth tithi in a target year: the return moment, ascendant and planets, muntha, panchadhikari, mudda dasha and Tajika yogas.",
        "tags": [
          "tajika"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TajikaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "target_year": 2026
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "target_year": {"type": "integer"},
                        "birth_tithi": {"type": "object", "properties": {"name": {"type": "string"}, "paksha": {"type": "string"}, "number_in_paksha": {"type": "integer"}, "sun_moon_elongation": {"type": "number"}}, "required": ["name", "paksha", "number_in_paksha", "sun_moon_elongation"]},
                        "return_moment": {"type": "object", "properties": {"local": {"type": "string"}, "utc_offset_hours": {"type": "number"}, "utc": {"type": "string"}}, "required": ["local", "utc_offset_hours", "utc"]},
                        "days_from_birthday": {"type": "number"},
                        "ascendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}}, "required": ["longitude", "sign", "degree", "nakshatra", "pada"]},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "house": {"type": "integer"}, "retrograde": {"type": "boolean"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra", "pada", "house", "retrograde"]}},
                        "muntha": {"type": "object", "properties": {"sign": {"type": "string"}, "house": {"type": "integer"}}, "required": ["sign", "house"]},
                        "panchadhikari": {"type": "object", "properties": {"muntha_lord": {"type": "string"}, "birth_ascendant_lord": {"type": "string"}, "year_ascendant_lord": {"type": "string"}, "trirashi_lord": {"type": "string"}, "day_night_lord": {"type": "string"}, "day_return": {"type": "boolean"}}, "required": ["muntha_lord", "birth_ascendant_lord", "year_ascendant_lord", "trirashi_lord", "day_night_lord", "day_return"]},
                        "mudda_dasha": {"type": "array", "items": {"type": "object", "properties": {"lord": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "house": {"type": "integer"}}, "required": ["lord", "start", "end", "house"]}},
                        "tajika_yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "condition": {"type": "string"}, "present": {"type": "boolean"}, "detail": {"type": "string"}}, "required": ["name", "condition", "present", "detail"]}}
                      },
                      "required": [
                        "ayanamsha",
                        "target_year",
                        "birth_tithi",
                        "return_moment",
                        "days_from_birthday",
                        "ascendant",
                        "planets",
                        "muntha",
                        "panchadhikari",
                        "mudda_dasha",
                        "tajika_yogas"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "target_year": 2026,
                        "birth_tithi": {"name": "Amavasya", "paksha": "krishna", "number_in_paksha": 15, "sun_moon_elongation": 356.8815},
                        "return_moment": {"local": "2026-10-10T15:07:35", "utc_offset_hours": 5.5, "utc": "2026-10-10T09:37:35Z"},
                        "days_from_birthday": -7.37,
                        "ascendant": {"longitude": 295.6583, "sign": "Capricorn", "degree": 25.6583, "nakshatra": "Dhanishta", "pada": 1},
                        "planets": [{"name": "Sun", "longitude": 172.8717, "sign": "Virgo", "degree": 22.8717, "nakshatra": "Hasta", "pada": 4, "house": 9, "retrograde": false}, {"name": "Moon", "longitude": 169.7531, "sign": "Virgo", "degree": 19.7531, "nakshatra": "Hasta", "pada": 3, "house": 9, "retrograde": false}, {"name": "Mars", "longitude": 102.8419, "sign": "Cancer", "degree": 12.8419, "nakshatra": "Pushya", "pada": 3, "house": 7, "retrograde": false}],
                        "muntha": {"sign": "Capricorn", "house": 1},
                        "panchadhikari": {"muntha_lord": "Saturn", "birth_ascendant_lord": "Saturn", "year_ascendant_lord": "Saturn", "trirashi_lord": "Venus", "day_night_lord": "Mercury", "day_return": true},
                        "mudda_dasha": [{"lord": "Mars", "start": "2026-10-10", "end": "2026-11-02", "house": 7}, {"lord": "Rahu", "start": "2026-11-02", "end": "2026-12-29", "house": 2}, {"lord": "Jupiter", "start": "2026-12-29", "end": "2027-02-18", "house": 7}],
                        "tajika_yogas": [{"name": "Iqabala Yoga", "condition": "More than half the Tajika planets occupy Kendra houses (1, 4, 7, 10).", "present": true, "detail": "Planets in Kendras: Mars, Mercury, Jupiter, Venus (4/7)"}, {"name": "Induvara Yoga", "condition": "All seven Tajika planets are in Apoklima houses (3, 6, 9, 12).", "present": false, "detail": "Planets in Apoklimas: Sun, Moon, Saturn (3/7)"}, {"name": "Ithasala Yoga", "condition": "Faster planet is applying / approaching the slower within their combined Deeptamsa. Indicates pending fulfilment of matters signified by the two planets.", "present": true, "detail": "Moon→Sun (0°); Sun→Saturn (180°); Moon→Saturn (180°); Mars→Venus (90°)"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["The return is the Sun-Moon elongation of birth nearest the birthday in target_year; times use the birth UTC offset."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-natal-chart": {
      "post": {
        "operationId": "western-natal-chart",
        "summary": "Western Natal Chart",
        "description": "Tropical natal chart: Sun, Moon and rising signs, ascendant and midheaven, planets with sign and house, the house cusps, and aspects with orb and meaning.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "date": {"type": "string"},
                        "time": {"type": "string"},
                        "lat": {"type": "number"},
                        "lon": {"type": "number"},
                        "tz": {"type": "number"},
                        "julian_day": {"type": "number"},
                        "sun_sign": {"type": "string"},
                        "moon_sign": {"type": "string"},
                        "ascendant_sign": {"type": "string"},
                        "big_three": {"type": "object", "properties": {"sun": {"type": "object", "properties": {"sign": {"type": "string"}, "symbol": {"type": "string"}}, "required": ["sign", "symbol"]}, "moon": {"type": "object", "properties": {"sign": {"type": "string"}, "symbol": {"type": "string"}}, "required": ["sign", "symbol"]}, "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "symbol": {"type": "string"}}, "required": ["sign", "symbol"]}}, "required": ["sun", "moon", "ascendant"]},
                        "ascendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "dms": {"type": "string"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}}, "required": ["longitude", "dms", "sign", "sign_symbol"]},
                        "midheaven": {"type": "object", "properties": {"longitude": {"type": "number"}, "dms": {"type": "string"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}}, "required": ["longitude", "dms", "sign", "sign_symbol"]},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "name": {"type": "string"}, "symbol": {"type": "string"}, "longitude": {"type": "number"}, "degree": {"type": "string"}, "degree_in_sign": {"type": "number"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}, "element": {"type": "string"}, "mode": {"type": "string"}, "ruler": {"type": "string"}, "house": {"type": "integer"}, "house_signification": {"type": "string"}, "available": {"type": "boolean"}, "retrograde": {"type": "boolean"}, "speed": {"type": "number"}, "retrograde_note": {"type": "string"}, "dignity": {"type": "string"}, "dignity_note": {"type": "string"}, "dignity_effect": {"type": "string"}, "sign_meaning": {"type": "string"}, "house_meaning": {"type": "string"}, "interpretation": {"type": "string"}, "summary": {"type": "string"}}, "required": ["planet", "name", "symbol", "longitude", "degree", "degree_in_sign", "sign", "sign_symbol", "element", "mode", "ruler", "house", "house_signification", "available", "retrograde", "speed", "retrograde_note", "dignity", "dignity_note", "dignity_effect", "sign_meaning", "house_meaning", "interpretation", "summary"]}},
                        "houses": {"type": "object", "properties": {"system": {"type": "string"}, "available": {"type": "boolean"}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "cusp": {"type": "number"}, "cusp_dms": {"type": "string"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}, "signification": {"type": "string"}}, "required": ["house", "cusp", "cusp_dms", "sign", "sign_symbol", "signification"]}}, "cusps_raw": {"type": "array", "items": {"type": "number"}}, "ascendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "dms": {"type": "string"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}}, "required": ["longitude", "dms", "sign", "sign_symbol"]}, "midheaven": {"type": "object", "properties": {"longitude": {"type": "number"}, "dms": {"type": "string"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}}, "required": ["longitude", "dms", "sign", "sign_symbol"]}}, "required": ["system", "available", "houses", "cusps_raw", "ascendant", "midheaven"]},
                        "aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}},
                        "aspect_count": {"type": "integer"},
                        "house_system": {"type": "string"}
                      },
                      "required": [
                        "name",
                        "date",
                        "time",
                        "lat",
                        "lon",
                        "tz",
                        "julian_day",
                        "sun_sign",
                        "moon_sign",
                        "ascendant_sign",
                        "big_three",
                        "ascendant",
                        "midheaven",
                        "planets",
                        "houses",
                        "aspects",
                        "aspect_count",
                        "house_system"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Native",
                        "date": "1990-10-18",
                        "time": "14:30:00",
                        "lat": 28.6139,
                        "lon": 77.209,
                        "tz": 5.5,
                        "julian_day": 2448182.875,
                        "sun_sign": "Libra",
                        "moon_sign": "Libra",
                        "ascendant_sign": "Aquarius",
                        "big_three": {"sun": {"sign": "Libra", "symbol": "♎"}, "moon": {"sign": "Libra", "symbol": "♎"}, "ascendant": {"sign": "Aquarius", "symbol": "♒"}},
                        "ascendant": {"longitude": 317.6256, "dms": "17°37'32\" Aquarius", "sign": "Aquarius", "sign_symbol": "♒"},
                        "midheaven": {"longitude": 240.945, "dms": "00°56'42\" Sagittarius", "sign": "Sagittarius", "sign_symbol": "♐"},
                        "planets": [{"planet": "Sun", "name": "Sun", "symbol": "☉", "longitude": 204.7272, "degree": "24°43'38\" Libra", "degree_in_sign": 24.73, "sign": "Libra", "sign_symbol": "♎", "element": "Air", "mode": "Cardinal", "ruler": "Venus", "house": 8, "house_signification": "Transformation, shared resources, death, sexuality, inheritance", "available": true, "retrograde": false, "speed": 0.9932, "retrograde_note": "", "dignity": "Fall", "dignity_note": " [Fall]", "dignity_effect": "struggles to express itself fully — growth through difficulty", "sign_meaning": "Diplomatic harmoniser; seeks balance, justice, and beauty", "house_meaning": "Intense personal transformation; deep psychology and shared resources", "interpretation": "Diplomatic harmoniser; seeks balance, justice, and beauty Sun struggles to express itself fully — growth through difficulty. In House 8 (Transformation, shared resources, death, sexuality, inheritance): Intense personal transformation; deep psychology and shared resources.", "summary": "Sun [Fall] in Libra ♎ (House 8): Diplomatic harmoniser; seeks balance, justice, and beauty"}, {"planet": "Moon", "name": "Moon", "symbol": "☽", "longitude": 201.6087, "degree": "21°36'31\" Libra", "degree_in_sign": 21.61, "sign": "Libra", "sign_symbol": "♎", "element": "Air", "mode": "Cardinal", "ruler": "Venus", "house": 8, "house_signification": "Transformation, shared resources, death, sexuality, inheritance", "available": true, "retrograde": false, "speed": 12.3358, "retrograde_note": "", "dignity": "", "dignity_note": "", "dignity_effect": "", "sign_meaning": "Emotionally balanced; seeks harmony and peace in relationships", "house_meaning": "Deep emotional transformation; intense psychic sensitivity", "interpretation": "Emotionally balanced; seeks harmony and peace in relationships In House 8 (Transformation, shared resources, death, sexuality, inheritance): Deep emotional transformation; intense psychic sensitivity.", "summary": "Moon in Libra ♎ (House 8): Emotionally balanced; seeks harmony and peace in relationships"}, {"planet": "Mercury", "name": "Mercury", "symbol": "☿", "longitude": 202.0721, "degree": "22°04'19\" Libra", "degree_in_sign": 22.07, "sign": "Libra", "sign_symbol": "♎", "element": "Air", "mode": "Cardinal", "ruler": "Venus", "house": 8, "house_signification": "Transformation, shared resources, death, sexuality, inheritance", "available": true, "retrograde": false, "speed": 1.7105, "retrograde_note": "", "dignity": "", "dignity_note": "", "dignity_effect": "", "sign_meaning": "Diplomatic communicator; considers all sides before deciding", "house_meaning": "Investigative mind; drawn to psychology, research, and hidden facts", "interpretation": "Diplomatic communicator; considers all sides before deciding In House 8 (Transformation, shared resources, death, sexuality, inheritance): Investigative mind; drawn to psychology, research, and hidden facts.", "summary": "Mercury in Libra ♎ (House 8): Diplomatic communicator; considers all sides before deciding"}],
                        "houses": {"system": "P", "available": true, "houses": [{"house": 1, "cusp": 317.6256, "cusp_dms": "17°37'32\" Aquarius", "sign": "Aquarius", "sign_symbol": "♒", "signification": "Self, identity, physical body, first impressions"}, {"house": 2, "cusp": 358.4515, "cusp_dms": "28°27'05\" Pisces", "sign": "Pisces", "sign_symbol": "♓", "signification": "Money, possessions, self-worth, values"}, {"house": 3, "cusp": 33.3727, "cusp_dms": "03°22'21\" Taurus", "sign": "Taurus", "sign_symbol": "♉", "signification": "Communication, siblings, short trips, mind"}], "cusps_raw": [317.6256380956435, 358.45149540760406, 33.37273415297357], "ascendant": {"longitude": 317.6256, "dms": "17°37'32\" Aquarius", "sign": "Aquarius", "sign_symbol": "♒"}, "midheaven": {"longitude": 240.945, "dms": "00°56'42\" Sagittarius", "sign": "Sagittarius", "sign_symbol": "♐"}},
                        "aspects": [{"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Mercury", "planet2_symbol": "☿", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.46, "exact_angle": 0.46, "meaning": "☽ Moon merges and intensifies ☿ Mercury — emotions, instincts, and inner needs conjunction with mind, communication, and perception."}, {"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Venus", "planet2_symbol": "♀", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.54, "exact_angle": 0.54, "meaning": "☽ Moon merges and intensifies ♀ Venus — emotions, instincts, and inner needs conjunction with love, beauty, values, and attraction."}, {"planet1": "Mercury", "planet1_symbol": "☿", "planet2": "Venus", "planet2_symbol": "♀", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 1.0, "exact_angle": 1.0, "meaning": "☿ Mercury merges and intensifies ♀ Venus — mind, communication, and perception conjunction with love, beauty, values, and attraction."}],
                        "aspect_count": 23,
                        "house_system": "P"
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-planet-details": {
      "post": {
        "operationId": "western-planet-details",
        "summary": "Western Planet Details",
        "description": "Tropical longitude, sign, element, mode, ruler and house for each planet.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "name": {"type": "string"}, "symbol": {"type": "string"}, "longitude": {"type": "number"}, "degree": {"type": "string"}, "degree_in_sign": {"type": "number"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}, "element": {"type": "string"}, "mode": {"type": "string"}, "ruler": {"type": "string"}, "house": {"type": "integer"}, "house_signification": {"type": "string"}, "available": {"type": "boolean"}, "retrograde": {"type": "boolean"}, "speed": {"type": "number"}, "retrograde_note": {"type": "string"}, "dignity": {"type": "string"}, "dignity_note": {"type": "string"}, "dignity_effect": {"type": "string"}, "sign_meaning": {"type": "string"}, "house_meaning": {"type": "string"}, "interpretation": {"type": "string"}, "summary": {"type": "string"}}, "required": ["planet", "name", "symbol", "longitude", "degree", "degree_in_sign", "sign", "sign_symbol", "element", "mode", "ruler", "house", "house_signification", "available", "retrograde", "speed", "retrograde_note", "dignity", "dignity_note", "dignity_effect", "sign_meaning", "house_meaning", "interpretation", "summary"]}}
                      },
                      "required": [
                        "name",
                        "planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Native",
                        "planets": [{"planet": "Sun", "name": "Sun", "symbol": "☉", "longitude": 204.7272, "degree": "24°43'38\" Libra", "degree_in_sign": 24.73, "sign": "Libra", "sign_symbol": "♎", "element": "Air", "mode": "Cardinal", "ruler": "Venus", "house": 8, "house_signification": "Transformation, shared resources, death, sexuality, inheritance", "available": true, "retrograde": false, "speed": 0.9932, "retrograde_note": "", "dignity": "Fall", "dignity_note": " [Fall]", "dignity_effect": "struggles to express itself fully — growth through difficulty", "sign_meaning": "Diplomatic harmoniser; seeks balance, justice, and beauty", "house_meaning": "Intense personal transformation; deep psychology and shared resources", "interpretation": "Diplomatic harmoniser; seeks balance, justice, and beauty Sun struggles to express itself fully — growth through difficulty. In House 8 (Transformation, shared resources, death, sexuality, inheritance): Intense personal transformation; deep psychology and shared resources.", "summary": "Sun [Fall] in Libra ♎ (House 8): Diplomatic harmoniser; seeks balance, justice, and beauty"}, {"planet": "Moon", "name": "Moon", "symbol": "☽", "longitude": 201.6087, "degree": "21°36'31\" Libra", "degree_in_sign": 21.61, "sign": "Libra", "sign_symbol": "♎", "element": "Air", "mode": "Cardinal", "ruler": "Venus", "house": 8, "house_signification": "Transformation, shared resources, death, sexuality, inheritance", "available": true, "retrograde": false, "speed": 12.3358, "retrograde_note": "", "dignity": "", "dignity_note": "", "dignity_effect": "", "sign_meaning": "Emotionally balanced; seeks harmony and peace in relationships", "house_meaning": "Deep emotional transformation; intense psychic sensitivity", "interpretation": "Emotionally balanced; seeks harmony and peace in relationships In House 8 (Transformation, shared resources, death, sexuality, inheritance): Deep emotional transformation; intense psychic sensitivity.", "summary": "Moon in Libra ♎ (House 8): Emotionally balanced; seeks harmony and peace in relationships"}, {"planet": "Mercury", "name": "Mercury", "symbol": "☿", "longitude": 202.0721, "degree": "22°04'19\" Libra", "degree_in_sign": 22.07, "sign": "Libra", "sign_symbol": "♎", "element": "Air", "mode": "Cardinal", "ruler": "Venus", "house": 8, "house_signification": "Transformation, shared resources, death, sexuality, inheritance", "available": true, "retrograde": false, "speed": 1.7105, "retrograde_note": "", "dignity": "", "dignity_note": "", "dignity_effect": "", "sign_meaning": "Diplomatic communicator; considers all sides before deciding", "house_meaning": "Investigative mind; drawn to psychology, research, and hidden facts", "interpretation": "Diplomatic communicator; considers all sides before deciding In House 8 (Transformation, shared resources, death, sexuality, inheritance): Investigative mind; drawn to psychology, research, and hidden facts.", "summary": "Mercury in Libra ♎ (House 8): Diplomatic communicator; considers all sides before deciding"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-house-cusps": {
      "post": {
        "operationId": "western-house-cusps",
        "summary": "Western House Cusps",
        "description": "Twelve house cusps with sign, signification, ruler and the planets in each, plus the ascendant and midheaven.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "house_system": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "dms": {"type": "string"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}}, "required": ["longitude", "dms", "sign", "sign_symbol"]},
                        "midheaven": {"type": "object", "properties": {"longitude": {"type": "number"}, "dms": {"type": "string"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}}, "required": ["longitude", "dms", "sign", "sign_symbol"]},
                        "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "cusp": {"type": "number"}, "cusp_dms": {"type": "string"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}, "signification": {"type": "string"}, "planets_in_house": {"type": "array"}, "ruled_by": {"type": "string"}}, "required": ["house", "cusp", "cusp_dms", "sign", "sign_symbol", "signification", "planets_in_house", "ruled_by"]}},
                        "unplaced": {"type": "array", "items": {"type": "string"}},
                        "complete": {"type": "boolean"}
                      },
                      "required": [
                        "name",
                        "house_system",
                        "ascendant",
                        "midheaven",
                        "houses",
                        "unplaced",
                        "complete"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Native",
                        "house_system": "P",
                        "ascendant": {"longitude": 317.6256, "dms": "17°37'32\" Aquarius", "sign": "Aquarius", "sign_symbol": "♒"},
                        "midheaven": {"longitude": 240.945, "dms": "00°56'42\" Sagittarius", "sign": "Sagittarius", "sign_symbol": "♐"},
                        "houses": [{"house": 1, "cusp": 317.6256, "cusp_dms": "17°37'32\" Aquarius", "sign": "Aquarius", "sign_symbol": "♒", "signification": "Self, identity, physical body, first impressions", "planets_in_house": [], "ruled_by": "Uranus"}, {"house": 2, "cusp": 358.4515, "cusp_dms": "28°27'05\" Pisces", "sign": "Pisces", "sign_symbol": "♓", "signification": "Money, possessions, self-worth, values", "planets_in_house": [], "ruled_by": "Neptune"}, {"house": 3, "cusp": 33.3727, "cusp_dms": "03°22'21\" Taurus", "sign": "Taurus", "sign_symbol": "♉", "signification": "Communication, siblings, short trips, mind", "planets_in_house": [], "ruled_by": "Venus"}],
                        "unplaced": ["Chiron"],
                        "complete": false
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-natal-aspects": {
      "post": {
        "operationId": "western-natal-aspects",
        "summary": "Western Natal Aspects",
        "description": "Aspects between natal planets with orb, nature and meaning, split into major and minor.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "total_aspects": {"type": "integer"},
                        "major_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}},
                        "minor_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}},
                        "all_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}}
                      },
                      "required": [
                        "name",
                        "total_aspects",
                        "major_aspects",
                        "minor_aspects",
                        "all_aspects"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Native",
                        "total_aspects": 23,
                        "major_aspects": [{"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Mercury", "planet2_symbol": "☿", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.46, "exact_angle": 0.46, "meaning": "☽ Moon merges and intensifies ☿ Mercury — emotions, instincts, and inner needs conjunction with mind, communication, and perception."}, {"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Venus", "planet2_symbol": "♀", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.54, "exact_angle": 0.54, "meaning": "☽ Moon merges and intensifies ♀ Venus — emotions, instincts, and inner needs conjunction with love, beauty, values, and attraction."}, {"planet1": "Mercury", "planet1_symbol": "☿", "planet2": "Venus", "planet2_symbol": "♀", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 1.0, "exact_angle": 1.0, "meaning": "☿ Mercury merges and intensifies ♀ Venus — mind, communication, and perception conjunction with love, beauty, values, and attraction."}],
                        "minor_aspects": [{"planet1": "Jupiter", "planet1_symbol": "♃", "planet2": "Neptune", "planet2_symbol": "♆", "aspect": "Quincunx", "symbol": "⚻", "nature": "Adjustment", "orb": 1.18, "exact_angle": 151.18, "meaning": "♃ Jupiter requires adjustment and recalibration with ♆ Neptune — expansion, wisdom, luck, and growth quincunx with dreams, illusion, spirituality, and dissolution."}, {"planet1": "Mars", "planet1_symbol": "♂", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Quincunx", "symbol": "⚻", "nature": "Adjustment", "orb": 2.28, "exact_angle": 152.28, "meaning": "♂ Mars requires adjustment and recalibration with ♇ Pluto — drive, courage, desire, and action quincunx with transformation, power, death, and rebirth."}, {"planet1": "Mars", "planet1_symbol": "♂", "planet2": "Neptune", "planet2_symbol": "♆", "aspect": "Quincunx", "symbol": "⚻", "nature": "Adjustment", "orb": 2.56, "exact_angle": 152.56, "meaning": "♂ Mars requires adjustment and recalibration with ♆ Neptune — drive, courage, desire, and action quincunx with dreams, illusion, spirituality, and dissolution."}],
                        "all_aspects": [{"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Mercury", "planet2_symbol": "☿", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.46, "exact_angle": 0.46, "meaning": "☽ Moon merges and intensifies ☿ Mercury — emotions, instincts, and inner needs conjunction with mind, communication, and perception."}, {"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Venus", "planet2_symbol": "♀", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.54, "exact_angle": 0.54, "meaning": "☽ Moon merges and intensifies ♀ Venus — emotions, instincts, and inner needs conjunction with love, beauty, values, and attraction."}, {"planet1": "Mercury", "planet1_symbol": "☿", "planet2": "Venus", "planet2_symbol": "♀", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 1.0, "exact_angle": 1.0, "meaning": "☿ Mercury merges and intensifies ♀ Venus — mind, communication, and perception conjunction with love, beauty, values, and attraction."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-natal-wheel": {
      "post": {
        "operationId": "western-natal-wheel",
        "summary": "Western Natal Wheel",
        "description": "The natal wheel as an SVG drawing with real house cusps and aspect lines, plus the cusp, planet and aspect data drawn.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "placidus": {"type": "object", "properties": {"cusps": {"type": "array", "items": {"type": "number"}}, "asc_long": {"type": "number"}, "mc_long": {"type": "number"}, "planets": {"type": "object", "properties": {"Sun": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "Moon": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "Mercury": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "Venus": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "Mars": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "Jupiter": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "Saturn": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "Uranus": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "Neptune": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "Pluto": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "North Node": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}, "Chiron": {"type": "object", "properties": {"longitude": {"type": "number"}, "retrograde": {"type": "boolean"}}, "required": ["longitude", "retrograde"]}}, "required": ["Sun", "Moon", "Mercury", "Venus", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto", "North Node", "Chiron"]}, "aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}}}, "required": ["cusps", "asc_long", "mc_long", "planets", "aspects"]},
                        "house_system": {"type": "string"},
                        "images": {"type": "array", "items": {"type": "object", "properties": {"style": {"type": "string"}, "format": {"type": "string"}, "svg": {"type": "string"}}, "required": ["style", "format", "svg"]}}
                      },
                      "required": [
                        "placidus",
                        "house_system",
                        "images"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "placidus": {"cusps": [317.6256380956435, 358.45149540760406, 33.37273415297357], "asc_long": 317.6256, "mc_long": 240.945, "planets": {"Sun": {"longitude": 204.7272, "retrograde": false}, "Moon": {"longitude": 201.6087, "retrograde": false}, "Mercury": {"longitude": 202.0721, "retrograde": false}, "Venus": {"longitude": 201.0728, "retrograde": false}, "Mars": {"longitude": 74.5198, "retrograde": false}, "Jupiter": {"longitude": 130.7814, "retrograde": false}, "Saturn": {"longitude": 289.2244, "retrograde": false}, "Uranus": {"longitude": 276.078, "retrograde": false}, "Neptune": {"longitude": 281.9645, "retrograde": false}, "Pluto": {"longitude": 226.7956, "retrograde": false}, "North Node": {"longitude": 303.6706, "retrograde": true}, "Chiron": {"longitude": 0.0, "retrograde": false}}, "aspects": [{"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Mercury", "planet2_symbol": "☿", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.46, "exact_angle": 0.46, "meaning": "☽ Moon merges and intensifies ☿ Mercury — emotions, instincts, and inner needs conjunction with mind, communication, and perception."}, {"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Venus", "planet2_symbol": "♀", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.54, "exact_angle": 0.54, "meaning": "☽ Moon merges and intensifies ♀ Venus — emotions, instincts, and inner needs conjunction with love, beauty, values, and attraction."}, {"planet1": "Mercury", "planet1_symbol": "☿", "planet2": "Venus", "planet2_symbol": "♀", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 1.0, "exact_angle": 1.0, "meaning": "☿ Mercury merges and intensifies ♀ Venus — mind, communication, and perception conjunction with love, beauty, values, and attraction."}]},
                        "house_system": "P",
                        "images": [{"style": "western", "format": "svg", "svg": "<SVG document, 14411 characters; omitted from this example>"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-detailed-report": {
      "post": {
        "operationId": "western-detailed-report",
        "summary": "Western Detailed Planet Report",
        "description": "Interpretive report: each planet's sign, house, dignity and meaning, the houses, the dominant element and the key aspects, with a summary.",
        "tags": [
          "western"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternBirth"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "house_system": {"type": "string"},
                        "summary": {"type": "string"},
                        "sun_sign": {"type": "string"},
                        "moon_sign": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}}, "required": ["longitude", "sign", "degree_in_sign"]},
                        "midheaven": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}}, "required": ["longitude", "sign", "degree_in_sign"]},
                        "dominant_element": {"type": "string"},
                        "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "cusp": {"type": "number"}, "sign": {"type": "string"}, "signification": {"type": "string"}}, "required": ["house", "cusp", "sign", "signification"]}},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "available": {"type": "boolean"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}, "house": {"type": "integer"}, "retrograde": {"type": "boolean"}, "speed": {"type": "number"}, "element": {"type": "string"}, "mode": {"type": "string"}, "sign_ruler": {"type": "string"}, "dignity": {"type": ["string", "null"]}, "dignity_effect": {"type": ["string", "null"]}, "sign_meaning": {"type": "string"}, "house_meaning": {"type": "string"}, "house_signification": {"type": "string"}, "interpretation": {"type": "string"}, "summary": {"type": "string"}, "aspects": {"type": "array", "items": {"type": "object", "properties": {"planet_1": {"type": "string"}, "planet_2": {"type": "string"}, "aspect": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "separation": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet_1", "planet_2", "aspect", "nature", "orb", "separation", "meaning"]}}}, "required": ["name", "available", "longitude", "sign", "degree_in_sign", "house", "retrograde", "speed", "element", "mode", "sign_ruler", "dignity", "dignity_effect", "sign_meaning", "house_meaning", "house_signification", "interpretation", "summary", "aspects"]}},
                        "key_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet_1": {"type": "string"}, "planet_2": {"type": "string"}, "aspect": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "separation": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet_1", "planet_2", "aspect", "nature", "orb", "separation", "meaning"]}}
                      },
                      "required": [
                        "name",
                        "house_system",
                        "summary",
                        "sun_sign",
                        "moon_sign",
                        "ascendant",
                        "midheaven",
                        "dominant_element",
                        "houses",
                        "planets",
                        "key_aspects"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Native",
                        "house_system": "placidus",
                        "summary": "Native has Sun in Libra, Moon in Libra, and Aquarius Rising. The chart contains 23 active aspects. Dominant element: Air.",
                        "sun_sign": "Libra",
                        "moon_sign": "Libra",
                        "ascendant": {"longitude": 317.6256, "sign": "Aquarius", "degree_in_sign": 17.6256},
                        "midheaven": {"longitude": 240.945, "sign": "Sagittarius", "degree_in_sign": 0.945},
                        "dominant_element": "Air",
                        "houses": [{"house": 1, "cusp": 317.6256, "sign": "Aquarius", "signification": "Self, identity, physical body, first impressions"}, {"house": 2, "cusp": 358.4515, "sign": "Pisces", "signification": "Money, possessions, self-worth, values"}, {"house": 3, "cusp": 33.3727, "sign": "Taurus", "signification": "Communication, siblings, short trips, mind"}],
                        "planets": [{"name": "Sun", "available": true, "longitude": 204.7272, "sign": "Libra", "degree_in_sign": 24.7272, "house": 8, "retrograde": false, "speed": 0.9932, "element": "Air", "mode": "Cardinal", "sign_ruler": "Venus", "dignity": "Fall", "dignity_effect": "struggles to express itself fully — growth through difficulty", "sign_meaning": "Diplomatic harmoniser; seeks balance, justice, and beauty", "house_meaning": "Intense personal transformation; deep psychology and shared resources", "house_signification": "Transformation, shared resources, death, sexuality, inheritance", "interpretation": "Diplomatic harmoniser; seeks balance, justice, and beauty Sun struggles to express itself fully — growth through difficulty. In House 8 (Transformation, shared resources, death, sexuality, inheritance): Intense personal transformation; deep psychology and shared resources.", "summary": "Sun [Fall] in Libra ♎ (House 8): Diplomatic harmoniser; seeks balance, justice, and beauty", "aspects": [{"planet_1": "Sun", "planet_2": "Mercury", "aspect": "Conjunction", "nature": "Intensifying", "orb": 2.66, "separation": 2.66, "meaning": "☉ Sun merges and intensifies ☿ Mercury — identity, vitality, and core self conjunction with mind, communication, and perception."}, {"planet_1": "Sun", "planet_2": "Moon", "aspect": "Conjunction", "nature": "Intensifying", "orb": 3.12, "separation": 3.12, "meaning": "☉ Sun merges and intensifies ☽ Moon — identity, vitality, and core self conjunction with emotions, instincts, and inner needs."}, {"planet_1": "Sun", "planet_2": "Venus", "aspect": "Conjunction", "nature": "Intensifying", "orb": 3.65, "separation": 3.65, "meaning": "☉ Sun merges and intensifies ♀ Venus — identity, vitality, and core self conjunction with love, beauty, values, and attraction."}]}, {"name": "Moon", "available": true, "longitude": 201.6087, "sign": "Libra", "degree_in_sign": 21.6087, "house": 8, "retrograde": false, "speed": 12.3358, "element": "Air", "mode": "Cardinal", "sign_ruler": "Venus", "dignity": null, "dignity_effect": null, "sign_meaning": "Emotionally balanced; seeks harmony and peace in relationships", "house_meaning": "Deep emotional transformation; intense psychic sensitivity", "house_signification": "Transformation, shared resources, death, sexuality, inheritance", "interpretation": "Emotionally balanced; seeks harmony and peace in relationships In House 8 (Transformation, shared resources, death, sexuality, inheritance): Deep emotional transformation; intense psychic sensitivity.", "summary": "Moon in Libra ♎ (House 8): Emotionally balanced; seeks harmony and peace in relationships", "aspects": [{"planet_1": "Moon", "planet_2": "Mercury", "aspect": "Conjunction", "nature": "Intensifying", "orb": 0.46, "separation": 0.46, "meaning": "☽ Moon merges and intensifies ☿ Mercury — emotions, instincts, and inner needs conjunction with mind, communication, and perception."}, {"planet_1": "Moon", "planet_2": "Venus", "aspect": "Conjunction", "nature": "Intensifying", "orb": 0.54, "separation": 0.54, "meaning": "☽ Moon merges and intensifies ♀ Venus — emotions, instincts, and inner needs conjunction with love, beauty, values, and attraction."}, {"planet_1": "Moon", "planet_2": "Saturn", "aspect": "Square", "nature": "Challenging", "orb": 2.38, "separation": 87.62, "meaning": "☽ Moon challenges and creates tension with ♄ Saturn — emotions, instincts, and inner needs square with discipline, karma, restriction, and mastery."}]}, {"name": "Mercury", "available": true, "longitude": 202.0721, "sign": "Libra", "degree_in_sign": 22.0721, "house": 8, "retrograde": false, "speed": 1.7105, "element": "Air", "mode": "Cardinal", "sign_ruler": "Venus", "dignity": null, "dignity_effect": null, "sign_meaning": "Diplomatic communicator; considers all sides before deciding", "house_meaning": "Investigative mind; drawn to psychology, research, and hidden facts", "house_signification": "Transformation, shared resources, death, sexuality, inheritance", "interpretation": "Diplomatic communicator; considers all sides before deciding In House 8 (Transformation, shared resources, death, sexuality, inheritance): Investigative mind; drawn to psychology, research, and hidden facts.", "summary": "Mercury in Libra ♎ (House 8): Diplomatic communicator; considers all sides before deciding", "aspects": [{"planet_1": "Moon", "planet_2": "Mercury", "aspect": "Conjunction", "nature": "Intensifying", "orb": 0.46, "separation": 0.46, "meaning": "☽ Moon merges and intensifies ☿ Mercury — emotions, instincts, and inner needs conjunction with mind, communication, and perception."}, {"planet_1": "Mercury", "planet_2": "Venus", "aspect": "Conjunction", "nature": "Intensifying", "orb": 1.0, "separation": 1.0, "meaning": "☿ Mercury merges and intensifies ♀ Venus — mind, communication, and perception conjunction with love, beauty, values, and attraction."}, {"planet_1": "Sun", "planet_2": "Mercury", "aspect": "Conjunction", "nature": "Intensifying", "orb": 2.66, "separation": 2.66, "meaning": "☉ Sun merges and intensifies ☿ Mercury — identity, vitality, and core self conjunction with mind, communication, and perception."}]}],
                        "key_aspects": [{"planet_1": "Moon", "planet_2": "Mercury", "aspect": "Conjunction", "nature": "Intensifying", "orb": 0.46, "separation": 0.46, "meaning": "☽ Moon merges and intensifies ☿ Mercury — emotions, instincts, and inner needs conjunction with mind, communication, and perception."}, {"planet_1": "Moon", "planet_2": "Venus", "aspect": "Conjunction", "nature": "Intensifying", "orb": 0.54, "separation": 0.54, "meaning": "☽ Moon merges and intensifies ♀ Venus — emotions, instincts, and inner needs conjunction with love, beauty, values, and attraction."}, {"planet_1": "Mercury", "planet_2": "Venus", "aspect": "Conjunction", "nature": "Intensifying", "orb": 1.0, "separation": 1.0, "meaning": "☿ Mercury merges and intensifies ♀ Venus — mind, communication, and perception conjunction with love, beauty, values, and attraction."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["Chiron could not be calculated; it is listed with no position and forms no aspects."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-node-report": {
      "post": {
        "operationId": "western-node-report",
        "summary": "Lunar Node Report",
        "description": "The lunar node's sign, degree and house with the house meaning, its ruler's sign and house, and an interpretation.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "node_considered": {"type": "string"},
                        "node_current_zodiac": {"type": "string"},
                        "node_degree": {"type": "string"},
                        "node_current_house": {"type": "integer"},
                        "node_house_meaning": {"type": "string"},
                        "node_lord": {"type": "string"},
                        "node_lord_zodiac": {"type": "string"},
                        "node_lord_house": {"type": "integer"},
                        "node_prediction": {"type": "string"}
                      },
                      "required": [
                        "name",
                        "node_considered",
                        "node_current_zodiac",
                        "node_degree",
                        "node_current_house",
                        "node_house_meaning",
                        "node_lord",
                        "node_lord_zodiac",
                        "node_lord_house",
                        "node_prediction"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "",
                        "node_considered": "North Node",
                        "node_current_zodiac": "Aquarius",
                        "node_degree": "03°40'13\" Aquarius",
                        "node_current_house": 12,
                        "node_house_meaning": "Hidden matters, solitude, spirituality, karma, secret enemies",
                        "node_lord": "Uranus",
                        "node_lord_zodiac": "Capricorn",
                        "node_lord_house": 11,
                        "node_prediction": "Your north node sits in Aquarius in house 12, which points growth toward hidden matters, solitude, spirituality, karma, secret enemies through the qualities of Aquarius. Its ruler Uranus is in Capricorn in house 11, so progress here comes by way of rebellion, innovation, and sudden change."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-ascendant-report": {
      "post": {
        "operationId": "western-ascendant-report",
        "summary": "Ascendant Report",
        "description": "Rising sign with degree, element and mode, the chart ruler's sign and house, and an interpretation.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "planet_considered": {"type": "string"},
                        "ascendant_current_zodiac": {"type": "string"},
                        "ascendant_degree": {"type": "string"},
                        "ascendant_element": {"type": "string"},
                        "ascendant_mode": {"type": "string"},
                        "ascendant_lord": {"type": "string"},
                        "ascendant_lord_zodiac": {"type": "string"},
                        "ascendant_lord_house": {"type": "integer"},
                        "ascendant_prediction": {"type": "string"}
                      },
                      "required": [
                        "name",
                        "planet_considered",
                        "ascendant_current_zodiac",
                        "ascendant_degree",
                        "ascendant_element",
                        "ascendant_mode",
                        "ascendant_lord",
                        "ascendant_lord_zodiac",
                        "ascendant_lord_house",
                        "ascendant_prediction"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "",
                        "planet_considered": "Ascendant",
                        "ascendant_current_zodiac": "Aquarius",
                        "ascendant_degree": "17°37'32\" Aquarius",
                        "ascendant_element": "Air",
                        "ascendant_mode": "Fixed",
                        "ascendant_lord": "Uranus",
                        "ascendant_lord_zodiac": "Capricorn",
                        "ascendant_lord_house": 11,
                        "ascendant_prediction": "You rise in Aquarius, a fixed air sign, so first impressions of you carry that quality before anything else does. The chart's ruler is Uranus, placed in Capricorn in house 11 -- so your outward manner is steered by friends, groups, hopes, dreams, social networks."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-transit-chart": {
      "post": {
        "operationId": "western-transit-chart",
        "summary": "Western Transit Chart",
        "description": "Natal and current transit planet positions, transit-to-natal aspects with orb, intensity and meaning, and the major transits.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "as_of": {"type": "string"},
                        "natal_planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "name": {"type": "string"}, "available": {"type": "boolean"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}, "degree": {"type": "string"}, "degree_in_sign": {"type": "number"}, "retrograde": {"type": "boolean"}, "speed": {"type": "number"}, "symbol": {"type": "string"}}, "required": ["planet", "name", "available", "longitude", "sign", "sign_symbol", "degree", "degree_in_sign", "retrograde", "speed", "symbol"]}},
                        "transit_planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "name": {"type": "string"}, "available": {"type": "boolean"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}, "degree": {"type": "string"}, "degree_in_sign": {"type": "number"}, "retrograde": {"type": "boolean"}, "speed": {"type": "number"}, "symbol": {"type": "string"}}, "required": ["planet", "name", "available", "longitude", "sign", "sign_symbol", "degree", "degree_in_sign", "retrograde", "speed", "symbol"]}},
                        "transit_to_natal_aspects": {"type": "array", "items": {"type": "object", "properties": {"transit_planet": {"type": "string"}, "transit_sign": {"type": "string"}, "transit_retrograde": {"type": "boolean"}, "natal_planet": {"type": "string"}, "natal_sign": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "intensity": {"type": "string"}, "period": {"type": "string"}, "meaning": {"type": "string"}}, "required": ["transit_planet", "transit_sign", "transit_retrograde", "natal_planet", "natal_sign", "aspect", "symbol", "nature", "orb", "intensity", "period", "meaning"]}},
                        "dominant_element": {"type": "string"},
                        "major_transits": {"type": "array", "items": {"type": "object", "properties": {"transit_planet": {"type": "string"}, "transit_sign": {"type": "string"}, "transit_retrograde": {"type": "boolean"}, "natal_planet": {"type": "string"}, "natal_sign": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "intensity": {"type": "string"}, "period": {"type": "string"}, "meaning": {"type": "string"}}, "required": ["transit_planet", "transit_sign", "transit_retrograde", "natal_planet", "natal_sign", "aspect", "symbol", "nature", "orb", "intensity", "period", "meaning"]}}
                      },
                      "required": [
                        "name",
                        "as_of",
                        "natal_planets",
                        "transit_planets",
                        "transit_to_natal_aspects",
                        "dominant_element",
                        "major_transits"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Native",
                        "as_of": "2026-10-14",
                        "natal_planets": [{"planet": "Sun", "name": "Sun", "available": true, "longitude": 204.7272, "sign": "Libra", "sign_symbol": "♎", "degree": "24°43'38\" Libra", "degree_in_sign": 24.73, "retrograde": false, "speed": 0.9932, "symbol": "☉"}, {"planet": "Moon", "name": "Moon", "available": true, "longitude": 201.6087, "sign": "Libra", "sign_symbol": "♎", "degree": "21°36'31\" Libra", "degree_in_sign": 21.61, "retrograde": false, "speed": 12.3358, "symbol": "☽"}, {"planet": "Mercury", "name": "Mercury", "available": true, "longitude": 202.0721, "sign": "Libra", "sign_symbol": "♎", "degree": "22°04'19\" Libra", "degree_in_sign": 22.07, "retrograde": false, "speed": 1.7105, "symbol": "☿"}],
                        "transit_planets": [{"planet": "Sun", "name": "Sun", "available": true, "longitude": 201.017, "sign": "Libra", "sign_symbol": "♎", "degree": "21°01'01\" Libra", "degree_in_sign": 21.02, "retrograde": false, "speed": 0.9907, "symbol": "☉"}, {"planet": "Moon", "name": "Moon", "available": true, "longitude": 243.8131, "sign": "Sagittarius", "sign_symbol": "♐", "degree": "03°48'47\" Sagittarius", "degree_in_sign": 3.81, "retrograde": false, "speed": 12.1555, "symbol": "☽"}, {"planet": "Mercury", "name": "Mercury", "available": true, "longitude": 225.9146, "sign": "Scorpio", "sign_symbol": "♏", "degree": "15°54'52\" Scorpio", "degree_in_sign": 15.91, "retrograde": false, "speed": 0.8861, "symbol": "☿"}],
                        "transit_to_natal_aspects": [{"transit_planet": "Sun", "transit_sign": "Libra", "transit_retrograde": false, "natal_planet": "Venus", "natal_sign": "Libra", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.06, "intensity": "major", "period": "Today", "meaning": "Transiting Sun (Libra) merges and intensifies natal Venus (Libra) — identity, vitality, and core self conjunction with natal love, beauty, values, and attraction."}, {"transit_planet": "Saturn", "transit_sign": "Aries", "transit_retrograde": true, "natal_planet": "Jupiter", "natal_sign": "Leo", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.25, "intensity": "major", "period": "Today", "meaning": "Transiting Saturn (Aries) flows naturally and gifts ease to natal Jupiter (Leo) — discipline, karma, restriction, and mastery trine with natal expansion, wisdom, luck, and growth."}, {"transit_planet": "Sun", "transit_sign": "Libra", "transit_retrograde": false, "natal_planet": "Moon", "natal_sign": "Libra", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.59, "intensity": "major", "period": "Today", "meaning": "Transiting Sun (Libra) merges and intensifies natal Moon (Libra) — identity, vitality, and core self conjunction with natal emotions, instincts, and inner needs."}],
                        "dominant_element": "Fire",
                        "major_transits": [{"transit_planet": "Sun", "transit_sign": "Libra", "transit_retrograde": false, "natal_planet": "Venus", "natal_sign": "Libra", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.06, "intensity": "major", "period": "Today", "meaning": "Transiting Sun (Libra) merges and intensifies natal Venus (Libra) — identity, vitality, and core self conjunction with natal love, beauty, values, and attraction."}, {"transit_planet": "Saturn", "transit_sign": "Aries", "transit_retrograde": true, "natal_planet": "Jupiter", "natal_sign": "Leo", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.25, "intensity": "major", "period": "Today", "meaning": "Transiting Saturn (Aries) flows naturally and gifts ease to natal Jupiter (Leo) — discipline, karma, restriction, and mastery trine with natal expansion, wisdom, luck, and growth."}, {"transit_planet": "Sun", "transit_sign": "Libra", "transit_retrograde": false, "natal_planet": "Moon", "natal_sign": "Libra", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.59, "intensity": "major", "period": "Today", "meaning": "Transiting Sun (Libra) merges and intensifies natal Moon (Libra) — identity, vitality, and core self conjunction with natal emotions, instincts, and inner needs."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-transit-wheel": {
      "post": {
        "operationId": "western-transit-wheel",
        "summary": "Western Transit Wheel",
        "description": "The natal wheel with the transiting planets drawn around it, as an SVG drawing, plus the transit-to-natal aspects and a table of both rings.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "as_of": {"type": "string"},
                        "inner_ring": {"type": "string"},
                        "outer_ring": {"type": "string"},
                        "houses_shown": {"type": "string"},
                        "transit_to_natal_aspects": {"type": "array", "items": {"type": "object", "properties": {"transit_planet": {"type": "string"}, "transit_sign": {"type": "string"}, "transit_retrograde": {"type": "boolean"}, "natal_planet": {"type": "string"}, "natal_sign": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "intensity": {"type": "string"}, "period": {"type": "string"}, "meaning": {"type": "string"}}, "required": ["transit_planet", "transit_sign", "transit_retrograde", "natal_planet", "natal_sign", "aspect", "symbol", "nature", "orb", "intensity", "period", "meaning"]}},
                        "table": {"type": "object", "properties": {"natal": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "string"}, "retrograde": {"type": "boolean"}}, "required": ["planet", "longitude", "sign", "degree", "retrograde"]}}, "transit": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "string"}, "retrograde": {"type": "boolean"}}, "required": ["planet", "longitude", "sign", "degree", "retrograde"]}}}, "required": ["natal", "transit"]},
                        "images": {"type": "array", "items": {"type": "object", "properties": {"style": {"type": "string"}, "format": {"type": "string"}, "svg": {"type": "string"}}, "required": ["style", "format", "svg"]}}
                      },
                      "required": [
                        "name",
                        "as_of",
                        "inner_ring",
                        "outer_ring",
                        "houses_shown",
                        "transit_to_natal_aspects",
                        "table",
                        "images"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Native",
                        "as_of": "2026-10-14",
                        "inner_ring": "natal",
                        "outer_ring": "transit",
                        "houses_shown": "natal",
                        "transit_to_natal_aspects": [{"transit_planet": "Sun", "transit_sign": "Libra", "transit_retrograde": false, "natal_planet": "Venus", "natal_sign": "Libra", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.06, "intensity": "major", "period": "Today", "meaning": "Transiting Sun (Libra) merges and intensifies natal Venus (Libra) — identity, vitality, and core self conjunction with natal love, beauty, values, and attraction."}, {"transit_planet": "Saturn", "transit_sign": "Aries", "transit_retrograde": true, "natal_planet": "Jupiter", "natal_sign": "Leo", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.25, "intensity": "major", "period": "Today", "meaning": "Transiting Saturn (Aries) flows naturally and gifts ease to natal Jupiter (Leo) — discipline, karma, restriction, and mastery trine with natal expansion, wisdom, luck, and growth."}, {"transit_planet": "Sun", "transit_sign": "Libra", "transit_retrograde": false, "natal_planet": "Moon", "natal_sign": "Libra", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.59, "intensity": "major", "period": "Today", "meaning": "Transiting Sun (Libra) merges and intensifies natal Moon (Libra) — identity, vitality, and core self conjunction with natal emotions, instincts, and inner needs."}],
                        "table": {"natal": [{"planet": "Sun", "longitude": 204.7272, "sign": "Libra", "degree": "24°43'38\" Libra", "retrograde": false}, {"planet": "Moon", "longitude": 201.6087, "sign": "Libra", "degree": "21°36'31\" Libra", "retrograde": false}, {"planet": "Mercury", "longitude": 202.0721, "sign": "Libra", "degree": "22°04'19\" Libra", "retrograde": false}], "transit": [{"planet": "Sun", "longitude": 201.017, "sign": "Libra", "degree": "21°01'01\" Libra", "retrograde": false}, {"planet": "Moon", "longitude": 243.8131, "sign": "Sagittarius", "degree": "03°48'47\" Sagittarius", "retrograde": false}, {"planet": "Mercury", "longitude": 225.9146, "sign": "Scorpio", "degree": "15°54'52\" Scorpio", "retrograde": false}]},
                        "images": [{"style": "western_biwheel", "format": "svg", "svg": "<SVG document, 17446 characters; omitted from this example>"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-transit-dates": {
      "post": {
        "operationId": "western-transit-dates",
        "summary": "Transit Dates",
        "description": "Dates when transiting planets aspect natal points within a look-ahead window.",
        "tags": [
          "western"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TransitDatesInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "days_requested": {"type": "integer"},
                        "days_scanned": {"type": "integer"},
                        "window_capped": {"type": "boolean"},
                        "max_days": {"type": "integer"},
                        "events_found": {"type": "integer"},
                        "events_returned": {"type": "integer"},
                        "events_truncated": {"type": "boolean"},
                        "transit_events": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "exact_at": {"type": "string"}, "transit_planet": {"type": "string"}, "transit_sign": {"type": "string"}, "transit_retrograde": {"type": "boolean"}, "natal_planet": {"type": "string"}, "natal_sign": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["date", "exact_at", "transit_planet", "transit_sign", "transit_retrograde", "natal_planet", "natal_sign", "aspect", "symbol", "nature", "orb", "meaning"]}}
                      },
                      "required": [
                        "name",
                        "days_requested",
                        "days_scanned",
                        "window_capped",
                        "max_days",
                        "events_found",
                        "events_returned",
                        "events_truncated",
                        "transit_events"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Native",
                        "days_requested": 90,
                        "days_scanned": 90,
                        "window_capped": false,
                        "max_days": 730,
                        "events_found": 9,
                        "events_returned": 9,
                        "events_truncated": false,
                        "transit_events": [{"date": "2026-10-15", "exact_at": "2026-10-15T19:08:37Z", "transit_planet": "Jupiter", "transit_sign": "Leo", "transit_retrograde": false, "natal_planet": "Mercury", "natal_sign": "Libra", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.0, "meaning": "Transiting Jupiter is exactly sextile to natal Mercury on 2026-10-15 — expansion, wisdom, luck, and growth sextile with your natal mind, communication, and perception."}, {"date": "2026-11-04", "exact_at": "2026-11-04T10:30:59Z", "transit_planet": "Jupiter", "transit_sign": "Leo", "transit_retrograde": false, "natal_planet": "Sun", "natal_sign": "Libra", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.0, "meaning": "Transiting Jupiter is exactly sextile to natal Sun on 2026-11-04 — expansion, wisdom, luck, and growth sextile with your natal identity, vitality, and core self."}, {"date": "2026-11-12", "exact_at": "2026-11-12T16:58:23Z", "transit_planet": "Uranus", "transit_sign": "Gemini", "transit_retrograde": true, "natal_planet": "Saturn", "natal_sign": "Capricorn", "aspect": "Sesquiquadrate", "symbol": "⚼", "nature": "Minor stress", "orb": 0.0, "meaning": "Transiting Uranus is exactly sesquiquadrate to natal Saturn on 2026-11-12 — rebellion, innovation, and sudden change sesquiquadrate with your natal discipline, karma, restriction, and mastery."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-daily-transit": {
      "post": {
        "operationId": "western-daily-transit",
        "summary": "Daily Transit Prediction",
        "description": "A day's theme from transits to the natal chart, with the active and major transit-to-natal aspects and their meanings.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WesternInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "date": {"type": "string"},
                        "sun_sign": {"type": "string"},
                        "daily_theme": {"type": "string"},
                        "dominant_element": {"type": "string"},
                        "active_transits": {"type": "array", "items": {"type": "object", "properties": {"transit_planet": {"type": "string"}, "transit_sign": {"type": "string"}, "transit_retrograde": {"type": "boolean"}, "natal_planet": {"type": "string"}, "natal_sign": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "intensity": {"type": "string"}, "period": {"type": "string"}, "meaning": {"type": "string"}}, "required": ["transit_planet", "transit_sign", "transit_retrograde", "natal_planet", "natal_sign", "aspect", "symbol", "nature", "orb", "intensity", "period", "meaning"]}},
                        "transit_count": {"type": "integer"},
                        "major_transits": {"type": "array", "items": {"type": "object", "properties": {"transit_planet": {"type": "string"}, "transit_sign": {"type": "string"}, "transit_retrograde": {"type": "boolean"}, "natal_planet": {"type": "string"}, "natal_sign": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "intensity": {"type": "string"}, "period": {"type": "string"}, "meaning": {"type": "string"}}, "required": ["transit_planet", "transit_sign", "transit_retrograde", "natal_planet", "natal_sign", "aspect", "symbol", "nature", "orb", "intensity", "period", "meaning"]}}
                      },
                      "required": [
                        "name",
                        "date",
                        "sun_sign",
                        "daily_theme",
                        "dominant_element",
                        "active_transits",
                        "transit_count",
                        "major_transits"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Native",
                        "date": "2026-10-14",
                        "sun_sign": "Libra",
                        "daily_theme": "Assert your desire for fairness and beauty",
                        "dominant_element": "Fire",
                        "active_transits": [{"transit_planet": "Sun", "transit_sign": "Libra", "transit_retrograde": false, "natal_planet": "Venus", "natal_sign": "Libra", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.06, "intensity": "major", "period": "Today", "meaning": "Transiting Sun (Libra) merges and intensifies natal Venus (Libra) — identity, vitality, and core self conjunction with natal love, beauty, values, and attraction."}, {"transit_planet": "Saturn", "transit_sign": "Aries", "transit_retrograde": true, "natal_planet": "Jupiter", "natal_sign": "Leo", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.25, "intensity": "major", "period": "Today", "meaning": "Transiting Saturn (Aries) flows naturally and gifts ease to natal Jupiter (Leo) — discipline, karma, restriction, and mastery trine with natal expansion, wisdom, luck, and growth."}, {"transit_planet": "Sun", "transit_sign": "Libra", "transit_retrograde": false, "natal_planet": "Moon", "natal_sign": "Libra", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.59, "intensity": "major", "period": "Today", "meaning": "Transiting Sun (Libra) merges and intensifies natal Moon (Libra) — identity, vitality, and core self conjunction with natal emotions, instincts, and inner needs."}],
                        "transit_count": 51,
                        "major_transits": [{"transit_planet": "Sun", "transit_sign": "Libra", "transit_retrograde": false, "natal_planet": "Venus", "natal_sign": "Libra", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.06, "intensity": "major", "period": "Today", "meaning": "Transiting Sun (Libra) merges and intensifies natal Venus (Libra) — identity, vitality, and core self conjunction with natal love, beauty, values, and attraction."}, {"transit_planet": "Saturn", "transit_sign": "Aries", "transit_retrograde": true, "natal_planet": "Jupiter", "natal_sign": "Leo", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.25, "intensity": "major", "period": "Today", "meaning": "Transiting Saturn (Aries) flows naturally and gifts ease to natal Jupiter (Leo) — discipline, karma, restriction, and mastery trine with natal expansion, wisdom, luck, and growth."}, {"transit_planet": "Sun", "transit_sign": "Libra", "transit_retrograde": false, "natal_planet": "Moon", "natal_sign": "Libra", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 0.59, "intensity": "major", "period": "Today", "meaning": "Transiting Sun (Libra) merges and intensifies natal Moon (Libra) — identity, vitality, and core self conjunction with natal emotions, instincts, and inner needs."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-yearly-forecast": {
      "post": {
        "operationId": "western-yearly-forecast",
        "summary": "Western Yearly Forecast",
        "description": "Year ahead from the solar return: the return moment and chart, the year's main transit themes with exact dates, and a summary.",
        "tags": [
          "western"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/YearlyForecastInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "target_year": 2026
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "null"},
                        "target_year": {"type": "integer"},
                        "house_system": {"type": "string"},
                        "sun_sign": {"type": "string"},
                        "solar_return": {"type": "object", "properties": {"utc": {"type": "string"}, "local": {"type": "object", "properties": {"datetime": {"type": "string"}, "timezone": {"type": "string"}}, "required": ["datetime", "timezone"]}, "sun_longitude": {"type": "number"}, "location": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "basis": {"type": "string"}}, "required": ["latitude", "longitude", "basis"]}}, "required": ["utc", "local", "sun_longitude", "location"]},
                        "return_year": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]},
                        "dominant_element": {"type": "string"},
                        "return_chart": {"type": "object", "properties": {"ascendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}}, "required": ["longitude", "sign", "degree_in_sign"]}, "midheaven": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}}, "required": ["longitude", "sign", "degree_in_sign"]}, "houses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "cusp": {"type": "number"}, "sign": {"type": "string"}, "signification": {"type": "string"}}, "required": ["house", "cusp", "sign", "signification"]}}, "sun_house": {"type": "integer"}, "angular_planets": {"type": "array", "items": {"type": "string"}}, "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "available": {"type": "boolean"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}, "house": {"type": "integer"}, "retrograde": {"type": "boolean"}, "speed": {"type": "number"}}, "required": ["name", "available", "longitude", "sign", "degree_in_sign", "house", "retrograde", "speed"]}}}, "required": ["ascendant", "midheaven", "houses", "sun_house", "angular_planets", "planets"]},
                        "themes": {"type": "array", "items": {"type": "object", "properties": {"transit_planet": {"type": "string"}, "transit_sign": {"type": "string"}, "aspect": {"type": "string"}, "natal_planet": {"type": "string"}, "natal_sign": {"type": "string"}, "nature": {"type": "string"}, "exact_dates": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}}, "required": ["transit_planet", "transit_sign", "aspect", "natal_planet", "natal_sign", "nature", "exact_dates", "meaning"]}},
                        "themes_method": {"type": "string"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "name",
                        "target_year",
                        "house_system",
                        "sun_sign",
                        "solar_return",
                        "return_year",
                        "dominant_element",
                        "return_chart",
                        "themes",
                        "themes_method",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": null,
                        "target_year": 2026,
                        "house_system": "placidus",
                        "sun_sign": "Libra",
                        "solar_return": {"utc": "2026-10-18T02:17:53Z", "local": {"datetime": "2026-10-18T07:47:53+05:30", "timezone": "Asia/Kolkata"}, "sun_longitude": 204.7272, "location": {"latitude": 28.6139, "longitude": 77.209, "basis": "birth_place"}},
                        "return_year": {"start": "2026-10-18T02:17:53Z", "end": "2027-10-18T08:13:34Z"},
                        "dominant_element": "Air",
                        "return_chart": {"ascendant": {"longitude": 222.0448, "sign": "Scorpio", "degree_in_sign": 12.0448}, "midheaven": {"longitude": 135.8163, "sign": "Leo", "degree_in_sign": 15.8163}, "houses": [{"house": 1, "cusp": 222.0448, "sign": "Scorpio", "signification": "Self, identity, physical body, first impressions"}, {"house": 2, "cusp": 251.2821, "sign": "Sagittarius", "signification": "Money, possessions, self-worth, values"}, {"house": 3, "cusp": 282.7473, "sign": "Capricorn", "signification": "Communication, siblings, short trips, mind"}], "sun_house": 12, "angular_planets": ["Mercury", "Jupiter", "Uranus"], "planets": [{"name": "Sun", "available": true, "longitude": 204.7272, "sign": "Libra", "degree_in_sign": 24.7272, "house": 12, "retrograde": false, "speed": 0.9925}, {"name": "Moon", "available": true, "longitude": 288.4198, "sign": "Capricorn", "degree_in_sign": 18.4198, "house": 3, "retrograde": false, "speed": 11.8501}, {"name": "Mercury", "available": true, "longitude": 228.8031, "sign": "Scorpio", "degree_in_sign": 18.8031, "house": 1, "retrograde": false, "speed": 0.6435}]},
                        "themes": [{"transit_planet": "Saturn", "transit_sign": "Aries", "aspect": "Opposition", "natal_planet": "Moon", "natal_sign": "Libra", "nature": "Polarizing", "exact_dates": ["2027-05-09"], "meaning": "Transiting Saturn polarizes and confronts natal Moon (opposition), exact on 2027-05-09 -- discipline, karma, restriction, and mastery opposition with natal emotions, instincts, and inner needs."}, {"transit_planet": "Saturn", "transit_sign": "Aries", "aspect": "Opposition", "natal_planet": "Sun", "natal_sign": "Libra", "nature": "Polarizing", "exact_dates": ["2027-06-08", "2027-10-14"], "meaning": "Transiting Saturn polarizes and confronts natal Sun (opposition), exact 2 times: 2027-06-08, 2027-10-14 -- discipline, karma, restriction, and mastery opposition with natal identity, vitality, and core self."}, {"transit_planet": "Saturn", "transit_sign": "Aries", "aspect": "Opposition", "natal_planet": "Venus", "natal_sign": "Libra", "nature": "Polarizing", "exact_dates": ["2027-05-05"], "meaning": "Transiting Saturn polarizes and confronts natal Venus (opposition), exact on 2027-05-05 -- discipline, karma, restriction, and mastery opposition with natal love, beauty, values, and attraction."}],
                        "themes_method": "Exact Conjunction/Opposition/Square/Trine hits of Jupiter, Saturn, Uranus, Neptune and Pluto to natal planets between this solar return and the next.",
                        "summary": "Native's 2026 Solar Return (2026-10-18 02:17 UT) places the Ascendant in Scorpio and the Sun in the return chart's house 12. The dominant element in the return chart is Air. Major themes of the return year: Saturn opposition natal Moon; Saturn opposition natal Sun; Saturn opposition natal Venus."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["Chiron could not be calculated in the return chart; it is listed with no position."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-transit-planets": {
      "post": {
        "operationId": "western-transit-planets",
        "summary": "Current Planet Positions (Tropical)",
        "description": "Current tropical planet positions with sign, degree and retrograde flags, plus the dominant element.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NameInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "name": ""
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "as_of": {"type": "string"},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "symbol": {"type": "string"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}, "degree": {"type": "string"}, "retrograde": {"type": "boolean"}, "element": {"type": "string"}}, "required": ["planet", "symbol", "sign", "sign_symbol", "degree", "retrograde", "element"]}},
                        "dominant_element": {"type": "string"},
                        "retrograde_planets": {"type": "array", "items": {"type": "string"}},
                        "retrograde_count": {"type": "integer"}
                      },
                      "required": [
                        "name",
                        "as_of",
                        "planets",
                        "dominant_element",
                        "retrograde_planets",
                        "retrograde_count"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Seeker",
                        "as_of": "2026-10-14T08:30:17Z",
                        "planets": [{"planet": "Sun", "symbol": "☉", "sign": "Libra", "sign_symbol": "♎", "degree": "21°01'01\" Libra", "retrograde": false, "element": "Air"}, {"planet": "Moon", "symbol": "☽", "sign": "Sagittarius", "sign_symbol": "♐", "degree": "03°48'47\" Sagittarius", "retrograde": false, "element": "Fire"}, {"planet": "Mercury", "symbol": "☿", "sign": "Scorpio", "sign_symbol": "♏", "degree": "15°54'52\" Scorpio", "retrograde": false, "element": "Water"}],
                        "dominant_element": "Fire",
                        "retrograde_planets": ["Venus", "Saturn", "Uranus"],
                        "retrograde_count": 6
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-general-transits-daily": {
      "post": {
        "operationId": "western-general-transits-daily",
        "summary": "General Transits: Daily",
        "description": "The day's tropical planet positions and the aspects between them, not tied to a chart, with the dominant element and retrograde planets.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NameInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "name": ""
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "date": {"type": "string"},
                        "planet_positions": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "name": {"type": "string"}, "available": {"type": "boolean"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}, "degree": {"type": "string"}, "degree_in_sign": {"type": "number"}, "retrograde": {"type": "boolean"}, "speed": {"type": "number"}, "symbol": {"type": "string"}}, "required": ["planet", "name", "available", "longitude", "sign", "sign_symbol", "degree", "degree_in_sign", "retrograde", "speed", "symbol"]}},
                        "current_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}},
                        "dominant_element": {"type": "string"},
                        "retrograde_planets": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "name",
                        "date",
                        "planet_positions",
                        "current_aspects",
                        "dominant_element",
                        "retrograde_planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Seeker",
                        "date": "2026-10-14",
                        "planet_positions": [{"planet": "Sun", "name": "Sun", "available": true, "longitude": 201.017, "sign": "Libra", "sign_symbol": "♎", "degree": "21°01'01\" Libra", "degree_in_sign": 21.02, "retrograde": false, "speed": 0.9907, "symbol": "☉"}, {"planet": "Moon", "name": "Moon", "available": true, "longitude": 243.8131, "sign": "Sagittarius", "sign_symbol": "♐", "degree": "03°48'47\" Sagittarius", "degree_in_sign": 3.81, "retrograde": false, "speed": 12.1555, "symbol": "☽"}, {"planet": "Mercury", "name": "Mercury", "available": true, "longitude": 225.9146, "sign": "Scorpio", "sign_symbol": "♏", "degree": "15°54'52\" Scorpio", "degree_in_sign": 15.91, "retrograde": false, "speed": 0.8861, "symbol": "☿"}],
                        "current_aspects": [{"planet1": "Neptune", "planet1_symbol": "♆", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.57, "exact_angle": 59.43, "meaning": "♆ Neptune harmoniously supports ♇ Pluto — dreams, illusion, spirituality, and dissolution sextile with transformation, power, death, and rebirth."}, {"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.74, "exact_angle": 59.26, "meaning": "☽ Moon harmoniously supports ♇ Pluto — emotions, instincts, and inner needs sextile with transformation, power, death, and rebirth."}, {"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Uranus", "planet2_symbol": "♅", "aspect": "Sesquiquadrate", "symbol": "⚼", "nature": "Minor stress", "orb": 0.78, "exact_angle": 135.78, "meaning": "☉ Sun creates underlying stress with ♅ Uranus — identity, vitality, and core self sesquiquadrate with rebellion, innovation, and sudden change."}],
                        "dominant_element": "Fire",
                        "retrograde_planets": ["Venus", "Saturn", "Uranus"]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-general-transits-weekly": {
      "post": {
        "operationId": "western-general-transits-weekly",
        "summary": "General Transits: Weekly",
        "description": "Day by day for a week: key aspects, dominant element, retrograde planets and the Moon's sign, not tied to a chart.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NameInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "name": ""
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "week": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "day_of_week": {"type": "string"}, "key_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}}, "dominant_element": {"type": "string"}, "retrograde_planets": {"type": "array", "items": {"type": "string"}}, "moon_sign": {"type": "string"}}, "required": ["date", "day_of_week", "key_aspects", "dominant_element", "retrograde_planets", "moon_sign"]}}
                      },
                      "required": [
                        "name",
                        "week"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Seeker",
                        "week": [{"date": "2026-10-14", "day_of_week": "Wednesday", "key_aspects": [{"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Uranus", "planet2_symbol": "♅", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 0.35, "exact_angle": 179.65, "meaning": "☽ Moon polarizes and confronts ♅ Uranus — emotions, instincts, and inner needs opposition with rebellion, innovation, and sudden change."}, {"planet1": "Mars", "planet1_symbol": "♂", "planet2": "Saturn", "planet2_symbol": "♄", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 1.16, "exact_angle": 118.84, "meaning": "♂ Mars flows naturally and gifts ease to ♄ Saturn — drive, courage, desire, and action trine with discipline, karma, restriction, and mastery."}, {"planet1": "Uranus", "planet1_symbol": "♅", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 2.16, "exact_angle": 122.16, "meaning": "♅ Uranus flows naturally and gifts ease to ♇ Pluto — rebellion, innovation, and sudden change trine with transformation, power, death, and rebirth."}], "dominant_element": "Fire", "retrograde_planets": ["Venus", "Saturn", "Uranus"], "moon_sign": "Sagittarius"}, {"date": "2026-10-15", "day_of_week": "Thursday", "key_aspects": [{"planet1": "Mars", "planet1_symbol": "♂", "planet2": "Saturn", "planet2_symbol": "♄", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.53, "exact_angle": 119.47, "meaning": "♂ Mars flows naturally and gifts ease to ♄ Saturn — drive, courage, desire, and action trine with discipline, karma, restriction, and mastery."}, {"planet1": "Uranus", "planet1_symbol": "♅", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 2.14, "exact_angle": 122.14, "meaning": "♅ Uranus flows naturally and gifts ease to ♇ Pluto — rebellion, innovation, and sudden change trine with transformation, power, death, and rebirth."}, {"planet1": "Venus", "planet1_symbol": "♀", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Square", "symbol": "□", "nature": "Challenging", "orb": 2.52, "exact_angle": 87.48, "meaning": "♀ Venus challenges and creates tension with ♇ Pluto — love, beauty, values, and attraction square with transformation, power, death, and rebirth."}], "dominant_element": "Fire", "retrograde_planets": ["Venus", "Saturn", "Uranus"], "moon_sign": "Sagittarius"}, {"date": "2026-10-16", "day_of_week": "Friday", "key_aspects": [{"planet1": "Mars", "planet1_symbol": "♂", "planet2": "Saturn", "planet2_symbol": "♄", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.09, "exact_angle": 120.09, "meaning": "♂ Mars flows naturally and gifts ease to ♄ Saturn — drive, courage, desire, and action trine with discipline, karma, restriction, and mastery."}, {"planet1": "Venus", "planet1_symbol": "♀", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Square", "symbol": "□", "nature": "Challenging", "orb": 2.05, "exact_angle": 87.95, "meaning": "♀ Venus challenges and creates tension with ♇ Pluto — love, beauty, values, and attraction square with transformation, power, death, and rebirth."}, {"planet1": "Uranus", "planet1_symbol": "♅", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 2.11, "exact_angle": 122.11, "meaning": "♅ Uranus flows naturally and gifts ease to ♇ Pluto — rebellion, innovation, and sudden change trine with transformation, power, death, and rebirth."}], "dominant_element": "Fire", "retrograde_planets": ["Venus", "Saturn", "Uranus"], "moon_sign": "Sagittarius"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-general-transits-monthly": {
      "post": {
        "operationId": "western-general-transits-monthly",
        "summary": "General Transits: Monthly",
        "description": "Week by week for a month: key aspects, dominant element, retrograde planets and the Moon's sign, not tied to a chart.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NameInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "name": ""
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "weeks": {"type": "array", "items": {"type": "object", "properties": {"week_starting": {"type": "string"}, "key_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}}, "dominant_element": {"type": "string"}, "retrograde_planets": {"type": "array", "items": {"type": "string"}}, "moon_sign_at_start": {"type": "string"}}, "required": ["week_starting", "key_aspects", "dominant_element", "retrograde_planets", "moon_sign_at_start"]}}
                      },
                      "required": [
                        "name",
                        "weeks"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Seeker",
                        "weeks": [{"week_starting": "2026-10-14", "key_aspects": [{"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Uranus", "planet2_symbol": "♅", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 0.35, "exact_angle": 179.65, "meaning": "☽ Moon polarizes and confronts ♅ Uranus — emotions, instincts, and inner needs opposition with rebellion, innovation, and sudden change."}, {"planet1": "Mars", "planet1_symbol": "♂", "planet2": "Saturn", "planet2_symbol": "♄", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 1.16, "exact_angle": 118.84, "meaning": "♂ Mars flows naturally and gifts ease to ♄ Saturn — drive, courage, desire, and action trine with discipline, karma, restriction, and mastery."}, {"planet1": "Uranus", "planet1_symbol": "♅", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 2.16, "exact_angle": 122.16, "meaning": "♅ Uranus flows naturally and gifts ease to ♇ Pluto — rebellion, innovation, and sudden change trine with transformation, power, death, and rebirth."}], "dominant_element": "Fire", "retrograde_planets": ["Venus", "Saturn", "Uranus"], "moon_sign_at_start": "Sagittarius"}, {"week_starting": "2026-10-21", "key_aspects": [{"planet1": "Sun", "planet1_symbol": "☉", "planet2": "North Node", "planet2_symbol": "☊", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.05, "exact_angle": 119.95, "meaning": "☉ Sun flows naturally and gifts ease to ☊ North Node — identity, vitality, and core self trine with soul path and karmic destiny."}, {"planet1": "Venus", "planet1_symbol": "♀", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Square", "symbol": "□", "nature": "Challenging", "orb": 0.71, "exact_angle": 90.71, "meaning": "♀ Venus challenges and creates tension with ♇ Pluto — love, beauty, values, and attraction square with transformation, power, death, and rebirth."}, {"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Moon", "planet2_symbol": "☽", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 1.58, "exact_angle": 121.58, "meaning": "☉ Sun flows naturally and gifts ease to ☽ Moon — identity, vitality, and core self trine with emotions, instincts, and inner needs."}], "dominant_element": "Air", "retrograde_planets": ["Venus", "Saturn", "Uranus"], "moon_sign_at_start": "Aquarius"}, {"week_starting": "2026-10-28", "key_aspects": [{"planet1": "Venus", "planet1_symbol": "♀", "planet2": "North Node", "planet2_symbol": "☊", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.89, "exact_angle": 119.11, "meaning": "♀ Venus flows naturally and gifts ease to ☊ North Node — love, beauty, values, and attraction trine with soul path and karmic destiny."}, {"planet1": "Uranus", "planet1_symbol": "♅", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 1.7, "exact_angle": 121.7, "meaning": "♅ Uranus flows naturally and gifts ease to ♇ Pluto — rebellion, innovation, and sudden change trine with transformation, power, death, and rebirth."}, {"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Uranus", "planet2_symbol": "♅", "aspect": "Conjunction", "symbol": "☌", "nature": "Intensifying", "orb": 1.92, "exact_angle": 1.92, "meaning": "☽ Moon merges and intensifies ♅ Uranus — emotions, instincts, and inner needs conjunction with rebellion, innovation, and sudden change."}], "dominant_element": "Air", "retrograde_planets": ["Mercury", "Venus", "Saturn"], "moon_sign_at_start": "Gemini"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-sun-daily": {
      "post": {
        "operationId": "western-sun-daily",
        "summary": "Sun-Sign Daily Forecast",
        "description": "A day's forecast for a sun sign: theme, the Moon's sign and phase, aspects to the sign's ruler and the major sky aspects.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SunSignInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "sun_sign": "Leo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "sun_sign": {"type": "string"},
                        "date": {"type": "string"},
                        "daily_theme": {"type": "string"},
                        "dominant_element": {"type": "string"},
                        "moon_sign_today": {"type": "string"},
                        "moon_phase_note": {"type": "string"},
                        "lucky_element": {"type": "string"},
                        "mode": {"type": "string"},
                        "ruling_planet": {"type": "string"},
                        "ruler_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}},
                        "major_sky_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}},
                        "transiting_venus_sign": {"type": "string"},
                        "transiting_mars_sign": {"type": "string"},
                        "transiting_mercury_sign": {"type": "string"},
                        "retrograde_planets": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "name",
                        "sun_sign",
                        "date",
                        "daily_theme",
                        "dominant_element",
                        "moon_sign_today",
                        "moon_phase_note",
                        "lucky_element",
                        "mode",
                        "ruling_planet",
                        "ruler_aspects",
                        "major_sky_aspects",
                        "transiting_venus_sign",
                        "transiting_mars_sign",
                        "transiting_mercury_sign",
                        "retrograde_planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Leo",
                        "sun_sign": "Leo",
                        "date": "2026-10-14",
                        "daily_theme": "Shine brilliantly — creative and romantic day Your ruling planet Sun creates underlying stress with Uranus today (Sesquiquadrate, orb 0.78°) — minor stress energy shapes your focus. The sky's strongest aspect: Neptune ⚹ Pluto (Sextile, orb 0.57°) — harmonious influence on everyone. The Moon in Sagittarius (Fire) shapes the emotional tone. Mercury in Scorpio influences communication. Venus in Scorpio and Mars in Leo colour love and action. Retrograde planets today: Venus, Saturn, Uranus, Neptune, Pluto, North Node — review and reflect rather than launch.",
                        "dominant_element": "Fire",
                        "moon_sign_today": "Sagittarius",
                        "moon_phase_note": "Moon in Sagittarius (Fire) — Emotionally freedom-seeking; optimistic and adventure-hungry",
                        "lucky_element": "Fire",
                        "mode": "Fixed",
                        "ruling_planet": "Sun",
                        "ruler_aspects": [{"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Uranus", "planet2_symbol": "♅", "aspect": "Sesquiquadrate", "symbol": "⚼", "nature": "Minor stress", "orb": 0.78, "exact_angle": 135.78, "meaning": "☉ Sun creates underlying stress with ♅ Uranus — identity, vitality, and core self sesquiquadrate with rebellion, innovation, and sudden change."}, {"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Jupiter", "planet2_symbol": "♃", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.83, "exact_angle": 59.17, "meaning": "☉ Sun harmoniously supports ♃ Jupiter — identity, vitality, and core self sextile with expansion, wisdom, luck, and growth."}],
                        "major_sky_aspects": [{"planet1": "Neptune", "planet1_symbol": "♆", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.57, "exact_angle": 59.43, "meaning": "♆ Neptune harmoniously supports ♇ Pluto — dreams, illusion, spirituality, and dissolution sextile with transformation, power, death, and rebirth."}, {"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.74, "exact_angle": 59.26, "meaning": "☽ Moon harmoniously supports ♇ Pluto — emotions, instincts, and inner needs sextile with transformation, power, death, and rebirth."}, {"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Jupiter", "planet2_symbol": "♃", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.83, "exact_angle": 59.17, "meaning": "☉ Sun harmoniously supports ♃ Jupiter — identity, vitality, and core self sextile with expansion, wisdom, luck, and growth."}],
                        "transiting_venus_sign": "Scorpio",
                        "transiting_mars_sign": "Leo",
                        "transiting_mercury_sign": "Scorpio",
                        "retrograde_planets": ["Venus", "Saturn", "Uranus"]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-sun-weekly": {
      "post": {
        "operationId": "western-sun-weekly",
        "summary": "Sun-Sign Weekly Forecast",
        "description": "Day by day for a week for a sun sign: theme, Moon sign, key aspects and aspects to the sign's ruler.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SunSignInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "sun_sign": "Leo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "sun_sign": {"type": "string"},
                        "ruling_planet": {"type": "string"},
                        "week": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "day_of_week": {"type": "string"}, "theme": {"type": "string"}, "dominant_element": {"type": "string"}, "moon_sign": {"type": "string"}, "key_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}}, "ruler_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet1": {"type": "string"}, "planet1_symbol": {"type": "string"}, "planet2": {"type": "string"}, "planet2_symbol": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "exact_angle": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet1", "planet1_symbol", "planet2", "planet2_symbol", "aspect", "symbol", "nature", "orb", "exact_angle", "meaning"]}}, "retrograde_planets": {"type": "array", "items": {"type": "string"}}, "venus_sign": {"type": "string"}, "mars_sign": {"type": "string"}}, "required": ["date", "day_of_week", "theme", "dominant_element", "moon_sign", "key_aspects", "ruler_aspects", "retrograde_planets", "venus_sign", "mars_sign"]}}
                      },
                      "required": [
                        "name",
                        "sun_sign",
                        "ruling_planet",
                        "week"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Leo",
                        "sun_sign": "Leo",
                        "ruling_planet": "Sun",
                        "week": [{"date": "2026-10-14", "day_of_week": "Wednesday", "theme": "Shine brilliantly — creative and romantic day Sun semi-square Moon (orb 0.58°): minor friction. Key aspect: Moon ☍ Uranus.", "dominant_element": "Fire", "moon_sign": "Sagittarius", "key_aspects": [{"planet1": "Moon", "planet1_symbol": "☽", "planet2": "Uranus", "planet2_symbol": "♅", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 0.35, "exact_angle": 179.65, "meaning": "☽ Moon polarizes and confronts ♅ Uranus — emotions, instincts, and inner needs opposition with rebellion, innovation, and sudden change."}, {"planet1": "Neptune", "planet1_symbol": "♆", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.57, "exact_angle": 59.43, "meaning": "♆ Neptune harmoniously supports ♇ Pluto — dreams, illusion, spirituality, and dissolution sextile with transformation, power, death, and rebirth."}, {"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Jupiter", "planet2_symbol": "♃", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.71, "exact_angle": 59.29, "meaning": "☉ Sun harmoniously supports ♃ Jupiter — identity, vitality, and core self sextile with expansion, wisdom, luck, and growth."}], "ruler_aspects": [{"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Moon", "planet2_symbol": "☽", "aspect": "Semi-square", "symbol": "∠", "nature": "Minor friction", "orb": 0.58, "exact_angle": 44.42, "meaning": "☉ Sun creates minor friction with ☽ Moon — identity, vitality, and core self semi-square with emotions, instincts, and inner needs."}], "retrograde_planets": ["Venus", "Saturn", "Uranus"], "venus_sign": "Scorpio", "mars_sign": "Leo"}, {"date": "2026-10-15", "day_of_week": "Thursday", "theme": "Shine brilliantly — creative and romantic day Sun sextile Jupiter (orb 0.13°): harmonious. Key aspect: Sun ⚹ Jupiter.", "dominant_element": "Fire", "moon_sign": "Sagittarius", "key_aspects": [{"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Jupiter", "planet2_symbol": "♃", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.13, "exact_angle": 60.13, "meaning": "☉ Sun harmoniously supports ♃ Jupiter — identity, vitality, and core self sextile with expansion, wisdom, luck, and growth."}, {"planet1": "Mars", "planet1_symbol": "♂", "planet2": "Saturn", "planet2_symbol": "♄", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.53, "exact_angle": 119.47, "meaning": "♂ Mars flows naturally and gifts ease to ♄ Saturn — drive, courage, desire, and action trine with discipline, karma, restriction, and mastery."}, {"planet1": "Neptune", "planet1_symbol": "♆", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.6, "exact_angle": 59.4, "meaning": "♆ Neptune harmoniously supports ♇ Pluto — dreams, illusion, spirituality, and dissolution sextile with transformation, power, death, and rebirth."}], "ruler_aspects": [{"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Jupiter", "planet2_symbol": "♃", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.13, "exact_angle": 60.13, "meaning": "☉ Sun harmoniously supports ♃ Jupiter — identity, vitality, and core self sextile with expansion, wisdom, luck, and growth."}], "retrograde_planets": ["Venus", "Saturn", "Uranus"], "venus_sign": "Scorpio", "mars_sign": "Leo"}, {"date": "2026-10-16", "day_of_week": "Friday", "theme": "Shine brilliantly — creative and romantic day Sun sextile Jupiter (orb 0.96°): harmonious. Key aspect: Mars △ Saturn.", "dominant_element": "Fire", "moon_sign": "Sagittarius", "key_aspects": [{"planet1": "Mars", "planet1_symbol": "♂", "planet2": "Saturn", "planet2_symbol": "♄", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.09, "exact_angle": 120.09, "meaning": "♂ Mars flows naturally and gifts ease to ♄ Saturn — drive, courage, desire, and action trine with discipline, karma, restriction, and mastery."}, {"planet1": "Neptune", "planet1_symbol": "♆", "planet2": "Pluto", "planet2_symbol": "♇", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.62, "exact_angle": 59.38, "meaning": "♆ Neptune harmoniously supports ♇ Pluto — dreams, illusion, spirituality, and dissolution sextile with transformation, power, death, and rebirth."}, {"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Jupiter", "planet2_symbol": "♃", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.96, "exact_angle": 60.96, "meaning": "☉ Sun harmoniously supports ♃ Jupiter — identity, vitality, and core self sextile with expansion, wisdom, luck, and growth."}], "ruler_aspects": [{"planet1": "Sun", "planet1_symbol": "☉", "planet2": "Jupiter", "planet2_symbol": "♃", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.96, "exact_angle": 60.96, "meaning": "☉ Sun harmoniously supports ♃ Jupiter — identity, vitality, and core self sextile with expansion, wisdom, luck, and growth."}], "retrograde_planets": ["Venus", "Saturn", "Uranus"], "venus_sign": "Scorpio", "mars_sign": "Leo"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/western-sun-sign-match": {
      "post": {
        "operationId": "western-sun-sign-match",
        "summary": "Sun-Sign Match",
        "description": "Compatibility from two sun signs alone: their elements, a score out of a maximum, a verdict and a summary.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SignPairInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "sign_a": "Leo",
                "sign_b": "Aquarius"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "sign_a": {"type": "string"},
                        "sign_b": {"type": "string"},
                        "element_a": {"type": "string"},
                        "element_b": {"type": "string"},
                        "score": {"type": "integer"},
                        "maximum": {"type": "integer"},
                        "verdict": {"type": "string"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "sign_a",
                        "sign_b",
                        "element_a",
                        "element_b",
                        "score",
                        "maximum",
                        "verdict",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "sign_a": "Leo",
                        "sign_b": "Aquarius",
                        "element_a": "Fire",
                        "element_b": "Air",
                        "score": 90,
                        "maximum": 100,
                        "verdict": "Highly compatible — Air feeds Fire's enthusiasm with ideas and mental connection",
                        "summary": "Leo and Aquarius pair fire with air: Highly compatible — Air feeds Fire's enthusiasm with ideas and mental connection. On sun signs alone this scores 90 out of 100. A full synastry reading needs both birth times and places."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-chart": {
      "post": {
        "operationId": "synastry-chart",
        "summary": "Synastry Chart",
        "description": "Both people's positions, the aspects between their charts, and a compatibility block with score, Sun and Moon compatibility and a verdict.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "person_a": {"type": "object", "properties": {"name": {"type": "string"}, "sun": {"type": "string"}, "moon": {"type": "string"}, "asc": {"type": "string"}, "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "name": {"type": "string"}, "available": {"type": "boolean"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}, "degree": {"type": "string"}, "degree_in_sign": {"type": "number"}, "retrograde": {"type": "boolean"}, "speed": {"type": "number"}, "symbol": {"type": "string"}}, "required": ["planet", "name", "available", "longitude", "sign", "sign_symbol", "degree", "degree_in_sign", "retrograde", "speed", "symbol"]}}}, "required": ["name", "sun", "moon", "asc", "planets"]},
                        "person_b": {"type": "object", "properties": {"name": {"type": "string"}, "sun": {"type": "string"}, "moon": {"type": "string"}, "asc": {"type": "string"}, "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "name": {"type": "string"}, "available": {"type": "boolean"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "sign_symbol": {"type": "string"}, "degree": {"type": "string"}, "degree_in_sign": {"type": "number"}, "retrograde": {"type": "boolean"}, "speed": {"type": "number"}, "symbol": {"type": "string"}}, "required": ["planet", "name", "available", "longitude", "sign", "sign_symbol", "degree", "degree_in_sign", "retrograde", "speed", "symbol"]}}}, "required": ["name", "sun", "moon", "asc", "planets"]},
                        "inter_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "compatibility": {"type": "object", "properties": {"available": {"type": "boolean"}, "score": {"type": "integer"}, "sun_compatibility": {"type": "string"}, "moon_compatibility": {"type": "string"}, "sun_element_a": {"type": "string"}, "sun_element_b": {"type": "string"}, "sun_sign_a": {"type": "string"}, "sun_sign_b": {"type": "string"}, "moon_sign_a": {"type": "string"}, "moon_sign_b": {"type": "string"}, "harmonious_aspects": {"type": "integer"}, "challenging_aspects": {"type": "integer"}, "total_inter_aspects": {"type": "integer"}, "verdict": {"type": "string"}}, "required": ["available", "score", "sun_compatibility", "moon_compatibility", "sun_element_a", "sun_element_b", "sun_sign_a", "sun_sign_b", "moon_sign_a", "moon_sign_b", "harmonious_aspects", "challenging_aspects", "total_inter_aspects", "verdict"]}
                      },
                      "required": [
                        "person_a",
                        "person_b",
                        "inter_aspects",
                        "compatibility"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "person_a": {"name": "A", "sun": "Libra", "moon": "Libra", "asc": "Aquarius", "planets": [{"planet": "Sun", "name": "Sun", "available": true, "longitude": 204.7272, "sign": "Libra", "sign_symbol": "♎", "degree": "24°43'38\" Libra", "degree_in_sign": 24.73, "retrograde": false, "speed": 0.9932, "symbol": "☉"}, {"planet": "Moon", "name": "Moon", "available": true, "longitude": 201.6087, "sign": "Libra", "sign_symbol": "♎", "degree": "21°36'31\" Libra", "degree_in_sign": 21.61, "retrograde": false, "speed": 12.3358, "symbol": "☽"}, {"planet": "Mercury", "name": "Mercury", "available": true, "longitude": 202.0721, "sign": "Libra", "sign_symbol": "♎", "degree": "22°04'19\" Libra", "degree_in_sign": 22.07, "retrograde": false, "speed": 1.7105, "symbol": "☿"}]},
                        "person_b": {"name": "B", "sun": "Pisces", "moon": "Aquarius", "asc": "Aquarius", "planets": [{"planet": "Sun", "name": "Sun", "available": true, "longitude": 341.6751, "sign": "Pisces", "sign_symbol": "♓", "degree": "11°40'30\" Pisces", "degree_in_sign": 11.68, "retrograde": false, "speed": 1.0035, "symbol": "☉"}, {"planet": "Moon", "name": "Moon", "available": true, "longitude": 313.6405, "sign": "Aquarius", "sign_symbol": "♒", "degree": "13°38'25\" Aquarius", "degree_in_sign": 13.64, "retrograde": false, "speed": 11.857, "symbol": "☽"}, {"planet": "Mercury", "name": "Mercury", "available": true, "longitude": 356.9293, "sign": "Pisces", "sign_symbol": "♓", "degree": "26°55'45\" Pisces", "degree_in_sign": 26.93, "retrograde": false, "speed": 1.6763, "symbol": "☿"}]},
                        "inter_aspects": [{"person_a_planet": "Pluto", "person_b_planet": "Uranus", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.15, "meaning": "Person A's Pluto harmoniously supports Person B's Uranus — transformation, power, death, and rebirth sextile with rebellion, innovation, and sudden change."}, {"person_a_planet": "Neptune", "person_b_planet": "Sun", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.29, "meaning": "Person A's Neptune harmoniously supports Person B's Sun — dreams, illusion, spirituality, and dissolution sextile with identity, vitality, and core self."}, {"person_a_planet": "Sun", "person_b_planet": "Jupiter", "aspect": "Semi-square", "symbol": "∠", "nature": "Minor friction", "orb": 0.31, "meaning": "Person A's Sun creates minor friction with Person B's Jupiter — identity, vitality, and core self semi-square with expansion, wisdom, luck, and growth."}],
                        "compatibility": {"available": true, "score": 68, "sun_compatibility": "Complex — Air's detachment conflicts with Water's emotional intensity", "moon_compatibility": "Intellectually vibrant — great communication but may lack emotional depth", "sun_element_a": "Air", "sun_element_b": "Water", "sun_sign_a": "Libra", "sun_sign_b": "Pisces", "moon_sign_a": "Libra", "moon_sign_b": "Aquarius", "harmonious_aspects": 25, "challenging_aspects": 18, "total_inter_aspects": 58, "verdict": "Good compatibility with some areas needing conscious effort."}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-wheel": {
      "post": {
        "operationId": "synastry-wheel",
        "summary": "Synastry Wheel",
        "description": "Person A's wheel with person B's planets drawn around it, as an SVG drawing, plus the inter-chart aspects and a table of both rings.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "inner_ring": {"type": "string"},
                        "outer_ring": {"type": "string"},
                        "houses_shown": {"type": "string"},
                        "inter_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "table": {"type": "object", "properties": {"person_a": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "string"}, "retrograde": {"type": "boolean"}}, "required": ["planet", "longitude", "sign", "degree", "retrograde"]}}, "person_b": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "string"}, "retrograde": {"type": "boolean"}}, "required": ["planet", "longitude", "sign", "degree", "retrograde"]}}}, "required": ["person_a", "person_b"]},
                        "images": {"type": "array", "items": {"type": "object", "properties": {"style": {"type": "string"}, "format": {"type": "string"}, "svg": {"type": "string"}}, "required": ["style", "format", "svg"]}}
                      },
                      "required": [
                        "inner_ring",
                        "outer_ring",
                        "houses_shown",
                        "inter_aspects",
                        "table",
                        "images"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "inner_ring": "A",
                        "outer_ring": "B",
                        "houses_shown": "A",
                        "inter_aspects": [{"person_a_planet": "Pluto", "person_b_planet": "Uranus", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.15, "meaning": "Person A's Pluto harmoniously supports Person B's Uranus — transformation, power, death, and rebirth sextile with rebellion, innovation, and sudden change."}, {"person_a_planet": "Neptune", "person_b_planet": "Sun", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.29, "meaning": "Person A's Neptune harmoniously supports Person B's Sun — dreams, illusion, spirituality, and dissolution sextile with identity, vitality, and core self."}, {"person_a_planet": "Sun", "person_b_planet": "Jupiter", "aspect": "Semi-square", "symbol": "∠", "nature": "Minor friction", "orb": 0.31, "meaning": "Person A's Sun creates minor friction with Person B's Jupiter — identity, vitality, and core self semi-square with expansion, wisdom, luck, and growth."}],
                        "table": {"person_a": [{"planet": "Sun", "longitude": 204.7272, "sign": "Libra", "degree": "24°43'38\" Libra", "retrograde": false}, {"planet": "Moon", "longitude": 201.6087, "sign": "Libra", "degree": "21°36'31\" Libra", "retrograde": false}, {"planet": "Mercury", "longitude": 202.0721, "sign": "Libra", "degree": "22°04'19\" Libra", "retrograde": false}], "person_b": [{"planet": "Sun", "longitude": 341.6751, "sign": "Pisces", "degree": "11°40'30\" Pisces", "retrograde": false}, {"planet": "Moon", "longitude": 313.6405, "sign": "Aquarius", "degree": "13°38'25\" Aquarius", "retrograde": false}, {"planet": "Mercury", "longitude": 356.9293, "sign": "Pisces", "degree": "26°55'45\" Pisces", "retrograde": false}]},
                        "images": [{"style": "western_biwheel", "format": "svg", "svg": "<SVG document, 17700 characters; omitted from this example>"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-aspects": {
      "post": {
        "operationId": "synastry-aspects",
        "summary": "Synastry Aspects",
        "description": "Inter-chart aspects between two people, split into harmonious and challenging, with orb and meaning.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "person_a": {"type": "string"},
                        "person_b": {"type": "string"},
                        "total_inter_aspects": {"type": "integer"},
                        "harmonious_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "challenging_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "all_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}}
                      },
                      "required": [
                        "person_a",
                        "person_b",
                        "total_inter_aspects",
                        "harmonious_aspects",
                        "challenging_aspects",
                        "all_aspects"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "person_a": "A",
                        "person_b": "B",
                        "total_inter_aspects": 58,
                        "harmonious_aspects": [{"person_a_planet": "Pluto", "person_b_planet": "Uranus", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.15, "meaning": "Person A's Pluto harmoniously supports Person B's Uranus — transformation, power, death, and rebirth sextile with rebellion, innovation, and sudden change."}, {"person_a_planet": "Neptune", "person_b_planet": "Sun", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.29, "meaning": "Person A's Neptune harmoniously supports Person B's Sun — dreams, illusion, spirituality, and dissolution sextile with identity, vitality, and core self."}, {"person_a_planet": "Mars", "person_b_planet": "Venus", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.68, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction."}],
                        "challenging_aspects": [{"person_a_planet": "Sun", "person_b_planet": "Jupiter", "aspect": "Semi-square", "symbol": "∠", "nature": "Minor friction", "orb": 0.31, "meaning": "Person A's Sun creates minor friction with Person B's Jupiter — identity, vitality, and core self semi-square with expansion, wisdom, luck, and growth."}, {"person_a_planet": "Jupiter", "person_b_planet": "Sun", "aspect": "Quincunx", "symbol": "⚻", "nature": "Adjustment", "orb": 0.89, "meaning": "Person A's Jupiter requires adjustment and recalibration with Person B's Sun — expansion, wisdom, luck, and growth quincunx with identity, vitality, and core self."}, {"person_a_planet": "Jupiter", "person_b_planet": "Mars", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 0.94, "meaning": "Person A's Jupiter polarizes and confronts Person B's Mars — expansion, wisdom, luck, and growth opposition with drive, courage, desire, and action."}],
                        "all_aspects": [{"person_a_planet": "Pluto", "person_b_planet": "Uranus", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.15, "meaning": "Person A's Pluto harmoniously supports Person B's Uranus — transformation, power, death, and rebirth sextile with rebellion, innovation, and sudden change."}, {"person_a_planet": "Neptune", "person_b_planet": "Sun", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.29, "meaning": "Person A's Neptune harmoniously supports Person B's Sun — dreams, illusion, spirituality, and dissolution sextile with identity, vitality, and core self."}, {"person_a_planet": "Sun", "person_b_planet": "Jupiter", "aspect": "Semi-square", "symbol": "∠", "nature": "Minor friction", "orb": 0.31, "meaning": "Person A's Sun creates minor friction with Person B's Jupiter — identity, vitality, and core self semi-square with expansion, wisdom, luck, and growth."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-predictions": {
      "post": {
        "operationId": "synastry-predictions",
        "summary": "Synastry Predictions",
        "description": "A compatibility score and verdict with the love, passion, emotional and identity aspects between two charts and their meanings.",
        "tags": [
          "western"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "person_a": {"type": "string"},
                        "person_b": {"type": "string"},
                        "compatibility": {"type": "object", "properties": {"score": {"type": "integer"}, "maximum": {"type": "integer"}, "verdict": {"type": "string"}, "sun": {"type": "object", "properties": {"sign_a": {"type": "string"}, "sign_b": {"type": "string"}, "element_a": {"type": "string"}, "element_b": {"type": "string"}, "reading": {"type": "string"}}, "required": ["sign_a", "sign_b", "element_a", "element_b", "reading"]}, "moon": {"type": "object", "properties": {"sign_a": {"type": "string"}, "sign_b": {"type": "string"}, "reading": {"type": "string"}}, "required": ["sign_a", "sign_b", "reading"]}, "aspect_counts": {"type": "object", "properties": {"harmonious": {"type": "integer"}, "challenging": {"type": "integer"}, "total": {"type": "integer"}}, "required": ["harmonious", "challenging", "total"]}}, "required": ["score", "maximum", "verdict", "sun", "moon", "aspect_counts"]},
                        "love_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet_a": {"type": "string"}, "planet_b": {"type": "string"}, "aspect": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet_a", "planet_b", "aspect", "nature", "orb", "meaning"]}},
                        "passion_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet_a": {"type": "string"}, "planet_b": {"type": "string"}, "aspect": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet_a", "planet_b", "aspect", "nature", "orb", "meaning"]}},
                        "emotional_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet_a": {"type": "string"}, "planet_b": {"type": "string"}, "aspect": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet_a", "planet_b", "aspect", "nature", "orb", "meaning"]}},
                        "identity_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet_a": {"type": "string"}, "planet_b": {"type": "string"}, "aspect": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet_a", "planet_b", "aspect", "nature", "orb", "meaning"]}},
                        "notes": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "person_a",
                        "person_b",
                        "compatibility",
                        "love_aspects",
                        "passion_aspects",
                        "emotional_aspects",
                        "identity_aspects",
                        "notes"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "person_a": "A",
                        "person_b": "B",
                        "compatibility": {"score": 68, "maximum": 100, "verdict": "Good compatibility with some areas needing conscious effort.", "sun": {"sign_a": "Libra", "sign_b": "Pisces", "element_a": "Air", "element_b": "Water", "reading": "Complex — Air's detachment conflicts with Water's emotional intensity"}, "moon": {"sign_a": "Libra", "sign_b": "Aquarius", "reading": "Intellectually vibrant — great communication but may lack emotional depth"}, "aspect_counts": {"harmonious": 25, "challenging": 18, "total": 58}},
                        "love_aspects": [{"planet_a": "Mars", "planet_b": "Venus", "aspect": "Trine", "nature": "Flowing ease", "orb": 0.68, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction."}, {"planet_a": "Pluto", "planet_b": "Venus", "aspect": "Square", "nature": "Challenging", "orb": 1.6, "meaning": "Person A's Pluto challenges and creates tension with Person B's Venus — transformation, power, death, and rebirth square with love, beauty, values, and attraction."}, {"planet_a": "Venus", "planet_b": "Pluto", "aspect": "Semi-sextile", "nature": "Mild tension", "orb": 1.87, "meaning": "Person A's Venus mildly stimulates Person B's Pluto — love, beauty, values, and attraction semi-sextile with transformation, power, death, and rebirth."}],
                        "passion_aspects": [{"planet_a": "Mars", "planet_b": "Venus", "aspect": "Trine", "nature": "Flowing ease", "orb": 0.68, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction."}, {"planet_a": "Mars", "planet_b": "Moon", "aspect": "Trine", "nature": "Flowing ease", "orb": 0.88, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Moon — drive, courage, desire, and action trine with emotions, instincts, and inner needs."}, {"planet_a": "Jupiter", "planet_b": "Mars", "aspect": "Opposition", "nature": "Polarizing", "orb": 0.94, "meaning": "Person A's Jupiter polarizes and confronts Person B's Mars — expansion, wisdom, luck, and growth opposition with drive, courage, desire, and action."}],
                        "emotional_aspects": [{"planet_a": "Mars", "planet_b": "Moon", "aspect": "Trine", "nature": "Flowing ease", "orb": 0.88, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Moon — drive, courage, desire, and action trine with emotions, instincts, and inner needs."}, {"planet_a": "Moon", "planet_b": "Pluto", "aspect": "Semi-sextile", "nature": "Mild tension", "orb": 1.34, "meaning": "Person A's Moon mildly stimulates Person B's Pluto — emotions, instincts, and inner needs semi-sextile with transformation, power, death, and rebirth."}, {"planet_a": "Neptune", "planet_b": "Moon", "aspect": "Semi-sextile", "nature": "Mild tension", "orb": 1.68, "meaning": "Person A's Neptune mildly stimulates Person B's Moon — dreams, illusion, spirituality, and dissolution semi-sextile with emotions, instincts, and inner needs."}],
                        "identity_aspects": [{"planet_a": "Neptune", "planet_b": "Sun", "aspect": "Sextile", "nature": "Harmonious", "orb": 0.29, "meaning": "Person A's Neptune harmoniously supports Person B's Sun — dreams, illusion, spirituality, and dissolution sextile with identity, vitality, and core self."}, {"planet_a": "Sun", "planet_b": "Jupiter", "aspect": "Semi-square", "nature": "Minor friction", "orb": 0.31, "meaning": "Person A's Sun creates minor friction with Person B's Jupiter — identity, vitality, and core self semi-square with expansion, wisdom, luck, and growth."}, {"planet_a": "Jupiter", "planet_b": "Sun", "aspect": "Quincunx", "nature": "Adjustment", "orb": 0.89, "meaning": "Person A's Jupiter requires adjustment and recalibration with Person B's Sun — expansion, wisdom, luck, and growth quincunx with identity, vitality, and core self."}],
                        "notes": ["A relationship with genuine potential; open communication will strengthen the bond considerably.", "Love dimension: Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction.", "Emotional connection: Person A's Mars flows naturally and gifts ease to Person B's Moon — drive, courage, desire, and action trine with emotions, instincts, and inner needs."]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-compatibility": {
      "post": {
        "operationId": "synastry-compatibility",
        "summary": "Synastry Compatibility Score",
        "description": "A synastry compatibility score with Sun and Moon compatibility, aspect counts and a verdict.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "person_a": {"type": "string"},
                        "person_b": {"type": "string"},
                        "compatibility": {"type": "object", "properties": {"available": {"type": "boolean"}, "score": {"type": "integer"}, "sun_compatibility": {"type": "string"}, "moon_compatibility": {"type": "string"}, "sun_element_a": {"type": "string"}, "sun_element_b": {"type": "string"}, "sun_sign_a": {"type": "string"}, "sun_sign_b": {"type": "string"}, "moon_sign_a": {"type": "string"}, "moon_sign_b": {"type": "string"}, "harmonious_aspects": {"type": "integer"}, "challenging_aspects": {"type": "integer"}, "total_inter_aspects": {"type": "integer"}, "verdict": {"type": "string"}}, "required": ["available", "score", "sun_compatibility", "moon_compatibility", "sun_element_a", "sun_element_b", "sun_sign_a", "sun_sign_b", "moon_sign_a", "moon_sign_b", "harmonious_aspects", "challenging_aspects", "total_inter_aspects", "verdict"]}
                      },
                      "required": [
                        "person_a",
                        "person_b",
                        "compatibility"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "person_a": "A",
                        "person_b": "B",
                        "compatibility": {"available": true, "score": 68, "sun_compatibility": "Complex — Air's detachment conflicts with Water's emotional intensity", "moon_compatibility": "Intellectually vibrant — great communication but may lack emotional depth", "sun_element_a": "Air", "sun_element_b": "Water", "sun_sign_a": "Libra", "sun_sign_b": "Pisces", "moon_sign_a": "Libra", "moon_sign_b": "Aquarius", "harmonious_aspects": 25, "challenging_aspects": 18, "total_inter_aspects": 58, "verdict": "Good compatibility with some areas needing conscious effort."}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-career": {
      "post": {
        "operationId": "synastry-career",
        "summary": "Synastry: Career",
        "description": "Career compatibility from synastry: a score and band, a summary and narrative, the significators used and the supportive and testing inter-chart aspects.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "domain": {"type": "string"},
                        "domain_label": {"type": "string"},
                        "person_a": {"type": "string"},
                        "person_b": {"type": "string"},
                        "score": {"type": "integer"},
                        "band": {"type": "string"},
                        "summary": {"type": "string"},
                        "narrative": {"type": "string"},
                        "significators": {"type": "array", "items": {"type": "string"}},
                        "supportive_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "testing_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "counts": {"type": "object", "properties": {"relevant": {"type": "integer"}, "supportive": {"type": "integer"}, "testing": {"type": "integer"}}, "required": ["relevant", "supportive", "testing"]}
                      },
                      "required": [
                        "domain",
                        "domain_label",
                        "person_a",
                        "person_b",
                        "score",
                        "band",
                        "summary",
                        "narrative",
                        "significators",
                        "supportive_aspects",
                        "testing_aspects",
                        "counts"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "domain": "career",
                        "domain_label": "Career & shared ambition",
                        "person_a": "A",
                        "person_b": "B",
                        "score": 68,
                        "band": "Supportive",
                        "summary": "On how you build, decide and take responsibility together, A and B score 68 out of 100 -- more helpful than not. This reads 11 supportive and 12 testing contacts between the planets that govern this area (Sun, Saturn, Jupiter, Mars, Mercury).",
                        "narrative": "The strongest support comes from A's Neptune sextile B's Sun (harmonious, orb 0.3 degrees), which eases dreams, illusion, spirituality, and dissolution here. The main friction is A's Jupiter opposition B's Mars (polarizing, orb 0.9 degrees), which strains expansion, wisdom, luck, and growth here. Support and friction are close to balanced here, which usually reads as an area that works well when both of you are attending to it and drifts when neither is.",
                        "significators": ["Sun", "Saturn", "Jupiter"],
                        "supportive_aspects": [{"person_a_planet": "Neptune", "person_b_planet": "Sun", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.29, "meaning": "Person A's Neptune harmoniously supports Person B's Sun — dreams, illusion, spirituality, and dissolution sextile with identity, vitality, and core self."}, {"person_a_planet": "Mars", "person_b_planet": "Venus", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.68, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction."}, {"person_a_planet": "Mars", "person_b_planet": "Moon", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.88, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Moon — drive, courage, desire, and action trine with emotions, instincts, and inner needs."}],
                        "testing_aspects": [{"person_a_planet": "Jupiter", "person_b_planet": "Mars", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 0.94, "meaning": "Person A's Jupiter polarizes and confronts Person B's Mars — expansion, wisdom, luck, and growth opposition with drive, courage, desire, and action."}, {"person_a_planet": "Jupiter", "person_b_planet": "Saturn", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 2.19, "meaning": "Person A's Jupiter polarizes and confronts Person B's Saturn — expansion, wisdom, luck, and growth opposition with discipline, karma, restriction, and mastery."}, {"person_a_planet": "Mars", "person_b_planet": "Sun", "aspect": "Square", "symbol": "□", "nature": "Challenging", "orb": 2.84, "meaning": "Person A's Mars challenges and creates tension with Person B's Sun — drive, courage, desire, and action square with identity, vitality, and core self."}],
                        "counts": {"relevant": 37, "supportive": 11, "testing": 12}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-finance": {
      "post": {
        "operationId": "synastry-finance",
        "summary": "Synastry: Finance",
        "description": "Finance compatibility from synastry: a score and band, a summary and narrative, the significators used and the supportive and testing inter-chart aspects.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "domain": {"type": "string"},
                        "domain_label": {"type": "string"},
                        "person_a": {"type": "string"},
                        "person_b": {"type": "string"},
                        "score": {"type": "integer"},
                        "band": {"type": "string"},
                        "summary": {"type": "string"},
                        "narrative": {"type": "string"},
                        "significators": {"type": "array", "items": {"type": "string"}},
                        "supportive_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "testing_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "counts": {"type": "object", "properties": {"relevant": {"type": "integer"}, "supportive": {"type": "integer"}, "testing": {"type": "integer"}}, "required": ["relevant", "supportive", "testing"]}
                      },
                      "required": [
                        "domain",
                        "domain_label",
                        "person_a",
                        "person_b",
                        "score",
                        "band",
                        "summary",
                        "narrative",
                        "significators",
                        "supportive_aspects",
                        "testing_aspects",
                        "counts"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "domain": "finance",
                        "domain_label": "Money & material security",
                        "person_a": "A",
                        "person_b": "B",
                        "score": 66,
                        "band": "Supportive",
                        "summary": "On how you value, spend and secure what you share, A and B score 66 out of 100 -- more helpful than not. This reads 14 supportive and 13 testing contacts between the planets that govern this area (Venus, Jupiter, Saturn, Moon, Pluto).",
                        "narrative": "The strongest support comes from A's Pluto sextile B's Uranus (harmonious, orb 0.1 degrees), which eases transformation, power, death, and rebirth here. The main friction is A's Jupiter opposition B's Mars (polarizing, orb 0.9 degrees), which strains expansion, wisdom, luck, and growth here. Support and friction are close to balanced here, which usually reads as an area that works well when both of you are attending to it and drifts when neither is.",
                        "significators": ["Venus", "Jupiter", "Saturn"],
                        "supportive_aspects": [{"person_a_planet": "Pluto", "person_b_planet": "Uranus", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.15, "meaning": "Person A's Pluto harmoniously supports Person B's Uranus — transformation, power, death, and rebirth sextile with rebellion, innovation, and sudden change."}, {"person_a_planet": "Mars", "person_b_planet": "Venus", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.68, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction."}, {"person_a_planet": "Mars", "person_b_planet": "Moon", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.88, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Moon — drive, courage, desire, and action trine with emotions, instincts, and inner needs."}],
                        "testing_aspects": [{"person_a_planet": "Jupiter", "person_b_planet": "Mars", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 0.94, "meaning": "Person A's Jupiter polarizes and confronts Person B's Mars — expansion, wisdom, luck, and growth opposition with drive, courage, desire, and action."}, {"person_a_planet": "Pluto", "person_b_planet": "Venus", "aspect": "Square", "symbol": "□", "nature": "Challenging", "orb": 1.6, "meaning": "Person A's Pluto challenges and creates tension with Person B's Venus — transformation, power, death, and rebirth square with love, beauty, values, and attraction."}, {"person_a_planet": "Jupiter", "person_b_planet": "Saturn", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 2.19, "meaning": "Person A's Jupiter polarizes and confronts Person B's Saturn — expansion, wisdom, luck, and growth opposition with discipline, karma, restriction, and mastery."}],
                        "counts": {"relevant": 42, "supportive": 14, "testing": 13}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-intimacy": {
      "post": {
        "operationId": "synastry-intimacy",
        "summary": "Synastry: Intimacy",
        "description": "Intimacy compatibility from synastry: a score and band, a summary and narrative, the significators used and the supportive and testing inter-chart aspects.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "domain": {"type": "string"},
                        "domain_label": {"type": "string"},
                        "person_a": {"type": "string"},
                        "person_b": {"type": "string"},
                        "score": {"type": "integer"},
                        "band": {"type": "string"},
                        "summary": {"type": "string"},
                        "narrative": {"type": "string"},
                        "significators": {"type": "array", "items": {"type": "string"}},
                        "supportive_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "testing_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "counts": {"type": "object", "properties": {"relevant": {"type": "integer"}, "supportive": {"type": "integer"}, "testing": {"type": "integer"}}, "required": ["relevant", "supportive", "testing"]}
                      },
                      "required": [
                        "domain",
                        "domain_label",
                        "person_a",
                        "person_b",
                        "score",
                        "band",
                        "summary",
                        "narrative",
                        "significators",
                        "supportive_aspects",
                        "testing_aspects",
                        "counts"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "domain": "intimacy",
                        "domain_label": "Attraction & intimacy",
                        "person_a": "A",
                        "person_b": "B",
                        "score": 60,
                        "band": "Mixed",
                        "summary": "On desire, physical rapport and the pull between you, A and B score 60 out of 100 -- workable, with genuine friction. This reads 13 supportive and 13 testing contacts between the planets that govern this area (Venus, Mars, Pluto, Moon).",
                        "narrative": "The strongest support comes from A's Pluto sextile B's Uranus (harmonious, orb 0.1 degrees), which eases transformation, power, death, and rebirth here. The main friction is A's Jupiter opposition B's Mars (polarizing, orb 0.9 degrees), which strains expansion, wisdom, luck, and growth here. Support and friction are close to balanced here, which usually reads as an area that works well when both of you are attending to it and drifts when neither is.",
                        "significators": ["Venus", "Mars", "Pluto"],
                        "supportive_aspects": [{"person_a_planet": "Pluto", "person_b_planet": "Uranus", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.15, "meaning": "Person A's Pluto harmoniously supports Person B's Uranus — transformation, power, death, and rebirth sextile with rebellion, innovation, and sudden change."}, {"person_a_planet": "Mars", "person_b_planet": "Venus", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.68, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction."}, {"person_a_planet": "Mars", "person_b_planet": "Moon", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.88, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Moon — drive, courage, desire, and action trine with emotions, instincts, and inner needs."}],
                        "testing_aspects": [{"person_a_planet": "Jupiter", "person_b_planet": "Mars", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 0.94, "meaning": "Person A's Jupiter polarizes and confronts Person B's Mars — expansion, wisdom, luck, and growth opposition with drive, courage, desire, and action."}, {"person_a_planet": "Pluto", "person_b_planet": "Venus", "aspect": "Square", "symbol": "□", "nature": "Challenging", "orb": 1.6, "meaning": "Person A's Pluto challenges and creates tension with Person B's Venus — transformation, power, death, and rebirth square with love, beauty, values, and attraction."}, {"person_a_planet": "Venus", "person_b_planet": "Neptune", "aspect": "Square", "symbol": "□", "nature": "Challenging", "orb": 2.77, "meaning": "Person A's Venus challenges and creates tension with Person B's Neptune — love, beauty, values, and attraction square with dreams, illusion, spirituality, and dissolution."}],
                        "counts": {"relevant": 35, "supportive": 13, "testing": 13}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-spirituality": {
      "post": {
        "operationId": "synastry-spirituality",
        "summary": "Synastry: Spirituality",
        "description": "Spirituality compatibility from synastry: a score and band, a summary and narrative, the significators used and the supportive and testing inter-chart aspects.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "domain": {"type": "string"},
                        "domain_label": {"type": "string"},
                        "person_a": {"type": "string"},
                        "person_b": {"type": "string"},
                        "score": {"type": "integer"},
                        "band": {"type": "string"},
                        "summary": {"type": "string"},
                        "narrative": {"type": "string"},
                        "significators": {"type": "array", "items": {"type": "string"}},
                        "supportive_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "testing_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "counts": {"type": "object", "properties": {"relevant": {"type": "integer"}, "supportive": {"type": "integer"}, "testing": {"type": "integer"}}, "required": ["relevant", "supportive", "testing"]}
                      },
                      "required": [
                        "domain",
                        "domain_label",
                        "person_a",
                        "person_b",
                        "score",
                        "band",
                        "summary",
                        "narrative",
                        "significators",
                        "supportive_aspects",
                        "testing_aspects",
                        "counts"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "domain": "spirituality",
                        "domain_label": "Meaning & shared belief",
                        "person_a": "A",
                        "person_b": "B",
                        "score": 47,
                        "band": "Mixed",
                        "summary": "On faith, growth and the search for meaning together, A and B score 47 out of 100 -- workable, with genuine friction. This reads 7 supportive and 14 testing contacts between the planets that govern this area (Jupiter, Neptune, Uranus, Sun).",
                        "narrative": "The strongest support comes from A's Pluto sextile B's Uranus (harmonious, orb 0.1 degrees), which eases transformation, power, death, and rebirth here. The main friction is A's Jupiter opposition B's Mars (polarizing, orb 0.9 degrees), which strains expansion, wisdom, luck, and growth here. The testing contacts outweigh the supportive ones, so this area repays being talked about early rather than left to settle itself.",
                        "significators": ["Jupiter", "Neptune", "Uranus"],
                        "supportive_aspects": [{"person_a_planet": "Pluto", "person_b_planet": "Uranus", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.15, "meaning": "Person A's Pluto harmoniously supports Person B's Uranus — transformation, power, death, and rebirth sextile with rebellion, innovation, and sudden change."}, {"person_a_planet": "Neptune", "person_b_planet": "Sun", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.29, "meaning": "Person A's Neptune harmoniously supports Person B's Sun — dreams, illusion, spirituality, and dissolution sextile with identity, vitality, and core self."}, {"person_a_planet": "Pluto", "person_b_planet": "Neptune", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 1.51, "meaning": "Person A's Pluto harmoniously supports Person B's Neptune — transformation, power, death, and rebirth sextile with dreams, illusion, spirituality, and dissolution."}],
                        "testing_aspects": [{"person_a_planet": "Jupiter", "person_b_planet": "Mars", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 0.94, "meaning": "Person A's Jupiter polarizes and confronts Person B's Mars — expansion, wisdom, luck, and growth opposition with drive, courage, desire, and action."}, {"person_a_planet": "Jupiter", "person_b_planet": "Saturn", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 2.19, "meaning": "Person A's Jupiter polarizes and confronts Person B's Saturn — expansion, wisdom, luck, and growth opposition with discipline, karma, restriction, and mastery."}, {"person_a_planet": "Venus", "person_b_planet": "Neptune", "aspect": "Square", "symbol": "□", "nature": "Challenging", "orb": 2.77, "meaning": "Person A's Venus challenges and creates tension with Person B's Neptune — love, beauty, values, and attraction square with dreams, illusion, spirituality, and dissolution."}],
                        "counts": {"relevant": 39, "supportive": 7, "testing": 14}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-emotion": {
      "post": {
        "operationId": "synastry-emotion",
        "summary": "Synastry: Emotion",
        "description": "Emotion compatibility from synastry: a score and band, a summary and narrative, the significators used and the supportive and testing inter-chart aspects.",
        "tags": [
          "western"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "domain": {"type": "string"},
                        "domain_label": {"type": "string"},
                        "person_a": {"type": "string"},
                        "person_b": {"type": "string"},
                        "score": {"type": "integer"},
                        "band": {"type": "string"},
                        "summary": {"type": "string"},
                        "narrative": {"type": "string"},
                        "significators": {"type": "array", "items": {"type": "string"}},
                        "supportive_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "testing_aspects": {"type": "array", "items": {"type": "object", "properties": {"person_a_planet": {"type": "string"}, "person_b_planet": {"type": "string"}, "aspect": {"type": "string"}, "symbol": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["person_a_planet", "person_b_planet", "aspect", "symbol", "nature", "orb", "meaning"]}},
                        "counts": {"type": "object", "properties": {"relevant": {"type": "integer"}, "supportive": {"type": "integer"}, "testing": {"type": "integer"}}, "required": ["relevant", "supportive", "testing"]}
                      },
                      "required": [
                        "domain",
                        "domain_label",
                        "person_a",
                        "person_b",
                        "score",
                        "band",
                        "summary",
                        "narrative",
                        "significators",
                        "supportive_aspects",
                        "testing_aspects",
                        "counts"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "domain": "emotion",
                        "domain_label": "Emotional life",
                        "person_a": "A",
                        "person_b": "B",
                        "score": 58,
                        "band": "Mixed",
                        "summary": "On safety, expression and how feeling is exchanged, A and B score 58 out of 100 -- workable, with genuine friction. This reads 10 supportive and 11 testing contacts between the planets that govern this area (Moon, Venus, Neptune, Mercury).",
                        "narrative": "The strongest support comes from A's Neptune sextile B's Sun (harmonious, orb 0.3 degrees), which eases dreams, illusion, spirituality, and dissolution here. The main friction is A's Pluto square B's Venus (challenging, orb 1.6 degrees), which strains transformation, power, death, and rebirth here. Support and friction are close to balanced here, which usually reads as an area that works well when both of you are attending to it and drifts when neither is.",
                        "significators": ["Moon", "Venus", "Neptune"],
                        "supportive_aspects": [{"person_a_planet": "Neptune", "person_b_planet": "Sun", "aspect": "Sextile", "symbol": "⚹", "nature": "Harmonious", "orb": 0.29, "meaning": "Person A's Neptune harmoniously supports Person B's Sun — dreams, illusion, spirituality, and dissolution sextile with identity, vitality, and core self."}, {"person_a_planet": "Mars", "person_b_planet": "Venus", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.68, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction."}, {"person_a_planet": "Mars", "person_b_planet": "Moon", "aspect": "Trine", "symbol": "△", "nature": "Flowing ease", "orb": 0.88, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Moon — drive, courage, desire, and action trine with emotions, instincts, and inner needs."}],
                        "testing_aspects": [{"person_a_planet": "Pluto", "person_b_planet": "Venus", "aspect": "Square", "symbol": "□", "nature": "Challenging", "orb": 1.6, "meaning": "Person A's Pluto challenges and creates tension with Person B's Venus — transformation, power, death, and rebirth square with love, beauty, values, and attraction."}, {"person_a_planet": "Venus", "person_b_planet": "Neptune", "aspect": "Square", "symbol": "□", "nature": "Challenging", "orb": 2.77, "meaning": "Person A's Venus challenges and creates tension with Person B's Neptune — love, beauty, values, and attraction square with dreams, illusion, spirituality, and dissolution."}, {"person_a_planet": "Jupiter", "person_b_planet": "Moon", "aspect": "Opposition", "symbol": "☍", "nature": "Polarizing", "orb": 2.86, "meaning": "Person A's Jupiter polarizes and confronts Person B's Moon — expansion, wisdom, luck, and growth opposition with emotions, instincts, and inner needs."}],
                        "counts": {"relevant": 32, "supportive": 10, "testing": 11}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-full": {
      "post": {
        "operationId": "synastry-full",
        "summary": "Synastry: Everything",
        "description": "Compatibility, all five domain readings ranked (career, finance, intimacy, spirituality, emotion) and the sun-sign match, in one call.",
        "tags": [
          "western"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767,
                  "name": "B"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "person_a": {"type": "string"},
                        "person_b": {"type": "string"},
                        "compatibility": {"type": "object", "properties": {"score": {"type": "integer"}, "maximum": {"type": "integer"}, "verdict": {"type": "string"}, "sun": {"type": "object", "properties": {"sign_a": {"type": "string"}, "sign_b": {"type": "string"}, "element_a": {"type": "string"}, "element_b": {"type": "string"}, "reading": {"type": "string"}}, "required": ["sign_a", "sign_b", "element_a", "element_b", "reading"]}, "moon": {"type": "object", "properties": {"sign_a": {"type": "string"}, "sign_b": {"type": "string"}, "reading": {"type": "string"}}, "required": ["sign_a", "sign_b", "reading"]}, "aspect_counts": {"type": "object", "properties": {"harmonious": {"type": "integer"}, "challenging": {"type": "integer"}, "total": {"type": "integer"}}, "required": ["harmonious", "challenging", "total"]}}, "required": ["score", "maximum", "verdict", "sun", "moon", "aspect_counts"]},
                        "sun_sign_match": {"type": "object", "properties": {"sign_a": {"type": "string"}, "sign_b": {"type": "string"}, "element_a": {"type": "string"}, "element_b": {"type": "string"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}, "verdict": {"type": "string"}, "summary": {"type": "string"}}, "required": ["sign_a", "sign_b", "element_a", "element_b", "score", "maximum", "verdict", "summary"]},
                        "domains": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "domain": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}, "band": {"type": "string"}, "summary": {"type": "string"}, "narrative": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "supportive_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet_a": {"type": "string"}, "planet_b": {"type": "string"}, "aspect": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet_a", "planet_b", "aspect", "nature", "orb", "meaning"]}}, "testing_aspects": {"type": "array", "items": {"type": "object", "properties": {"planet_a": {"type": "string"}, "planet_b": {"type": "string"}, "aspect": {"type": "string"}, "nature": {"type": "string"}, "orb": {"type": "number"}, "meaning": {"type": "string"}}, "required": ["planet_a", "planet_b", "aspect", "nature", "orb", "meaning"]}}, "counts": {"type": "object", "properties": {"relevant": {"type": "integer"}, "supportive": {"type": "integer"}, "testing": {"type": "integer"}}, "required": ["relevant", "supportive", "testing"]}}, "required": ["rank", "domain", "label", "score", "maximum", "band", "summary", "narrative", "significators", "supportive_aspects", "testing_aspects", "counts"]}},
                        "aspect_count": {"type": "integer"}
                      },
                      "required": [
                        "person_a",
                        "person_b",
                        "compatibility",
                        "sun_sign_match",
                        "domains",
                        "aspect_count"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "person_a": "A",
                        "person_b": "B",
                        "compatibility": {"score": 68, "maximum": 100, "verdict": "Good compatibility with some areas needing conscious effort.", "sun": {"sign_a": "Libra", "sign_b": "Pisces", "element_a": "Air", "element_b": "Water", "reading": "Complex — Air's detachment conflicts with Water's emotional intensity"}, "moon": {"sign_a": "Libra", "sign_b": "Aquarius", "reading": "Intellectually vibrant — great communication but may lack emotional depth"}, "aspect_counts": {"harmonious": 25, "challenging": 18, "total": 58}},
                        "sun_sign_match": {"sign_a": "Libra", "sign_b": "Pisces", "element_a": "Air", "element_b": "Water", "score": 60, "maximum": 100, "verdict": "Complex — Air's detachment conflicts with Water's emotional intensity", "summary": "Libra and Pisces pair air with water: Complex — Air's detachment conflicts with Water's emotional intensity. On sun signs alone this scores 60 out of 100. A full synastry reading needs both birth times and places."},
                        "domains": [{"rank": 1, "domain": "career", "label": "Career & shared ambition", "score": 68, "maximum": 100, "band": "Supportive", "summary": "On how you build, decide and take responsibility together, A and B score 68 out of 100 -- more helpful than not. This reads 11 supportive and 12 testing contacts between the planets that govern this area (Sun, Saturn, Jupiter, Mars, Mercury).", "narrative": "The strongest support comes from A's Neptune sextile B's Sun (harmonious, orb 0.3 degrees), which eases dreams, illusion, spirituality, and dissolution here. The main friction is A's Jupiter opposition B's Mars (polarizing, orb 0.9 degrees), which strains expansion, wisdom, luck, and growth here. Support and friction are close to balanced here, which usually reads as an area that works well when both of you are attending to it and drifts when neither is.", "significators": ["Sun", "Saturn", "Jupiter"], "supportive_aspects": [{"planet_a": "Neptune", "planet_b": "Sun", "aspect": "Sextile", "nature": "Harmonious", "orb": 0.29, "meaning": "Person A's Neptune harmoniously supports Person B's Sun — dreams, illusion, spirituality, and dissolution sextile with identity, vitality, and core self."}, {"planet_a": "Mars", "planet_b": "Venus", "aspect": "Trine", "nature": "Flowing ease", "orb": 0.68, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction."}, {"planet_a": "Mars", "planet_b": "Moon", "aspect": "Trine", "nature": "Flowing ease", "orb": 0.88, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Moon — drive, courage, desire, and action trine with emotions, instincts, and inner needs."}], "testing_aspects": [{"planet_a": "Jupiter", "planet_b": "Mars", "aspect": "Opposition", "nature": "Polarizing", "orb": 0.94, "meaning": "Person A's Jupiter polarizes and confronts Person B's Mars — expansion, wisdom, luck, and growth opposition with drive, courage, desire, and action."}, {"planet_a": "Jupiter", "planet_b": "Saturn", "aspect": "Opposition", "nature": "Polarizing", "orb": 2.19, "meaning": "Person A's Jupiter polarizes and confronts Person B's Saturn — expansion, wisdom, luck, and growth opposition with discipline, karma, restriction, and mastery."}, {"planet_a": "Mars", "planet_b": "Sun", "aspect": "Square", "nature": "Challenging", "orb": 2.84, "meaning": "Person A's Mars challenges and creates tension with Person B's Sun — drive, courage, desire, and action square with identity, vitality, and core self."}], "counts": {"relevant": 37, "supportive": 11, "testing": 12}}, {"rank": 2, "domain": "finance", "label": "Money & material security", "score": 66, "maximum": 100, "band": "Supportive", "summary": "On how you value, spend and secure what you share, A and B score 66 out of 100 -- more helpful than not. This reads 14 supportive and 13 testing contacts between the planets that govern this area (Venus, Jupiter, Saturn, Moon, Pluto).", "narrative": "The strongest support comes from A's Pluto sextile B's Uranus (harmonious, orb 0.1 degrees), which eases transformation, power, death, and rebirth here. The main friction is A's Jupiter opposition B's Mars (polarizing, orb 0.9 degrees), which strains expansion, wisdom, luck, and growth here. Support and friction are close to balanced here, which usually reads as an area that works well when both of you are attending to it and drifts when neither is.", "significators": ["Venus", "Jupiter", "Saturn"], "supportive_aspects": [{"planet_a": "Pluto", "planet_b": "Uranus", "aspect": "Sextile", "nature": "Harmonious", "orb": 0.15, "meaning": "Person A's Pluto harmoniously supports Person B's Uranus — transformation, power, death, and rebirth sextile with rebellion, innovation, and sudden change."}, {"planet_a": "Mars", "planet_b": "Venus", "aspect": "Trine", "nature": "Flowing ease", "orb": 0.68, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction."}, {"planet_a": "Mars", "planet_b": "Moon", "aspect": "Trine", "nature": "Flowing ease", "orb": 0.88, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Moon — drive, courage, desire, and action trine with emotions, instincts, and inner needs."}], "testing_aspects": [{"planet_a": "Jupiter", "planet_b": "Mars", "aspect": "Opposition", "nature": "Polarizing", "orb": 0.94, "meaning": "Person A's Jupiter polarizes and confronts Person B's Mars — expansion, wisdom, luck, and growth opposition with drive, courage, desire, and action."}, {"planet_a": "Pluto", "planet_b": "Venus", "aspect": "Square", "nature": "Challenging", "orb": 1.6, "meaning": "Person A's Pluto challenges and creates tension with Person B's Venus — transformation, power, death, and rebirth square with love, beauty, values, and attraction."}, {"planet_a": "Jupiter", "planet_b": "Saturn", "aspect": "Opposition", "nature": "Polarizing", "orb": 2.19, "meaning": "Person A's Jupiter polarizes and confronts Person B's Saturn — expansion, wisdom, luck, and growth opposition with discipline, karma, restriction, and mastery."}], "counts": {"relevant": 42, "supportive": 14, "testing": 13}}, {"rank": 3, "domain": "intimacy", "label": "Attraction & intimacy", "score": 60, "maximum": 100, "band": "Mixed", "summary": "On desire, physical rapport and the pull between you, A and B score 60 out of 100 -- workable, with genuine friction. This reads 13 supportive and 13 testing contacts between the planets that govern this area (Venus, Mars, Pluto, Moon).", "narrative": "The strongest support comes from A's Pluto sextile B's Uranus (harmonious, orb 0.1 degrees), which eases transformation, power, death, and rebirth here. The main friction is A's Jupiter opposition B's Mars (polarizing, orb 0.9 degrees), which strains expansion, wisdom, luck, and growth here. Support and friction are close to balanced here, which usually reads as an area that works well when both of you are attending to it and drifts when neither is.", "significators": ["Venus", "Mars", "Pluto"], "supportive_aspects": [{"planet_a": "Pluto", "planet_b": "Uranus", "aspect": "Sextile", "nature": "Harmonious", "orb": 0.15, "meaning": "Person A's Pluto harmoniously supports Person B's Uranus — transformation, power, death, and rebirth sextile with rebellion, innovation, and sudden change."}, {"planet_a": "Mars", "planet_b": "Venus", "aspect": "Trine", "nature": "Flowing ease", "orb": 0.68, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Venus — drive, courage, desire, and action trine with love, beauty, values, and attraction."}, {"planet_a": "Mars", "planet_b": "Moon", "aspect": "Trine", "nature": "Flowing ease", "orb": 0.88, "meaning": "Person A's Mars flows naturally and gifts ease to Person B's Moon — drive, courage, desire, and action trine with emotions, instincts, and inner needs."}], "testing_aspects": [{"planet_a": "Jupiter", "planet_b": "Mars", "aspect": "Opposition", "nature": "Polarizing", "orb": 0.94, "meaning": "Person A's Jupiter polarizes and confronts Person B's Mars — expansion, wisdom, luck, and growth opposition with drive, courage, desire, and action."}, {"planet_a": "Pluto", "planet_b": "Venus", "aspect": "Square", "nature": "Challenging", "orb": 1.6, "meaning": "Person A's Pluto challenges and creates tension with Person B's Venus — transformation, power, death, and rebirth square with love, beauty, values, and attraction."}, {"planet_a": "Venus", "planet_b": "Neptune", "aspect": "Square", "nature": "Challenging", "orb": 2.77, "meaning": "Person A's Venus challenges and creates tension with Person B's Neptune — love, beauty, values, and attraction square with dreams, illusion, spirituality, and dissolution."}], "counts": {"relevant": 35, "supportive": 13, "testing": 13}}],
                        "aspect_count": 58
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/western/synastry-bulk": {
      "post": {
        "operationId": "synastry-bulk",
        "summary": "Western Bulk Match",
        "description": "One person scored against many candidates, paged: score, verdict and aspect counts per candidate; candidates without a birth time are marked approximate.",
        "tags": [
          "western"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BulkSynastryInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209,
                  "name": "A"
                },
                "candidates": [
                  {
                    "datetime": "1992-03-02T05:47:00",
                    "timezone": "Asia/Kolkata",
                    "latitude": 19.0767,
                    "longitude": 72.8767,
                    "name": "B"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "candidates_submitted": {"type": "integer"},
                        "scored": {"type": "integer"},
                        "failed": {"type": "integer"},
                        "errors": {"type": "array"},
                        "page": {"type": "integer"},
                        "page_size": {"type": "integer"},
                        "pages": {"type": "integer"},
                        "has_more": {"type": "boolean"},
                        "approximate_rows": {"type": "integer"},
                        "results": {"type": "array", "items": {"type": "object", "properties": {"index": {"type": "integer"}, "name": {"type": "string"}, "ok": {"type": "boolean"}, "score": {"type": "integer"}, "verdict": {"type": "string"}, "sun": {"type": "string"}, "moon": {"type": "string"}, "aspect_count": {"type": "integer"}, "harmonious": {"type": "integer"}, "challenging": {"type": "integer"}, "approximate": {"type": "boolean"}, "rank": {"type": "integer"}}, "required": ["index", "name", "ok", "score", "verdict", "sun", "moon", "aspect_count", "harmonious", "challenging", "approximate", "rank"]}}
                      },
                      "required": [
                        "name",
                        "candidates_submitted",
                        "scored",
                        "failed",
                        "errors",
                        "page",
                        "page_size",
                        "pages",
                        "has_more",
                        "approximate_rows",
                        "results"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "A",
                        "candidates_submitted": 1,
                        "scored": 1,
                        "failed": 0,
                        "errors": [],
                        "page": 1,
                        "page_size": 1,
                        "pages": 1,
                        "has_more": false,
                        "approximate_rows": 0,
                        "results": [{"index": 0, "name": "B", "ok": true, "score": 68, "verdict": "Good compatibility with some areas needing conscious effort.", "sun": "Pisces", "moon": "Aquarius", "aspect_count": 58, "harmonious": 5, "challenging": 14, "approximate": false, "rank": 1}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-shuffle": {
      "post": {
        "operationId": "tarot-shuffle",
        "summary": "Tarot Card Draw",
        "description": "Turns over the top N cards (1-78) of a shuffled deck with orientation, keywords and element; a draw can be replayed by its draw_id, or fixed for the day.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ShuffleInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "count": 3
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "draw_id": {"type": "string"},
                        "daily": {"type": "boolean"},
                        "replayable": {"type": "boolean"},
                        "day": {"type": "null"},
                        "description": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": ["string", "null"]}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "element": {"type": "string"}}, "required": ["position", "card_id", "card_name", "arcana", "suit", "orientation", "keywords", "element"]}},
                        "dominant_element": {"type": "string"},
                        "major_arcana_count": {"type": "integer"},
                        "total_cards_shown": {"type": "integer"}
                      },
                      "required": [
                        "reading_type",
                        "draw_id",
                        "daily",
                        "replayable",
                        "day",
                        "description",
                        "cards",
                        "dominant_element",
                        "major_arcana_count",
                        "total_cards_shown"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "shuffle_deck",
                        "draw_id": "cfbf4d7ce7f94824bb88d5b341cf7811",
                        "daily": false,
                        "replayable": true,
                        "day": null,
                        "description": "A freshly shuffled deck. Keep the draw_id to see this same deck again; shuffle without one for a new deck.",
                        "cards": [{"position": 1, "card_id": 58, "card_name": "Nine of Swords", "arcana": "Minor", "suit": "Swords", "orientation": "upright", "keywords": ["Anxiety", "Worry", "Fear"], "element": "Air"}, {"position": 2, "card_id": 4, "card_name": "The Emperor", "arcana": "Major", "suit": null, "orientation": "reversed", "keywords": ["Domination", "Inflexibility", "Loss of control"], "element": "Fire"}, {"position": 3, "card_id": 38, "card_name": "Three of Cups", "arcana": "Minor", "suit": "Cups", "orientation": "upright", "keywords": ["Celebration", "Friendship", "Creativity"], "element": "Water"}],
                        "dominant_element": "Air",
                        "major_arcana_count": 1,
                        "total_cards_shown": 3
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-yes-no": {
      "post": {
        "operationId": "tarot-yes-no",
        "summary": "Tarot: Yes / No",
        "description": "Draws cards for the Yes / No spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "question": {"type": "string"},
                        "answer": {"type": "string"},
                        "answer_score": {"type": "integer"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": "string"}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "summary": {"type": "string"},
                        "hint": {"type": "string"},
                        "note": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "question",
                        "answer",
                        "answer_score",
                        "cards",
                        "summary",
                        "hint",
                        "note"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "yes_no",
                        "question": "What should I focus on this month?",
                        "answer": "Maybe / Seek more clarity",
                        "answer_score": 0,
                        "cards": [{"position": 1, "position_name": "The Oracle", "position_context": "The card's energy gives a direct yes, no, or maybe answer to your question.", "card_id": 48, "card_name": "Queen of Cups", "arcana": "Minor", "suit": "Cups", "number": 13, "orientation": "upright", "keywords": ["Compassionate", "Caring", "Emotionally stable"], "meaning": "The Queen of Cups combines deep emotional intelligence with compassionate wisdom. She listens with her heart and offers healing presence to all who are troubled.", "interpretation": "In the “The Oracle” position, Queen of Cups appears upright. The card's energy gives a direct yes, no, or maybe answer to your question. For this part of your reading it brings compassionate, caring, emotionally stable. The Queen of Cups combines deep emotional intelligence with compassionate wisdom. She listens with her heart and offers healing presence to all who are troubled.", "element": "Water", "astro": "Water of Water"}],
                        "summary": "Your card is Queen of Cups (upright) — speaking of compassionate, caring, emotionally stable. The overall tone is Water — deep emotional currents. The oracle's answer: Maybe / Seek more clarity.",
                        "hint": "This looks like an open or timing question, which a Yes/No card can't answer directly. Try the Past / Present / Future or Celtic Cross spread for questions like this.",
                        "note": "Yes/No is determined by the card's inherent polarity adjusted for orientation (reversed cards invert their energy)."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-daily": {
      "post": {
        "operationId": "tarot-daily",
        "summary": "Tarot: Daily Card",
        "description": "Draws cards for the Daily Card spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "reading_date": {"type": "string"},
                        "name": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": "null"}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "summary": {"type": "string"},
                        "affirmation": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "reading_date",
                        "name",
                        "cards",
                        "summary",
                        "affirmation"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "daily",
                        "reading_date": "2026-10-14",
                        "name": "Seeker",
                        "cards": [{"position": 1, "position_name": "Energy of the Day", "position_context": "This card describes the dominant theme, opportunity, or caution for your day.", "card_id": 1, "card_name": "The Magician", "arcana": "Major", "suit": null, "number": 1, "orientation": "upright", "keywords": ["Willpower", "Skill", "Manifestation"], "meaning": "The Magician confirms you have all the tools and talents needed to manifest your desires. Channel your willpower and take decisive action — success follows focused intention.", "interpretation": "In the “Energy of the Day” position, The Magician appears upright. This card describes the dominant theme, opportunity, or caution for your day. For this part of your reading it brings willpower, skill, manifestation. The Magician confirms you have all the tools and talents needed to manifest your desires. Channel your willpower and take decisive action — success follows focused intention.", "element": "Air", "astro": "Mercury"}],
                        "summary": "Your card is The Magician (upright) — speaking of willpower, skill, manifestation. The overall tone is Air — mental clarity and communication. 1 Major Arcana card mark this as a significant, fate-touched moment.",
                        "affirmation": "Today's guiding energy: Willpower, Skill."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-fortune-cookie": {
      "post": {
        "operationId": "tarot-fortune-cookie",
        "summary": "Tarot: Fortune Cookie",
        "description": "Draws cards for the Fortune Cookie spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": "string"}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "fortune": {"type": "string"},
                        "lucky_keywords": {"type": "array", "items": {"type": "string"}},
                        "element": {"type": "string"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "cards",
                        "fortune",
                        "lucky_keywords",
                        "element",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "fortune_cookie",
                        "name": "Seeker",
                        "cards": [{"position": 1, "position_name": "Your Fortune", "position_context": "A single karmic message from the universe — reflect on its deeper meaning.", "card_id": 76, "card_name": "Queen of Pentacles", "arcana": "Minor", "suit": "Pentacles", "number": 13, "orientation": "reversed", "keywords": ["Financial independence", "Self-care", "Work/home conflict"], "meaning": "Reversed, excessive focus on external provision neglects her own emotional needs. Work-home conflict or overprotectiveness undermines her natural gifts.", "interpretation": "In the “Your Fortune” position, Queen of Pentacles appears reversed. A single karmic message from the universe — reflect on its deeper meaning. For this part of your reading it brings financial independence, self-care, work/home conflict. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, excessive focus on external provision neglects her own emotional needs. Work-home conflict or overprotectiveness undermines her natural gifts.", "element": "Earth", "astro": "Water of Earth"}],
                        "fortune": "Reversed, excessive focus on external provision neglects her own emotional needs. Work-home conflict or overprotectiveness undermines her natural gifts.",
                        "lucky_keywords": ["Financial independence", "Self-care", "Work/home conflict"],
                        "element": "Earth",
                        "summary": "Your card is Queen of Pentacles (reversed) — speaking of financial independence, self-care, work/home conflict. The overall tone is Earth — grounded, practical energy."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-flirt": {
      "post": {
        "operationId": "tarot-flirt",
        "summary": "Tarot: Flirt",
        "description": "Draws cards for the Flirt spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "question": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": ["string", "null"]}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "dominant_element": {"type": "string"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "question",
                        "cards",
                        "dominant_element",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "flirt",
                        "name": "Seeker",
                        "question": "What should I focus on this month?",
                        "cards": [{"position": 1, "position_name": "Their Interest in You", "position_context": "Reveals the level and nature of the other person's attraction toward you.", "card_id": 36, "card_name": "Ace of Cups", "arcana": "Minor", "suit": "Cups", "number": 1, "orientation": "reversed", "keywords": ["Blocked emotions", "Emotional pain", "Repressed feelings"], "meaning": "Reversed, emotional energy is blocked or unprocessed grief prevents love from flowing freely. Heal the heart to receive what is being offered.", "interpretation": "In the “Their Interest in You” position, Ace of Cups appears reversed. Reveals the level and nature of the other person's attraction toward you. For this part of your reading it brings blocked emotions, emotional pain, repressed feelings. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, emotional energy is blocked or unprocessed grief prevents love from flowing freely. Heal the heart to receive what is being offered.", "element": "Water", "astro": "Cancer/Scorpio/Pisces"}, {"position": 2, "position_name": "Your Magnetic Energy", "position_context": "The energy you are currently projecting that influences their perception.", "card_id": 76, "card_name": "Queen of Pentacles", "arcana": "Minor", "suit": "Pentacles", "number": 13, "orientation": "reversed", "keywords": ["Financial independence", "Self-care", "Work/home conflict"], "meaning": "Reversed, excessive focus on external provision neglects her own emotional needs. Work-home conflict or overprotectiveness undermines her natural gifts.", "interpretation": "In the “Your Magnetic Energy” position, Queen of Pentacles appears reversed. The energy you are currently projecting that influences their perception. For this part of your reading it brings financial independence, self-care, work/home conflict. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, excessive focus on external provision neglects her own emotional needs. Work-home conflict or overprotectiveness undermines her natural gifts.", "element": "Earth", "astro": "Water of Earth"}, {"position": 3, "position_name": "Flirtation Outcome", "position_context": "Where this flirtation is likely to lead if you continue on this path.", "card_id": 9, "card_name": "The Hermit", "arcana": "Major", "suit": null, "number": 9, "orientation": "reversed", "keywords": ["Isolation", "Loneliness", "Withdrawal"], "meaning": "Reversed, The Hermit warns of excessive isolation or refusing to engage with the world. Solitude has become avoidance — it is time to re-emerge.", "interpretation": "In the “Flirtation Outcome” position, The Hermit appears reversed. Where this flirtation is likely to lead if you continue on this path. For this part of your reading it brings isolation, loneliness, withdrawal. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, The Hermit warns of excessive isolation or refusing to engage with the world. Solitude has become avoidance — it is time to re-emerge.", "element": "Earth", "astro": "Virgo"}],
                        "dominant_element": "Earth",
                        "summary": "Your reading opens with Ace of Cups (reversed) in the “Their Interest in You” — blocked emotions, emotional pain. At its heart lies Queen of Pentacles (reversed) in the “Your Magnetic Energy”, colouring the matter with financial independence, self-care. It moves toward The Hermit (reversed) in the “Flirtation Outcome” — isolation, loneliness. The overall tone is Earth — grounded, practical energy. 1 Major Arcana card mark this as a significant, fate-touched moment."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-love-triangle": {
      "post": {
        "operationId": "tarot-love-triangle",
        "summary": "Tarot: Love Triangle",
        "description": "Draws cards for the Love Triangle spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "question": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": ["string", "null"]}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "dominant_element": {"type": "string"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "question",
                        "cards",
                        "dominant_element",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "love_triangle",
                        "name": "Seeker",
                        "question": "What should I focus on this month?",
                        "cards": [{"position": 1, "position_name": "Your Role", "position_context": "Your position, feelings, and energy within this triangular dynamic.", "card_id": 69, "card_name": "Six of Pentacles", "arcana": "Minor", "suit": "Pentacles", "number": 6, "orientation": "reversed", "keywords": ["Strings-attached generosity", "Power dynamics", "Debt"], "meaning": "Reversed, generosity comes with strings attached or creates unhealthy power dynamics. Examine whether giving is truly free or conditional.", "interpretation": "In the “Your Role” position, Six of Pentacles appears reversed. Your position, feelings, and energy within this triangular dynamic. For this part of your reading it brings strings-attached generosity, power dynamics, debt. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, generosity comes with strings attached or creates unhealthy power dynamics. Examine whether giving is truly free or conditional.", "element": "Earth", "astro": "Moon in Taurus"}, {"position": 2, "position_name": "The Third Party", "position_context": "The energy and influence of the third person in this situation.", "card_id": 17, "card_name": "The Star", "arcana": "Major", "suit": null, "number": 17, "orientation": "upright", "keywords": ["Hope", "Faith", "Renewal"], "meaning": "The Star pours out divine hope and renewal after turbulent times. Have faith — the universe is guiding you toward healing, inspiration, and a radiant future.", "interpretation": "In the “The Third Party” position, The Star appears upright. The energy and influence of the third person in this situation. For this part of your reading it brings hope, faith, renewal. The Star pours out divine hope and renewal after turbulent times. Have faith — the universe is guiding you toward healing, inspiration, and a radiant future.", "element": "Air", "astro": "Aquarius"}, {"position": 3, "position_name": "The Relationship Web", "position_context": "The nature of the bonds and tensions holding this triangle together.", "card_id": 56, "card_name": "Seven of Swords", "arcana": "Minor", "suit": "Swords", "number": 7, "orientation": "reversed", "keywords": ["Conscience", "Confession", "Coming clean"], "meaning": "Reversed, conscience awakens and what was hidden comes to light. A confession or reckoning with consequences is unavoidable.", "interpretation": "In the “The Relationship Web” position, Seven of Swords appears reversed. The nature of the bonds and tensions holding this triangle together. For this part of your reading it brings conscience, confession, coming clean. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, conscience awakens and what was hidden comes to light. A confession or reckoning with consequences is unavoidable.", "element": "Air", "astro": "Moon in Aquarius"}],
                        "dominant_element": "Air",
                        "summary": "Your reading opens with Six of Pentacles (reversed) in the “Your Role” — strings-attached generosity, power dynamics. At its heart lies The Star (upright) in the “The Third Party”, colouring the matter with hope, faith. It moves toward Seven of Swords (reversed) in the “The Relationship Web” — conscience, confession. The overall tone is Air — mental clarity and communication. 1 Major Arcana card mark this as a significant, fate-touched moment."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-career": {
      "post": {
        "operationId": "tarot-career",
        "summary": "Tarot: Career",
        "description": "Draws cards for the Career spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "question": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": ["string", "null"]}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "dominant_element": {"type": "string"},
                        "major_arcana_count": {"type": "integer"},
                        "major_arcana_note": {"type": "string"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "question",
                        "cards",
                        "dominant_element",
                        "major_arcana_count",
                        "major_arcana_note",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "career",
                        "name": "Seeker",
                        "question": "What should I focus on this month?",
                        "cards": [{"position": 1, "position_name": "Current Career Energy", "position_context": "Your present professional standing, feelings, and trajectory.", "card_id": 0, "card_name": "The Fool", "arcana": "Major", "suit": null, "number": 0, "orientation": "reversed", "keywords": ["Recklessness", "Naivety", "Foolishness"], "meaning": "Reversed, The Fool warns of impulsiveness or naivety leading to poor decisions. Pause before leaping — some risks are not worth taking without forethought.", "interpretation": "In the “Current Career Energy” position, The Fool appears reversed. Your present professional standing, feelings, and trajectory. For this part of your reading it brings recklessness, naivety, foolishness. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, The Fool warns of impulsiveness or naivety leading to poor decisions. Pause before leaping — some risks are not worth taking without forethought.", "element": "Air", "astro": "Uranus"}, {"position": 2, "position_name": "Challenge / Obstacle", "position_context": "The primary block or difficulty currently affecting your career.", "card_id": 30, "card_name": "Nine of Wands", "arcana": "Minor", "suit": "Wands", "number": 9, "orientation": "upright", "keywords": ["Resilience", "Courage", "Persistence"], "meaning": "The Nine of Wands finds you battle-worn but still standing — resilience is your greatest gift. One more push will carry you across the finish line.", "interpretation": "In the “Challenge / Obstacle” position, Nine of Wands appears upright. The primary block or difficulty currently affecting your career. For this part of your reading it brings resilience, courage, persistence. The Nine of Wands finds you battle-worn but still standing — resilience is your greatest gift. One more push will carry you across the finish line.", "element": "Fire", "astro": "Moon in Sagittarius"}, {"position": 3, "position_name": "Best Course of Action", "position_context": "The most empowering step you can take to advance your career now.", "card_id": 73, "card_name": "Ten of Pentacles", "arcana": "Minor", "suit": "Pentacles", "number": 10, "orientation": "upright", "keywords": ["Wealth", "Financial security", "Family"], "meaning": "The Ten of Pentacles represents the peak of material achievement — enduring family wealth, legacy, and multi-generational security. What you have built will last.", "interpretation": "In the “Best Course of Action” position, Ten of Pentacles appears upright. The most empowering step you can take to advance your career now. For this part of your reading it brings wealth, financial security, family. The Ten of Pentacles represents the peak of material achievement — enduring family wealth, legacy, and multi-generational security. What you have built will last.", "element": "Earth", "astro": "Mercury in Virgo"}],
                        "dominant_element": "Fire",
                        "major_arcana_count": 2,
                        "major_arcana_note": "2 Major Arcana cards indicate moderate cosmic influence on your career.",
                        "summary": "Your reading opens with The Fool (reversed) in the “Current Career Energy” — recklessness, naivety. At its heart lies Ten of Pentacles (upright) in the “Best Course of Action”, colouring the matter with wealth, financial security. It moves toward Ten of Wands (reversed) in the “Career Outcome” — carrying too much, inability to delegate. The overall tone is Fire — fiery drive and passion. 2 Major Arcana cards mark this as a significant, fate-touched moment."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-in-depth-love": {
      "post": {
        "operationId": "tarot-in-depth-love",
        "summary": "Tarot: In-Depth Love",
        "description": "Draws cards for the In-Depth Love spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "question": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": ["string", "null"]}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "dominant_element": {"type": "string"},
                        "major_arcana_count": {"type": "integer"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "question",
                        "cards",
                        "dominant_element",
                        "major_arcana_count",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "in_depth_love",
                        "name": "Seeker",
                        "question": "What should I focus on this month?",
                        "cards": [{"position": 1, "position_name": "Your Heart", "position_context": "Your current emotional state and what you truly desire in love.", "card_id": 69, "card_name": "Six of Pentacles", "arcana": "Minor", "suit": "Pentacles", "number": 6, "orientation": "upright", "keywords": ["Generosity", "Charity", "Giving"], "meaning": "The Six of Pentacles creates a beautiful flow of giving and receiving — generosity shared freely circulates abundance back into the giver's world. Share your good fortune.", "interpretation": "In the “Your Heart” position, Six of Pentacles appears upright. Your current emotional state and what you truly desire in love. For this part of your reading it brings generosity, charity, giving. The Six of Pentacles creates a beautiful flow of giving and receiving — generosity shared freely circulates abundance back into the giver's world. Share your good fortune.", "element": "Earth", "astro": "Moon in Taurus"}, {"position": 2, "position_name": "Their Heart", "position_context": "What your person of interest truly feels and desires.", "card_id": 36, "card_name": "Ace of Cups", "arcana": "Minor", "suit": "Cups", "number": 1, "orientation": "upright", "keywords": ["New love", "Compassion", "Creativity"], "meaning": "The Ace of Cups overflows with new love, deep compassion, and creative inspiration. Open your heart fully — spiritual and emotional gifts are being offered.", "interpretation": "In the “Their Heart” position, Ace of Cups appears upright. What your person of interest truly feels and desires. For this part of your reading it brings new love, compassion, creativity. The Ace of Cups overflows with new love, deep compassion, and creative inspiration. Open your heart fully — spiritual and emotional gifts are being offered.", "element": "Water", "astro": "Cancer/Scorpio/Pisces"}, {"position": 3, "position_name": "What Connects You", "position_context": "The invisible thread and shared energy binding you together.", "card_id": 16, "card_name": "The Tower", "arcana": "Major", "suit": null, "number": 16, "orientation": "reversed", "keywords": ["Avoiding disaster", "Fear of change", "Delayed upheaval"], "meaning": "Reversed, The Tower suggests narrowly avoiding disaster or internal upheaval rather than external. A delayed crisis or suppressed chaos that still needs addressing.", "interpretation": "In the “What Connects You” position, The Tower appears reversed. The invisible thread and shared energy binding you together. For this part of your reading it brings avoiding disaster, fear of change, delayed upheaval. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, The Tower suggests narrowly avoiding disaster or internal upheaval rather than external. A delayed crisis or suppressed chaos that still needs addressing.", "element": "Fire", "astro": "Mars"}],
                        "dominant_element": "Fire",
                        "major_arcana_count": 2,
                        "summary": "Your reading opens with Six of Pentacles (upright) in the “Your Heart” — generosity, charity. At its heart lies Nine of Swords (upright) in the “Past Influence”, colouring the matter with anxiety, worry. It moves toward Six of Wands (upright) in the “Love Outcome” — success, public recognition. The overall tone is Fire — fiery drive and passion. 2 Major Arcana cards mark this as a significant, fate-touched moment."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-erotic-love": {
      "post": {
        "operationId": "tarot-erotic-love",
        "summary": "Tarot: Erotic Love",
        "description": "Draws cards for the Erotic Love spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "question": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": ["string", "null"]}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "dominant_element": {"type": "string"},
                        "major_arcana_count": {"type": "integer"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "question",
                        "cards",
                        "dominant_element",
                        "major_arcana_count",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "erotic_love",
                        "name": "Seeker",
                        "question": "What should I focus on this month?",
                        "cards": [{"position": 1, "position_name": "Passion Flame", "position_context": "The raw passionate energy between you — what ignites the chemistry.", "card_id": 11, "card_name": "Justice", "arcana": "Major", "suit": null, "number": 11, "orientation": "upright", "keywords": ["Fairness", "Truth", "Cause and effect"], "meaning": "Justice calls for truth, fairness, and accountability. A legal matter or ethical decision will be resolved in alignment with facts — what is right will prevail.", "interpretation": "In the “Passion Flame” position, Justice appears upright. The raw passionate energy between you — what ignites the chemistry. For this part of your reading it brings fairness, truth, cause and effect. Justice calls for truth, fairness, and accountability. A legal matter or ethical decision will be resolved in alignment with facts — what is right will prevail.", "element": "Air", "astro": "Libra"}, {"position": 2, "position_name": "Desire & Longing", "position_context": "The nature of what is deeply desired by one or both parties.", "card_id": 7, "card_name": "The Chariot", "arcana": "Major", "suit": null, "number": 7, "orientation": "upright", "keywords": ["Control", "Willpower", "Victory"], "meaning": "The Chariot drives forward with unstoppable willpower and disciplined determination. Assert control over competing forces and charge ahead toward victory.", "interpretation": "In the “Desire & Longing” position, The Chariot appears upright. The nature of what is deeply desired by one or both parties. For this part of your reading it brings control, willpower, victory. The Chariot drives forward with unstoppable willpower and disciplined determination. Assert control over competing forces and charge ahead toward victory.", "element": "Water", "astro": "Cancer"}, {"position": 3, "position_name": "Physical Chemistry", "position_context": "The quality and intensity of the physical and sensual connection.", "card_id": 35, "card_name": "King of Wands", "arcana": "Minor", "suit": "Wands", "number": 14, "orientation": "reversed", "keywords": ["Impulsiveness", "Overbearing", "Domineering"], "meaning": "Reversed, his leadership becomes overbearing or reckless. Passion without wisdom alienates those who once followed willingly.", "interpretation": "In the “Physical Chemistry” position, King of Wands appears reversed. The quality and intensity of the physical and sensual connection. For this part of your reading it brings impulsiveness, overbearing, domineering. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, his leadership becomes overbearing or reckless. Passion without wisdom alienates those who once followed willingly.", "element": "Fire", "astro": "Air of Fire"}],
                        "dominant_element": "Water",
                        "major_arcana_count": 2,
                        "summary": "Your reading opens with Justice (upright) in the “Passion Flame” — fairness, truth. At its heart lies King of Wands (reversed) in the “Physical Chemistry”, colouring the matter with impulsiveness, overbearing. It moves toward Nine of Pentacles (upright) in the “Intimate Potential” — luxury, self-sufficiency. The overall tone is Water — deep emotional currents. 2 Major Arcana cards mark this as a significant, fate-touched moment."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-compatibility": {
      "post": {
        "operationId": "tarot-compatibility",
        "summary": "Tarot: Compatibility",
        "description": "Draws cards for the Compatibility spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CompatibilityInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "name_1": "Asha",
                "name_2": "Ravi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "person_1": {"type": "string"},
                        "person_2": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": "string"}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "compatibility_score": {"type": "integer"},
                        "element_1": {"type": "string"},
                        "element_2": {"type": "string"},
                        "compatibility_description": {"type": "string"},
                        "score_basis": {"type": "string"},
                        "verdict": {"type": "string"},
                        "dominant_element": {"type": "string"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "person_1",
                        "person_2",
                        "cards",
                        "compatibility_score",
                        "element_1",
                        "element_2",
                        "compatibility_description",
                        "score_basis",
                        "verdict",
                        "dominant_element",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "compatibility",
                        "person_1": "Asha",
                        "person_2": "Ravi",
                        "cards": [{"position": 1, "position_name": "Your Core Energy", "position_context": "Your fundamental nature and what you bring to a partnership.", "card_id": 42, "card_name": "Seven of Cups", "arcana": "Minor", "suit": "Cups", "number": 7, "orientation": "reversed", "keywords": ["Alignment", "Personal values", "Overwhelm"], "meaning": "Reversed, clarity is emerging from the fog of too many options. Align choices with true values and eliminate what merely tempts rather than fulfils.", "interpretation": "In the “Your Core Energy” position, Seven of Cups appears reversed. Your fundamental nature and what you bring to a partnership. For this part of your reading it brings alignment, personal values, overwhelm. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, clarity is emerging from the fog of too many options. Align choices with true values and eliminate what merely tempts rather than fulfils.", "element": "Water", "astro": "Venus in Scorpio"}, {"position": 2, "position_name": "Their Core Energy", "position_context": "Their fundamental nature and what they bring to a partnership.", "card_id": 60, "card_name": "Page of Swords", "arcana": "Minor", "suit": "Swords", "number": 11, "orientation": "reversed", "keywords": ["Snoopiness", "Deception", "Manipulation"], "meaning": "Reversed, curiosity curdles into snoopiness or manipulation. Big talk without follow-through undermines credibility.", "interpretation": "In the “Their Core Energy” position, Page of Swords appears reversed. Their fundamental nature and what they bring to a partnership. For this part of your reading it brings snoopiness, deception, manipulation. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, curiosity curdles into snoopiness or manipulation. Big talk without follow-through undermines credibility.", "element": "Air", "astro": "Earth of Air"}, {"position": 3, "position_name": "Shared Bond", "position_context": "The energy that unites you — what makes your connection unique.", "card_id": 58, "card_name": "Nine of Swords", "arcana": "Minor", "suit": "Swords", "number": 9, "orientation": "reversed", "keywords": ["Hopelessness", "Inner turmoil", "Secrets"], "meaning": "Reversed, deep inner turmoil and hopelessness reach a breaking point. Recovery begins by facing the source of anxiety rather than suppressing it.", "interpretation": "In the “Shared Bond” position, Nine of Swords appears reversed. The energy that unites you — what makes your connection unique. For this part of your reading it brings hopelessness, inner turmoil, secrets. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, deep inner turmoil and hopelessness reach a breaking point. Recovery begins by facing the source of anxiety rather than suppressing it.", "element": "Air", "astro": "Mars in Gemini"}],
                        "compatibility_score": 55,
                        "element_1": "Water",
                        "element_2": "Air",
                        "compatibility_description": "Dreamy & Unstable",
                        "score_basis": "Reflects the elemental harmony of the cards each partner drew in this spread — not a psychological assessment.",
                        "verdict": "Reversed, fear of change keeps you in a situation that no longer serves. Aimlessness or hopelessness suggests you know you must leave but cannot yet summon courage.",
                        "dominant_element": "Water",
                        "summary": "Your reading opens with Seven of Cups (reversed) in the “Your Core Energy” — alignment, personal values. At its heart lies Ten of Wands (upright) in the “Central Challenge”, colouring the matter with burden, extra responsibility. It moves toward Eight of Cups (reversed) in the “Made For Each Other — Verdict” — hopelessness, fear of moving on. The overall tone is Water — deep emotional currents. Compatibility: 55/100 — Dreamy & Unstable."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-romantic-breakup": {
      "post": {
        "operationId": "tarot-romantic-breakup",
        "summary": "Tarot: Romantic Breakup",
        "description": "Draws cards for the Romantic Breakup spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "question": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": "string"}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "dominant_element": {"type": "string"},
                        "major_arcana_count": {"type": "integer"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "question",
                        "cards",
                        "dominant_element",
                        "major_arcana_count",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "romantic_breakup",
                        "name": "Seeker",
                        "question": "What should I focus on this month?",
                        "cards": [{"position": 1, "position_name": "Root Cause", "position_context": "The underlying energy or issue that led to the breakdown of love.", "card_id": 57, "card_name": "Eight of Swords", "arcana": "Minor", "suit": "Swords", "number": 8, "orientation": "reversed", "keywords": ["Self-acceptance", "Release", "New perspective"], "meaning": "Reversed, the blindfold is finally removed. New perspective dissolves the self-imposed limitations that held you captive.", "interpretation": "In the “Root Cause” position, Eight of Swords appears reversed. The underlying energy or issue that led to the breakdown of love. For this part of your reading it brings self-acceptance, release, new perspective. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, the blindfold is finally removed. New perspective dissolves the self-imposed limitations that held you captive.", "element": "Air", "astro": "Jupiter in Gemini"}, {"position": 2, "position_name": "Their Perspective", "position_context": "How the other person experiences and understands this breakup.", "card_id": 59, "card_name": "Ten of Swords", "arcana": "Minor", "suit": "Swords", "number": 10, "orientation": "upright", "keywords": ["Painful endings", "Deep wounds", "Betrayal"], "meaning": "The Ten of Swords marks the most painful of endings — a complete collapse or devastating betrayal. But the darkest hour precedes the dawn; no lower point remains.", "interpretation": "In the “Their Perspective” position, Ten of Swords appears upright. How the other person experiences and understands this breakup. For this part of your reading it brings painful endings, deep wounds, betrayal. The Ten of Swords marks the most painful of endings — a complete collapse or devastating betrayal. But the darkest hour precedes the dawn; no lower point remains.", "element": "Air", "astro": "Sun in Gemini"}, {"position": 3, "position_name": "Your Perspective", "position_context": "Your emotional truth and how you are processing this ending.", "card_id": 66, "card_name": "Three of Pentacles", "arcana": "Minor", "suit": "Pentacles", "number": 3, "orientation": "upright", "keywords": ["Teamwork", "Collaboration", "Learning"], "meaning": "The Three of Pentacles celebrates skilled collaboration — when diverse talents unite toward a shared goal, exceptional work is created. Seek and value expert input.", "interpretation": "In the “Your Perspective” position, Three of Pentacles appears upright. Your emotional truth and how you are processing this ending. For this part of your reading it brings teamwork, collaboration, learning. The Three of Pentacles celebrates skilled collaboration — when diverse talents unite toward a shared goal, exceptional work is created. Seek and value expert input.", "element": "Earth", "astro": "Mars in Capricorn"}],
                        "dominant_element": "Air",
                        "major_arcana_count": 1,
                        "summary": "Your reading opens with Eight of Swords (reversed) in the “Root Cause” — self-acceptance, release. At its heart lies Eight of Wands (upright) in the “What Is Being Lost”, colouring the matter with speed, action. It moves toward Four of Wands (upright) in the “Path Forward” — celebration, harmony. The overall tone is Air — mental clarity and communication. 1 Major Arcana card mark this as a significant, fate-touched moment."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-business-breakup": {
      "post": {
        "operationId": "tarot-business-breakup",
        "summary": "Tarot: Business Breakup",
        "description": "Draws cards for the Business Breakup spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "question": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": ["string", "null"]}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "dominant_element": {"type": "string"},
                        "major_arcana_count": {"type": "integer"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "question",
                        "cards",
                        "dominant_element",
                        "major_arcana_count",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "business_breakup",
                        "name": "Seeker",
                        "question": "What should I focus on this month?",
                        "cards": [{"position": 1, "position_name": "Core Issue", "position_context": "The fundamental breakdown point in the business partnership.", "card_id": 50, "card_name": "Ace of Swords", "arcana": "Minor", "suit": "Swords", "number": 1, "orientation": "upright", "keywords": ["Breakthrough", "New idea", "Mental clarity"], "meaning": "The Ace of Swords cuts through confusion with razor-sharp clarity — a breakthrough idea, truth revealed, or a new intellectual beginning powered by pure mental force.", "interpretation": "In the “Core Issue” position, Ace of Swords appears upright. The fundamental breakdown point in the business partnership. For this part of your reading it brings breakthrough, new idea, mental clarity. The Ace of Swords cuts through confusion with razor-sharp clarity — a breakthrough idea, truth revealed, or a new intellectual beginning powered by pure mental force.", "element": "Air", "astro": "Gemini/Libra/Aquarius"}, {"position": 2, "position_name": "Your Role", "position_context": "Your contribution to both the success and the breakdown.", "card_id": 21, "card_name": "The World", "arcana": "Major", "suit": null, "number": 21, "orientation": "upright", "keywords": ["Completion", "Integration", "Accomplishment"], "meaning": "The World announces triumphant completion — a major cycle is fulfilled. You have achieved wholeness and are ready to step into a new, expanded chapter of life.", "interpretation": "In the “Your Role” position, The World appears upright. Your contribution to both the success and the breakdown. For this part of your reading it brings completion, integration, accomplishment. The World announces triumphant completion — a major cycle is fulfilled. You have achieved wholeness and are ready to step into a new, expanded chapter of life.", "element": "Earth", "astro": "Saturn"}, {"position": 3, "position_name": "Their Role", "position_context": "Their contribution to both the success and the breakdown.", "card_id": 76, "card_name": "Queen of Pentacles", "arcana": "Minor", "suit": "Pentacles", "number": 13, "orientation": "reversed", "keywords": ["Financial independence", "Self-care", "Work/home conflict"], "meaning": "Reversed, excessive focus on external provision neglects her own emotional needs. Work-home conflict or overprotectiveness undermines her natural gifts.", "interpretation": "In the “Their Role” position, Queen of Pentacles appears reversed. Their contribution to both the success and the breakdown. For this part of your reading it brings financial independence, self-care, work/home conflict. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, excessive focus on external provision neglects her own emotional needs. Work-home conflict or overprotectiveness undermines her natural gifts.", "element": "Earth", "astro": "Water of Earth"}],
                        "dominant_element": "Earth",
                        "major_arcana_count": 1,
                        "summary": "Your reading opens with Ace of Swords (upright) in the “Core Issue” — breakthrough, new idea. At its heart lies Queen of Pentacles (reversed) in the “Their Role”, colouring the matter with financial independence, self-care. It moves toward Four of Swords (reversed) in the “Business Future” — restlessness, burnout. The overall tone is Earth — grounded, practical energy. 1 Major Arcana card mark this as a significant, fate-touched moment."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-past-present-future": {
      "post": {
        "operationId": "tarot-past-present-future",
        "summary": "Tarot: Past, Present, Future",
        "description": "Draws cards for the Past, Present, Future spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "question": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": ["string", "null"]}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "dominant_element": {"type": "string"},
                        "major_arcana_count": {"type": "integer"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "question",
                        "cards",
                        "dominant_element",
                        "major_arcana_count",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "past_present_future",
                        "name": "Seeker",
                        "question": "What should I focus on this month?",
                        "cards": [{"position": 1, "position_name": "Past", "position_context": "The roots of the matter — past influences, patterns and karma that set the stage.", "card_id": 20, "card_name": "Judgement", "arcana": "Major", "suit": null, "number": 20, "orientation": "upright", "keywords": ["Reflection", "Reckoning", "Awakening"], "meaning": "Judgement calls you to rise — a profound inner awakening and reckoning with the past leads to absolution and a higher calling. Heed the call to transform.", "interpretation": "In the “Past” position, Judgement appears upright. The roots of the matter — past influences, patterns and karma that set the stage. For this part of your reading it brings reflection, reckoning, awakening. Judgement calls you to rise — a profound inner awakening and reckoning with the past leads to absolution and a higher calling. Heed the call to transform.", "element": "Fire", "astro": "Pluto"}, {"position": 2, "position_name": "Present", "position_context": "Where the situation stands right now, and the energy currently at work.", "card_id": 73, "card_name": "Ten of Pentacles", "arcana": "Minor", "suit": "Pentacles", "number": 10, "orientation": "reversed", "keywords": ["Financial failure", "Family conflict", "Losses"], "meaning": "Reversed, family conflict over finances or squandered inheritance undermines the legacy. Address practical and relational issues before wealth slips away.", "interpretation": "In the “Present” position, Ten of Pentacles appears reversed. Where the situation stands right now, and the energy currently at work. For this part of your reading it brings financial failure, family conflict, losses. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, family conflict over finances or squandered inheritance undermines the legacy. Address practical and relational issues before wealth slips away.", "element": "Earth", "astro": "Mercury in Virgo"}, {"position": 3, "position_name": "Future", "position_context": "The direction and timing this is heading if the present energy continues.", "card_id": 53, "card_name": "Four of Swords", "arcana": "Minor", "suit": "Swords", "number": 4, "orientation": "upright", "keywords": ["Rest", "Relaxation", "Meditation"], "meaning": "The Four of Swords commands rest — after battle, the warrior must lay down his sword and restore. This is not defeat; it is the strategic retreat that enables future victory.", "interpretation": "In the “Future” position, Four of Swords appears upright. The direction and timing this is heading if the present energy continues. For this part of your reading it brings rest, relaxation, meditation. The Four of Swords commands rest — after battle, the warrior must lay down his sword and restore. This is not defeat; it is the strategic retreat that enables future victory.", "element": "Air", "astro": "Jupiter in Libra"}],
                        "dominant_element": "Fire",
                        "major_arcana_count": 1,
                        "summary": "Your reading opens with Judgement (upright) in the “Past” — reflection, reckoning. At its heart lies Ten of Pentacles (reversed) in the “Present”, colouring the matter with financial failure, family conflict. It moves toward Four of Swords (upright) in the “Future” — rest, relaxation. The overall tone is Fire — fiery drive and passion. 1 Major Arcana card mark this as a significant, fate-touched moment."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-celtic-cross": {
      "post": {
        "operationId": "tarot-celtic-cross",
        "summary": "Tarot: Celtic Cross",
        "description": "Draws cards for the Celtic Cross spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "question": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": ["string", "null"]}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "dominant_element": {"type": "string"},
                        "major_arcana_count": {"type": "integer"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "question",
                        "cards",
                        "dominant_element",
                        "major_arcana_count",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "celtic_cross",
                        "name": "Seeker",
                        "question": "What should I focus on this month?",
                        "cards": [{"position": 1, "position_name": "The Heart of the Matter", "position_context": "The core of your question and your present situation.", "card_id": 17, "card_name": "The Star", "arcana": "Major", "suit": null, "number": 17, "orientation": "reversed", "keywords": ["Lack of faith", "Despair", "Disconnection"], "meaning": "Reversed, The Star warns of lost hope or feeling disconnected from divine guidance. Reconnect with your inner light — the stars have not abandoned you.", "interpretation": "In the “The Heart of the Matter” position, The Star appears reversed. The core of your question and your present situation. For this part of your reading it brings lack of faith, despair, disconnection. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, The Star warns of lost hope or feeling disconnected from divine guidance. Reconnect with your inner light — the stars have not abandoned you.", "element": "Air", "astro": "Aquarius"}, {"position": 2, "position_name": "The Challenge", "position_context": "The crossing influence — what supports or obstructs you.", "card_id": 59, "card_name": "Ten of Swords", "arcana": "Minor", "suit": "Swords", "number": 10, "orientation": "upright", "keywords": ["Painful endings", "Deep wounds", "Betrayal"], "meaning": "The Ten of Swords marks the most painful of endings — a complete collapse or devastating betrayal. But the darkest hour precedes the dawn; no lower point remains.", "interpretation": "In the “The Challenge” position, Ten of Swords appears upright. The crossing influence — what supports or obstructs you. For this part of your reading it brings painful endings, deep wounds, betrayal. The Ten of Swords marks the most painful of endings — a complete collapse or devastating betrayal. But the darkest hour precedes the dawn; no lower point remains.", "element": "Air", "astro": "Sun in Gemini"}, {"position": 3, "position_name": "The Root / Foundation", "position_context": "The subconscious basis and distant past behind this matter.", "card_id": 45, "card_name": "Ten of Cups", "arcana": "Minor", "suit": "Cups", "number": 10, "orientation": "reversed", "keywords": ["Broken home", "Domestic disharmony", "Disconnection"], "meaning": "Reversed, domestic harmony is shattered by conflict or disconnection. The dream of family bliss feels distant — honest communication can rebuild the rainbow.", "interpretation": "In the “The Root / Foundation” position, Ten of Cups appears reversed. The subconscious basis and distant past behind this matter. For this part of your reading it brings broken home, domestic disharmony, disconnection. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, domestic harmony is shattered by conflict or disconnection. The dream of family bliss feels distant — honest communication can rebuild the rainbow.", "element": "Water", "astro": "Mars in Pisces"}],
                        "dominant_element": "Air",
                        "major_arcana_count": 4,
                        "summary": "Your reading opens with The Star (reversed) in the “The Heart of the Matter” — lack of faith, despair. At its heart lies Five of Pentacles (reversed) in the “The Near Future”, colouring the matter with recovery, new beginnings. It moves toward King of Swords (upright) in the “The Outcome” — mental clarity, intellectual power. The overall tone is Air — mental clarity and communication. 4 Major Arcana cards mark this as a significant, fate-touched moment."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/tarot/tarot-year-ahead": {
      "post": {
        "operationId": "tarot-year-ahead",
        "summary": "Tarot: Year Ahead",
        "description": "Draws cards for the Year Ahead spread and returns them with a reading.",
        "tags": [
          "tarot"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReadingInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "question": "What should I focus on this month?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "reading_type": {"type": "string"},
                        "name": {"type": "string"},
                        "question": {"type": "string"},
                        "cards": {"type": "array", "items": {"type": "object", "properties": {"position": {"type": "integer"}, "position_name": {"type": "string"}, "position_context": {"type": "string"}, "card_id": {"type": "integer"}, "card_name": {"type": "string"}, "arcana": {"type": "string"}, "suit": {"type": ["string", "null"]}, "number": {"type": "integer"}, "orientation": {"type": "string"}, "keywords": {"type": "array", "items": {"type": "string"}}, "meaning": {"type": "string"}, "interpretation": {"type": "string"}, "element": {"type": "string"}, "astro": {"type": "string"}}, "required": ["position", "position_name", "position_context", "card_id", "card_name", "arcana", "suit", "number", "orientation", "keywords", "meaning", "interpretation", "element", "astro"]}},
                        "dominant_element": {"type": "string"},
                        "major_arcana_count": {"type": "integer"},
                        "summary": {"type": "string"}
                      },
                      "required": [
                        "reading_type",
                        "name",
                        "question",
                        "cards",
                        "dominant_element",
                        "major_arcana_count",
                        "summary"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "reading_type": "year_ahead",
                        "name": "Seeker",
                        "question": "What should I focus on this month?",
                        "cards": [{"position": 1, "position_name": "Month 1", "position_context": "The theme, opportunity and caution of the coming first month.", "card_id": 57, "card_name": "Eight of Swords", "arcana": "Minor", "suit": "Swords", "number": 8, "orientation": "upright", "keywords": ["Imprisonment", "Entrapment", "Self-victimisation"], "meaning": "The Eight of Swords reveals a prison of your own making — the blindfold is chosen, the bonds are loose. Step away from victim thinking and reclaim your freedom.", "interpretation": "In the “Month 1” position, Eight of Swords appears upright. The theme, opportunity and caution of the coming first month. For this part of your reading it brings imprisonment, entrapment, self-victimisation. The Eight of Swords reveals a prison of your own making — the blindfold is chosen, the bonds are loose. Step away from victim thinking and reclaim your freedom.", "element": "Air", "astro": "Jupiter in Gemini"}, {"position": 2, "position_name": "Month 2", "position_context": "The theme, opportunity and caution of the second month.", "card_id": 16, "card_name": "The Tower", "arcana": "Major", "suit": null, "number": 16, "orientation": "reversed", "keywords": ["Avoiding disaster", "Fear of change", "Delayed upheaval"], "meaning": "Reversed, The Tower suggests narrowly avoiding disaster or internal upheaval rather than external. A delayed crisis or suppressed chaos that still needs addressing.", "interpretation": "In the “Month 2” position, The Tower appears reversed. The theme, opportunity and caution of the second month. For this part of your reading it brings avoiding disaster, fear of change, delayed upheaval. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, The Tower suggests narrowly avoiding disaster or internal upheaval rather than external. A delayed crisis or suppressed chaos that still needs addressing.", "element": "Fire", "astro": "Mars"}, {"position": 3, "position_name": "Month 3", "position_context": "The theme, opportunity and caution of the third month.", "card_id": 13, "card_name": "Death", "arcana": "Major", "suit": null, "number": 13, "orientation": "reversed", "keywords": ["Resistance to change", "Stagnation", "Inability to move on"], "meaning": "Reversed, Death warns of clinging to what is already over. Resistance to inevitable transformation only prolongs suffering — release the past.", "interpretation": "In the “Month 3” position, Death appears reversed. The theme, opportunity and caution of the third month. For this part of your reading it brings resistance to change, stagnation, inability to move on. Reversed here, that energy is blocked, internalised or asks to be released. Reversed, Death warns of clinging to what is already over. Resistance to inevitable transformation only prolongs suffering — release the past.", "element": "Water", "astro": "Scorpio"}],
                        "dominant_element": "Air",
                        "major_arcana_count": 5,
                        "summary": "Your reading opens with Eight of Swords (upright) in the “Month 1” — imprisonment, entrapment. At its heart lies Four of Cups (upright) in the “Month 7”, colouring the matter with meditation, apathy. It moves toward The Emperor (upright) in the “Month 12” — authority, structure. The overall tone is Air — mental clarity and communication. 5 Major Arcana cards mark this as a significant, fate-touched moment."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/numerology/numerology": {
      "post": {
        "operationId": "numerology",
        "summary": "Numerology",
        "description": "Radical, destiny and name numbers with their planets and favourable details, Lo Shu and Vedic grids, Kua number, personal cycles, combinations, readings and remedies.",
        "tags": [
          "numerology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PredictionsNumerologyRemediesNumerologyInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "name": "Asha Sharma",
                "date_of_birth": "1990-10-18",
                "gender": "female"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "date_of_birth": {"type": "string"},
                        "system": {"type": "string"},
                        "radical_number": {"type": "object", "properties": {"number": {"type": "integer"}, "calculation": {"type": "string"}, "ruling_planet": {"type": "string"}, "favourable_signs": {"type": "array", "items": {"type": "string"}}, "favourable_alphabets": {"type": "array", "items": {"type": "string"}}, "gemstone": {"type": "string"}, "gemstone_hindi_name": {"type": "string"}, "gemstone_colors": {"type": "array", "items": {"type": "string"}}, "favourable_days": {"type": "array", "items": {"type": "string"}}, "favourable_numbers": {"type": "array", "items": {"type": "integer"}}, "direction": {"type": "string"}, "auspicious_colours": {"type": "array", "items": {"type": "string"}}, "deity": {"type": "string"}, "fast_day": {"type": "string"}, "favourable_dates": {"type": "array", "items": {"type": "string"}}, "mantra": {"type": "string"}, "yantra": {"type": "string"}, "yantra_metal": {"type": "string"}, "yantra_day": {"type": "string"}, "auspicious_places": {"type": "array", "items": {"type": "string"}}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}, "health_prone": {"type": "array", "items": {"type": "string"}}, "health_care": {"type": "array", "items": {"type": "string"}}, "career_fields": {"type": "array", "items": {"type": "string"}}, "donations": {"type": "array", "items": {"type": "string"}}, "description": {"type": "string"}}, "required": ["number", "calculation", "ruling_planet", "favourable_signs", "favourable_alphabets", "gemstone", "gemstone_hindi_name", "gemstone_colors", "favourable_days", "favourable_numbers", "direction", "auspicious_colours", "deity", "fast_day", "favourable_dates", "mantra", "yantra", "yantra_metal", "yantra_day", "auspicious_places", "strengths", "challenges", "health_prone", "health_care", "career_fields", "donations", "description"]},
                        "destiny_number": {"type": "object", "properties": {"number": {"type": "integer"}, "calculation": {"type": "string"}, "compound": {"type": "integer"}, "ruling_planet": {"type": "string"}, "favourable_signs": {"type": "array", "items": {"type": "string"}}, "favourable_alphabets": {"type": "array", "items": {"type": "string"}}, "gemstone": {"type": "string"}, "gemstone_hindi_name": {"type": "string"}, "gemstone_colors": {"type": "array", "items": {"type": "string"}}, "favourable_days": {"type": "array", "items": {"type": "string"}}, "favourable_numbers": {"type": "array", "items": {"type": "integer"}}, "direction": {"type": "string"}, "auspicious_colours": {"type": "array", "items": {"type": "string"}}, "deity": {"type": "string"}, "fast_day": {"type": "string"}, "favourable_dates": {"type": "array", "items": {"type": "string"}}, "mantra": {"type": "string"}, "yantra": {"type": "string"}, "yantra_metal": {"type": "string"}, "yantra_day": {"type": "string"}, "auspicious_places": {"type": "array", "items": {"type": "string"}}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}, "health_prone": {"type": "array", "items": {"type": "string"}}, "health_care": {"type": "array", "items": {"type": "string"}}, "career_fields": {"type": "array", "items": {"type": "string"}}, "donations": {"type": "array", "items": {"type": "string"}}, "description": {"type": "string"}}, "required": ["number", "calculation", "compound", "ruling_planet", "favourable_signs", "favourable_alphabets", "gemstone", "gemstone_hindi_name", "gemstone_colors", "favourable_days", "favourable_numbers", "direction", "auspicious_colours", "deity", "fast_day", "favourable_dates", "mantra", "yantra", "yantra_metal", "yantra_day", "auspicious_places", "strengths", "challenges", "health_prone", "health_care", "career_fields", "donations", "description"]},
                        "name_number": {"type": "object", "properties": {"number": {"type": "integer"}, "calculation": {"type": "string"}, "letter_values": {"type": "array", "items": {"type": "object", "properties": {"letter": {"type": "string"}, "value": {"type": "integer"}}, "required": ["letter", "value"]}}, "compound": {"type": "integer"}, "ruling_planet": {"type": "string"}, "favourable_signs": {"type": "array", "items": {"type": "string"}}, "favourable_alphabets": {"type": "array", "items": {"type": "string"}}, "gemstone": {"type": "string"}, "gemstone_hindi_name": {"type": "string"}, "gemstone_colors": {"type": "array", "items": {"type": "string"}}, "favourable_days": {"type": "array", "items": {"type": "string"}}, "favourable_numbers": {"type": "array", "items": {"type": "integer"}}, "direction": {"type": "string"}, "auspicious_colours": {"type": "array", "items": {"type": "string"}}, "deity": {"type": "string"}, "fast_day": {"type": "string"}, "favourable_dates": {"type": "array", "items": {"type": "string"}}, "mantra": {"type": "string"}, "yantra": {"type": "string"}, "yantra_metal": {"type": "string"}, "yantra_day": {"type": "string"}, "auspicious_places": {"type": "array", "items": {"type": "string"}}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}, "health_prone": {"type": "array", "items": {"type": "string"}}, "health_care": {"type": "array", "items": {"type": "string"}}, "career_fields": {"type": "array", "items": {"type": "string"}}, "donations": {"type": "array", "items": {"type": "string"}}, "description": {"type": "string"}}, "required": ["number", "calculation", "letter_values", "compound", "ruling_planet", "favourable_signs", "favourable_alphabets", "gemstone", "gemstone_hindi_name", "gemstone_colors", "favourable_days", "favourable_numbers", "direction", "auspicious_colours", "deity", "fast_day", "favourable_dates", "mantra", "yantra", "yantra_metal", "yantra_day", "auspicious_places", "strengths", "challenges", "health_prone", "health_care", "career_fields", "donations", "description"]},
                        "lo_shu_grid": {"type": "object", "properties": {"grid": {"type": "array", "items": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "count": {"type": "integer"}}, "required": ["number", "count"]}}}, "present": {"type": "array", "items": {"type": "integer"}}, "absent": {"type": "array", "items": {"type": "integer"}}, "lines": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "type": {"type": "string"}, "complete": {"type": "boolean"}}, "required": ["name", "numbers", "type", "complete"]}}, "missing_analysis": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "effect": {"type": "string"}}, "required": ["number", "effect"]}}, "present_analysis": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "count": {"type": "integer"}, "significance": {"type": "string"}, "effect": {"type": "string"}}, "required": ["number", "count", "significance", "effect"]}}, "planes": {"type": "object", "properties": {"mental": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array", "items": {"type": "integer"}}, "missing": {"type": "array", "items": {"type": "integer"}}, "strength": {"type": "string"}, "description": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "strength", "description"]}, "emotional": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array"}, "missing": {"type": "array", "items": {"type": "integer"}}, "strength": {"type": "string"}, "description": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "strength", "description"]}, "practical": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array", "items": {"type": "integer"}}, "missing": {"type": "array", "items": {"type": "integer"}}, "strength": {"type": "string"}, "description": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "strength", "description"]}, "thought": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array", "items": {"type": "integer"}}, "missing": {"type": "array", "items": {"type": "integer"}}, "strength": {"type": "string"}, "description": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "strength", "description"]}, "will": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array", "items": {"type": "integer"}}, "missing": {"type": "array", "items": {"type": "integer"}}, "strength": {"type": "string"}, "description": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "strength", "description"]}, "action": {"type": "object", "properties": {"label": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "present": {"type": "array"}, "missing": {"type": "array", "items": {"type": "integer"}}, "strength": {"type": "string"}, "description": {"type": "string"}}, "required": ["label", "numbers", "present", "missing", "strength", "description"]}}, "required": ["mental", "emotional", "practical", "thought", "will", "action"]}}, "required": ["grid", "present", "absent", "lines", "missing_analysis", "present_analysis", "planes"]},
                        "vedic_grid": {"type": "object", "properties": {"grid": {"type": "array", "items": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "count": {"type": "integer"}}, "required": ["number", "count"]}}}, "present": {"type": "array", "items": {"type": "integer"}}, "absent": {"type": "array", "items": {"type": "integer"}}, "lines": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "numbers": {"type": "array", "items": {"type": "integer"}}, "type": {"type": "string"}, "complete": {"type": "boolean"}}, "required": ["name", "numbers", "type", "complete"]}}, "missing_analysis": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "effect": {"type": "string"}}, "required": ["number", "effect"]}}, "present_analysis": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "count": {"type": "integer"}, "significance": {"type": "string"}, "effect": {"type": "string"}}, "required": ["number", "count", "significance", "effect"]}}}, "required": ["grid", "present", "absent", "lines", "missing_analysis", "present_analysis"]},
                        "kua_number": {"type": "object", "properties": {"number": {"type": "integer"}, "element": {"type": "string"}, "direction": {"type": "string"}, "group": {"type": "string"}, "color": {"type": "string"}}, "required": ["number", "element", "direction", "group", "color"]},
                        "personal_cycles": {"type": "object", "properties": {"as_of": {"type": "string"}, "personal_year": {"type": "integer"}, "personal_year_theme": {"type": "string"}, "personal_year_focus": {"type": "array", "items": {"type": "string"}}, "personal_month": {"type": "integer"}, "personal_month_theme": {"type": "string"}, "personal_day": {"type": "integer"}, "personal_day_theme": {"type": "string"}}, "required": ["as_of", "personal_year", "personal_year_theme", "personal_year_focus", "personal_month", "personal_month_theme", "personal_day", "personal_day_theme"]},
                        "combination": {"type": "object", "properties": {"compatibility": {"type": "string"}, "compatibility_level": {"type": "string"}, "combined_strengths": {"type": "array", "items": {"type": "string"}}, "combined_challenges": {"type": "array", "items": {"type": "string"}}, "note": {"type": "string"}}, "required": ["compatibility", "compatibility_level", "combined_strengths", "combined_challenges", "note"]},
                        "readings": {"type": "object", "properties": {"planet_effects": {"type": "string"}, "auspicious_time": {"type": "string"}, "planet_time": {"type": "string"}, "health": {"type": "string"}, "career": {"type": "string"}, "fast": {"type": "string"}, "yantra": {"type": "string"}, "facts": {"type": "string"}}, "required": ["planet_effects", "auspicious_time", "planet_time", "health", "career", "fast", "yantra", "facts"]},
                        "remedies": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "name",
                        "date_of_birth",
                        "system",
                        "radical_number",
                        "destiny_number",
                        "name_number",
                        "lo_shu_grid",
                        "vedic_grid",
                        "kua_number",
                        "personal_cycles",
                        "combination",
                        "readings",
                        "remedies"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Asha Sharma",
                        "date_of_birth": "1990-10-18",
                        "system": "Chaldean",
                        "radical_number": {"number": 9, "calculation": "Day 18 → 18 → 1+8 = 9", "ruling_planet": "Mars", "favourable_signs": ["Aries", "Scorpio"], "favourable_alphabets": ["I", "R"], "gemstone": "Red Coral", "gemstone_hindi_name": "Moonga", "gemstone_colors": ["Red", "Orange"], "favourable_days": ["Tuesday", "Monday", "Thursday"], "favourable_numbers": [9, 3, 6], "direction": "South", "auspicious_colours": ["Red", "Orange", "Pink"], "deity": "Lord Hanuman / Lord Ganesha", "fast_day": "Tuesday", "favourable_dates": ["9th", "18th", "27th"], "mantra": "oṃ krāṃ krīṃ krauṃ saḥ bhaumāya namaḥ", "yantra": "Mangal Yantra", "yantra_metal": "Copper", "yantra_day": "Tuesday", "auspicious_places": ["Delhi", "Israel", "Rome"], "strengths": ["Courageous", "Energetic", "Idealistic"], "challenges": ["Quick-tempered", "Impulsive", "Risk-taking"], "health_prone": ["Fevers & inflammation", "Blood disorders", "Accidents / injuries"], "health_care": ["Anger management", "Iron-rich foods", "Protect head & hands"], "career_fields": ["Military", "Police", "Surgery"], "donations": ["Masoor dal", "Red cloth", "Copper items"], "description": "Asha, your Radical Number is 9, ruled by Mars. Born on the 18th — Day 18 → 18 → 1+8 = 9 — this is your most personal number. It identifies the core elements of your character, personality, and individuality.\n\nUnder Mars's influence you are courageous, energetic, and fiercely competitive. You never back down from a challenge and thrive under pressure. Your key strengths are: Courageous, Energetic, and Idealistic. Lucky dates for you are 9th, 18th, 27th."},
                        "destiny_number": {"number": 2, "calculation": "1+8+1+0+1+9+9+0 = 29 → 2+9 = 11 → 1+1 = 2", "compound": 29, "ruling_planet": "Moon", "favourable_signs": ["Cancer", "Taurus"], "favourable_alphabets": ["B", "K", "R"], "gemstone": "Pearl", "gemstone_hindi_name": "Moti", "gemstone_colors": ["White", "Silver"], "favourable_days": ["Monday", "Sunday", "Friday"], "favourable_numbers": [2, 7, 1], "direction": "North-West", "auspicious_colours": ["White", "Silver", "Cream"], "deity": "Lord Shiva / Goddess Parvati", "fast_day": "Monday", "favourable_dates": ["2nd", "11th", "20th"], "mantra": "oṃ śrāṃ śrīṃ śrauṃ saḥ candrāya namaḥ", "yantra": "Chandra Yantra", "yantra_metal": "Silver", "yantra_day": "Monday", "auspicious_places": ["Mumbai", "Venice", "Amsterdam"], "strengths": ["Intuitive", "Diplomatic", "Empathetic"], "challenges": ["Indecisive", "Over-sensitive", "Dependent on others"], "health_prone": ["Digestion & acidity", "Chest / lungs", "Anxiety"], "health_care": ["Turmeric milk at night", "Meditation near water", "Avoid cold-damp"], "career_fields": ["Counselling", "Teaching", "Arts & Music"], "donations": ["Rice", "Milk", "White cloth"], "description": "Asha, your Destiny Number is 2, ruled by Moon. Calculated from your complete date of birth (1+8+1+0+1+9+9+0 = 29 → 2+9 = 11 → 1+1 = 2), this number reveals your life purpose and the talents you are here to develop.\n\nYour destiny calls you toward emotional wisdom, nurturing others, and developing deep intuitive insight that guides yourself and those around you. Your core strengths on this life path are: Intuitive, Diplomatic. You will prosper when you align your actions with your Destiny Number's energy."},
                        "name_number": {"number": 8, "calculation": "A(1)+S(3)+H(5)+A(1)+S(3)+H(5)+A(1)+R(2)+M(4)+A(1) = 26 → 2+6 = 8", "letter_values": [{"letter": "A", "value": 1}, {"letter": "S", "value": 3}, {"letter": "H", "value": 5}], "compound": 26, "ruling_planet": "Saturn", "favourable_signs": ["Capricorn", "Aquarius"], "favourable_alphabets": ["F", "P"], "gemstone": "Blue Sapphire", "gemstone_hindi_name": "Neelam", "gemstone_colors": ["Blue", "Dark Blue"], "favourable_days": ["Saturday", "Wednesday", "Friday"], "favourable_numbers": [8, 4, 1], "direction": "West", "auspicious_colours": ["Black", "Dark Blue", "Purple"], "deity": "Lord Shani / Lord Hanuman", "fast_day": "Saturday", "favourable_dates": ["8th", "17th", "26th"], "mantra": "oṃ prāṃ prīṃ prauṃ saḥ śanaiścarāya namaḥ", "yantra": "Shani Yantra", "yantra_metal": "Iron", "yantra_day": "Saturday", "auspicious_places": ["Mumbai", "London", "Zurich"], "strengths": ["Ambitious", "Disciplined", "Business acumen"], "challenges": ["Workaholic", "Materialistic", "Pessimistic"], "health_prone": ["Arthritis & joints", "Bones & teeth", "Chronic fatigue"], "health_care": ["Sesame oil massage on Saturday", "Regular check-ups"], "career_fields": ["Banking", "Real Estate", "Law"], "donations": ["Black sesame", "Iron", "Mustard oil"], "description": "Asha, your Name Number is 8 (computed via Chaldean numerology: A(1)+S(3)+H(5)+A(1)+S(3)+H(5)+A(1)+R(2)+M(4)+A(1) = 26 → 2+6 = 8). The Name Number describes the talents and attitudes at your disposal in this lifetime — it is the number that defines how you present yourself to the world.\n\nYour name vibration projects seriousness, reliability, and ambition. People see you as someone who carries weight and delivers on promises. Your name vibration is governed by Saturn. Aligning your name's energy with your Radical Number (Saturn) amplifies your overall potential."},
                        "lo_shu_grid": {"grid": [[{"number": 4, "count": 0}, {"number": 9, "count": 2}, {"number": 2, "count": 0}], [{"number": 3, "count": 0}, {"number": 5, "count": 0}, {"number": 7, "count": 0}], [{"number": 8, "count": 1}, {"number": 1, "count": 3}, {"number": 6, "count": 0}]], "present": [1, 8, 9], "absent": [2, 3, 4], "lines": [{"name": "Arrow of Intellect", "numbers": [4, 9, 2], "type": "row", "complete": false}, {"name": "Arrow of Spiritual Will", "numbers": [3, 5, 7], "type": "row", "complete": false}, {"name": "Arrow of Practicality", "numbers": [8, 1, 6], "type": "row", "complete": false}], "missing_analysis": [{"number": 2, "effect": "Sensitivity issues in relationships; trouble expressing emotions"}, {"number": 3, "effect": "Challenges with creative expression and communication"}, {"number": 4, "effect": "Lack of practical stability; difficulty in building routines"}], "present_analysis": [{"number": 1, "count": 3, "significance": "triple", "effect": "Exceptional leadership — guard against arrogance"}, {"number": 8, "count": 1, "significance": "single", "effect": "Practical business sense"}, {"number": 9, "count": 2, "significance": "double", "effect": "Very humanitarian and inspirational"}], "planes": {"mental": {"label": "Mental Plane", "numbers": [4, 9, 2], "present": [9], "missing": [4, 2], "strength": "weak", "description": "Intellect, memory, imagination"}, "emotional": {"label": "Emotional Plane", "numbers": [3, 5, 7], "present": [], "missing": [3, 5, 7], "strength": "weak", "description": "Feelings, intuition, spirituality"}, "practical": {"label": "Practical Plane", "numbers": [8, 1, 6], "present": [8, 1], "missing": [6], "strength": "moderate", "description": "Action, material affairs, stability"}, "thought": {"label": "Thought Plane", "numbers": [4, 3, 8], "present": [8], "missing": [4, 3], "strength": "weak", "description": "Planning and systematic thinking"}, "will": {"label": "Will Plane", "numbers": [9, 5, 1], "present": [9, 1], "missing": [5], "strength": "moderate", "description": "Determination and self-expression"}, "action": {"label": "Action Plane", "numbers": [2, 7, 6], "present": [], "missing": [2, 7, 6], "strength": "weak", "description": "Physical drive and productivity"}}},
                        "vedic_grid": {"grid": [[{"number": 3, "count": 0}, {"number": 1, "count": 3}, {"number": 9, "count": 2}], [{"number": 6, "count": 0}, {"number": 7, "count": 0}, {"number": 5, "count": 0}], [{"number": 2, "count": 0}, {"number": 8, "count": 1}, {"number": 4, "count": 0}]], "present": [1, 8, 9], "absent": [2, 3, 4], "lines": [{"name": "Row 1", "numbers": [3, 1, 9], "type": "row", "complete": false}, {"name": "Row 2", "numbers": [6, 7, 5], "type": "row", "complete": false}, {"name": "Row 3", "numbers": [2, 8, 4], "type": "row", "complete": false}], "missing_analysis": [{"number": 2, "effect": "Sensitivity issues in relationships; trouble expressing emotions"}, {"number": 3, "effect": "Challenges with creative expression and communication"}, {"number": 4, "effect": "Lack of practical stability; difficulty in building routines"}], "present_analysis": [{"number": 1, "count": 3, "significance": "triple", "effect": "Exceptional leadership — guard against arrogance"}, {"number": 8, "count": 1, "significance": "single", "effect": "Practical business sense"}, {"number": 9, "count": 2, "significance": "double", "effect": "Very humanitarian and inspirational"}]},
                        "kua_number": {"number": 8, "element": "Earth", "direction": "North-East", "group": "West", "color": "Yellow/Brown"},
                        "personal_cycles": {"as_of": "2026-10-14", "personal_year": 2, "personal_year_theme": "Cooperation", "personal_year_focus": ["Build partnerships", "Be patient", "Develop sensitivity"], "personal_month": 3, "personal_month_theme": "Expression", "personal_day": 8, "personal_day_theme": "Manifestation"},
                        "combination": {"compatibility": "Harmonious", "compatibility_level": "high", "combined_strengths": ["Courageous", "Creative", "Diplomatic"], "combined_challenges": ["Dependent on others", "Impulsive", "Indecisive"], "note": "Driver 9 (Mars) and Conductor 2 (Moon) have a harmonious relationship."},
                        "readings": {"planet_effects": "Mars's influence on Asha's life: Under Mars's influence you are courageous, energetic, and fiercely competitive. You never back down from a challenge and thrive under pressure. Take special care of the body areas governed by Mars, and make Tuesday your day for important beginnings.", "auspicious_time": "South is your most favourable direction, aligned with your Radical Number 9 and ruling planet Mars. Working, travelling, or positioning your workspace facing South will amplify your success. Cities and countries in this direction — especially Delhi, Israel, Rome — are particularly fortunate. Your most favourable days are Tuesday and Monday.", "planet_time": "Tuesday mornings during Mars's hora are ideal for bold actions, competitive activities, legal matters, and physical training.", "health": "Asha, as a Number 9 person ruled by Mars: Mars rules your blood, muscles, and adrenal glands. Fevers, accidents, and inflammation are your most likely health events — stay grounded. The specific health areas to watch are listed below, along with care tips tailored to your ruling planet.", "career": "Asha, Your Mars energy makes you outstanding in military, sports, surgery, and competitive environments. Physical courage is your professional signature. Your Radical Number 9 under Mars's guidance makes you most effective in the career fields listed below.", "fast": "Observe a fast on Tuesday in Shukla Paksha. Eat only red or saffron-coloured foods — masoor dal, red fruits — once a day. Offer red flowers, sindoor, and red cloth to Lord Hanuman. Chanting Hanuman Chalisa 11 times on fasting Tuesdays is very auspicious.", "yantra": "The Mangal Yantra should be energised on a Tuesday in Mars's hora, preferably in Copper. Chant the mantra oṃ krāṃ krīṃ krauṃ saḥ bhaumāya namaḥ 108 times during energisation.", "facts": "Numerology identifies Number 9 as the number of completion and universal service. The number 9 is unique — multiplied by any number, it always reduces back to 9, symbolising its all-encompassing, eternal nature. Dates 9, 18, and 27 are your power dates. Your karmic lesson is to channel your fierce Mars energy into compassion and humanitarian service."},
                        "remedies": ["Offer Masoor dal and Red cloth at a Lord Hanuman temple on Tuesdays", "Chant oṃ krāṃ krīṃ krauṃ saḥ bhaumāya namaḥ — 108 times every Tuesday", "Donate Masoor dal, Red cloth, Copper items, Sindoor on Tuesdays"]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/numerology/name-numerology": {
      "post": {
        "operationId": "name-numerology",
        "summary": "Name Numerology",
        "description": "Chaldean letter values with the Expression, Soul Urge and Personality numbers from a name, and alternative name spellings.",
        "tags": [
          "numerology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NameNumerologyInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "name": "Asha Sharma",
                "date_of_birth": "1990-10-18"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {"type": "string"},
                        "system": {"type": "string"},
                        "letter_values": {"type": "array", "items": {"type": "object", "properties": {"letter": {"type": "string"}, "value": {"type": "integer"}}, "required": ["letter", "value"]}},
                        "calculation": {"type": "string"},
                        "expression": {"type": "object", "properties": {"number": {"type": "integer"}, "compound": {"type": "integer"}, "chain": {"type": "string"}, "ruling_planet": {"type": "string"}, "signs": {"type": "array", "items": {"type": "string"}}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}}, "required": ["number", "compound", "chain", "ruling_planet", "signs", "strengths", "challenges"]},
                        "soul_urge": {"type": "object", "properties": {"number": {"type": "integer"}, "compound": {"type": "null"}, "chain": {"type": "string"}, "ruling_planet": {"type": "string"}, "signs": {"type": "array", "items": {"type": "string"}}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}}, "required": ["number", "compound", "chain", "ruling_planet", "signs", "strengths", "challenges"]},
                        "personality": {"type": "object", "properties": {"number": {"type": "integer"}, "compound": {"type": "null"}, "chain": {"type": "string"}, "ruling_planet": {"type": "string"}, "signs": {"type": "array", "items": {"type": "string"}}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}}, "required": ["number", "compound", "chain", "ruling_planet", "signs", "strengths", "challenges"]},
                        "name_suggestions": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "compound": {"type": "integer"}, "number": {"type": "integer"}, "ruling_planet": {"type": "string"}, "friendly_to_radical": {"type": "boolean"}}, "required": ["name", "compound", "number", "ruling_planet", "friendly_to_radical"]}}
                      },
                      "required": [
                        "name",
                        "system",
                        "letter_values",
                        "calculation",
                        "expression",
                        "soul_urge",
                        "personality",
                        "name_suggestions"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name": "Asha Sharma",
                        "system": "Chaldean",
                        "letter_values": [{"letter": "A", "value": 1}, {"letter": "S", "value": 3}, {"letter": "H", "value": 5}],
                        "calculation": "A(1)+S(3)+H(5)+A(1)+S(3)+H(5)+A(1)+R(2)+M(4)+A(1) = 26 → 2+6 = 8",
                        "expression": {"number": 8, "compound": 26, "chain": "26 → 2+6 = 8", "ruling_planet": "Saturn", "signs": ["Capricorn", "Aquarius"], "strengths": ["Ambitious", "Disciplined", "Business acumen"], "challenges": ["Workaholic", "Materialistic", "Pessimistic"]},
                        "soul_urge": {"number": 4, "compound": null, "chain": "4", "ruling_planet": "Rahu", "signs": ["Aquarius", "Capricorn"], "strengths": ["Hardworking", "Reliable", "Systematic"], "challenges": ["Rigid", "Pessimistic", "Resists change"]},
                        "personality": {"number": 4, "compound": null, "chain": "22 → 2+2 = 4", "ruling_planet": "Rahu", "signs": ["Aquarius", "Capricorn"], "strengths": ["Hardworking", "Reliable", "Systematic"], "challenges": ["Rigid", "Pessimistic", "Resists change"]},
                        "name_suggestions": [{"name": "Ashaah Sharma", "compound": 32, "number": 5, "ruling_planet": "Mercury", "friendly_to_radical": true}, {"name": "Ashana Sharma", "compound": 32, "number": 5, "ruling_planet": "Mercury", "friendly_to_radical": true}, {"name": "Ashaaa Sharma", "compound": 28, "number": 1, "ruling_planet": "Sun", "friendly_to_radical": true}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/numerology/day-number": {
      "post": {
        "operationId": "day-number",
        "summary": "Day Number",
        "description": "Moolank and Bhagyank of a date with their planets and traits, the compound number, and a lucky day, number and colour.",
        "tags": [
          "numerology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DayNumberInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "date": "1990-10-18"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "date": {"type": "string"},
                        "moolank": {"type": "object", "properties": {"number": {"type": "integer"}, "planet": {"type": "string"}, "traits": {"type": "string"}}, "required": ["number", "planet", "traits"]},
                        "bhagyank": {"type": "object", "properties": {"number": {"type": "integer"}, "planet": {"type": "string"}, "traits": {"type": "string"}}, "required": ["number", "planet", "traits"]},
                        "compound_number": {"type": "integer"},
                        "lucky_day": {"type": "string"},
                        "lucky_number": {"type": "integer"},
                        "lucky_colour": {"type": "string"}
                      },
                      "required": [
                        "date",
                        "moolank",
                        "bhagyank",
                        "compound_number",
                        "lucky_day",
                        "lucky_number",
                        "lucky_colour"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "date": "1990-10-18",
                        "moolank": {"number": 9, "planet": "Mars", "traits": "Courage, determination, leadership, energy"},
                        "bhagyank": {"number": 2, "planet": "Moon", "traits": "Sensitivity, intuition, cooperation, adaptability"},
                        "compound_number": 11,
                        "lucky_day": "Tuesday",
                        "lucky_number": 9,
                        "lucky_colour": "Red / Crimson"
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/numerology/biorhythm": {
      "post": {
        "operationId": "biorhythm",
        "summary": "Biorhythm",
        "description": "Physical, emotional and intellectual cycle values and phases for a date, a composite, a day-by-day series around it and the critical days.",
        "tags": [
          "numerology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BiorhythmInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "birth_date": "1990-10-18",
                "date": "2026-10-13",
                "window_days": 7
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "birth_date": {"type": "string"},
                        "date": {"type": "string"},
                        "days_since_birth": {"type": "integer"},
                        "cycles": {"type": "array", "items": {"type": "object", "properties": {"cycle": {"type": "string"}, "period_days": {"type": "integer"}, "value": {"type": "number"}, "percent": {"type": "number"}, "phase": {"type": "string"}, "about": {"type": "string"}, "phase_description": {"type": "string"}}, "required": ["cycle", "period_days", "value", "percent", "phase", "about", "phase_description"]}},
                        "composite": {"type": "object", "properties": {"value": {"type": "number"}, "percent": {"type": "number"}, "phase": {"type": "string"}, "description": {"type": "string"}}, "required": ["value", "percent", "phase", "description"]},
                        "series": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "physical": {"type": "number"}, "emotional": {"type": "number"}, "intellectual": {"type": "number"}, "intuitive": {"type": "number"}}, "required": ["date", "physical", "emotional", "intellectual", "intuitive"]}},
                        "critical_days": {"type": "array", "items": {"type": "string"}}
                      },
                      "required": [
                        "birth_date",
                        "date",
                        "days_since_birth",
                        "cycles",
                        "composite",
                        "series",
                        "critical_days"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "birth_date": "1990-10-18",
                        "date": "2026-10-13",
                        "days_since_birth": 13144,
                        "cycles": [{"cycle": "physical", "period_days": 23, "value": 0.1362, "percent": 56.8, "phase": "Positive", "about": "Controls your physical strength, endurance, coordination, and overall bodily energy.", "phase_description": "Moderate positive phase. Slightly above baseline."}, {"cycle": "emotional", "period_days": 28, "value": 0.4339, "percent": 71.7, "phase": "Positive", "about": "Governs feelings, creativity, emotional sensitivity, mood, and interpersonal relationships.", "phase_description": "Moderate positive phase. Slightly above baseline."}, {"cycle": "intellectual", "period_days": 33, "value": 0.945, "percent": 97.3, "phase": "Peak", "about": "Reflects thinking ability, memory, analytical skills, and problem-solving capacity.", "phase_description": "Excellent conditions. You are at peak performance in this domain."}],
                        "composite": {"value": 0.2252, "percent": 61.3, "phase": "Positive", "description": "Moderate positive phase. Slightly above baseline."},
                        "series": [{"date": "2026-10-06", "physical": 0.8879, "emotional": 0.901, "intellectual": 0.5406, "intuitive": -0.9694}, {"date": "2026-10-07", "physical": 0.9791, "emotional": 0.9749, "intellectual": 0.6901, "intuitive": -0.9966}, {"date": "2026-10-08", "physical": 0.9977, "emotional": 1.0, "intellectual": 0.8146, "intuitive": -0.9966}],
                        "critical_days": ["2026-10-14", "2026-10-16", "2026-10-18"]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/remedies/gem-details": {
      "post": {
        "operationId": "gem-details",
        "summary": "Gemstone Details",
        "description": "The gemstone for one planet or sign: its planet and deity, colour, substitutes, metal, finger, day, weight, benefits, cautions and mantra.",
        "tags": [
          "remedies"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GemInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "planet": "Jupiter"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "lookup": {"type": "object", "properties": {"planet": {"type": "string"}}, "required": ["planet"]},
                        "planet": {"type": "string"},
                        "planet_deity": {"type": "string"},
                        "gemstone": {"type": "string"},
                        "sanskrit_name": {"type": "string"},
                        "color": {"type": "string"},
                        "secondary_gems": {"type": "array", "items": {"type": "string"}},
                        "metal": {"type": "string"},
                        "finger": {"type": "string"},
                        "day": {"type": "string"},
                        "weight": {"type": "string"},
                        "nakshatras": {"type": "array", "items": {"type": "string"}},
                        "signs": {"type": "array", "items": {"type": "string"}},
                        "houses": {"type": "array", "items": {"type": "integer"}},
                        "benefits": {"type": "array", "items": {"type": "string"}},
                        "cautions": {"type": "array", "items": {"type": "string"}},
                        "mantra": {"type": "string"},
                        "mantra_repetitions": {"type": "integer"},
                        "puja_day": {"type": "string"},
                        "quality_indicators": {"type": "array", "items": {"type": "string"}},
                        "how_to_activate": {"type": "string"}
                      },
                      "required": [
                        "lookup",
                        "planet",
                        "planet_deity",
                        "gemstone",
                        "sanskrit_name",
                        "color",
                        "secondary_gems",
                        "metal",
                        "finger",
                        "day",
                        "weight",
                        "nakshatras",
                        "signs",
                        "houses",
                        "benefits",
                        "cautions",
                        "mantra",
                        "mantra_repetitions",
                        "puja_day",
                        "quality_indicators",
                        "how_to_activate"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "lookup": {"planet": "Jupiter"},
                        "planet": "Jupiter",
                        "planet_deity": "Brihaspati (Jupiter)",
                        "gemstone": "Yellow Sapphire",
                        "sanskrit_name": "Pukhraj",
                        "color": "Yellow / Golden Yellow",
                        "secondary_gems": ["Citrine", "Yellow Topaz", "Heliodor"],
                        "metal": "Gold",
                        "finger": "Index finger (right hand)",
                        "day": "Thursday",
                        "weight": "3–5 carats",
                        "nakshatras": ["Punarvasu", "Vishakha", "Purva Bhadrapada"],
                        "signs": ["Sagittarius", "Pisces"],
                        "houses": [1, 5, 9],
                        "benefits": ["Brings wisdom, spiritual growth and higher education success.", "Promotes wealth, prosperity and financial stability.", "Enhances married life and relationships."],
                        "cautions": ["Generally considered safe and beneficial for most ascendants.", "Avoid for Taurus and Libra ascendants without consultation."],
                        "mantra": "Om Graam Greem Graum Sah Guruve Namah",
                        "mantra_repetitions": 16000,
                        "puja_day": "Thursday",
                        "quality_indicators": ["Rich, bright yellow colour — canary yellow is most prized.", "High clarity with minimal inclusions.", "Natural untreated stone preferred."],
                        "how_to_activate": "Purify in raw milk, Ganga water, and turmeric water for 20 minutes. Wear on Thursday morning during Hora of Jupiter. Recite the Jupiter mantra 108 times."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/remedies/gem-details-all": {
      "post": {
        "operationId": "gem-details-all",
        "summary": "Gemstone Catalogue",
        "description": "Every planet's gemstone entry with substitutes, metal, finger, day, weight, nakshatras, signs, houses and benefits.",
        "tags": [
          "remedies"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GemCatalogueInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "planets": [
                  "Sun",
                  "Moon"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "gemstones": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "planet_deity": {"type": "string"}, "gemstone": {"type": "string"}, "sanskrit_name": {"type": "string"}, "color": {"type": "string"}, "secondary_gems": {"type": "array", "items": {"type": "string"}}, "metal": {"type": "string"}, "finger": {"type": "string"}, "day": {"type": "string"}, "weight": {"type": "string"}, "nakshatras": {"type": "array", "items": {"type": "string"}}, "signs": {"type": "array", "items": {"type": "string"}}, "houses": {"type": "array", "items": {"type": "integer"}}, "benefits": {"type": "array", "items": {"type": "string"}}, "cautions": {"type": "array", "items": {"type": "string"}}, "mantra": {"type": "string"}, "mantra_repetitions": {"type": "integer"}, "puja_day": {"type": "string"}, "quality_indicators": {"type": "array", "items": {"type": "string"}}, "how_to_activate": {"type": "string"}}, "required": ["planet", "planet_deity", "gemstone", "sanskrit_name", "color", "secondary_gems", "metal", "finger", "day", "weight", "nakshatras", "signs", "houses", "benefits", "cautions", "mantra", "mantra_repetitions", "puja_day", "quality_indicators", "how_to_activate"]}}
                      },
                      "required": [
                        "gemstones"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "gemstones": [{"planet": "Sun", "planet_deity": "Surya (Sun God)", "gemstone": "Ruby", "sanskrit_name": "Manikya", "color": "Red / Deep Pink", "secondary_gems": ["Red Garnet", "Red Spinel", "Red Tourmaline"], "metal": "Gold", "finger": "Ring finger (right hand)", "day": "Sunday", "weight": "3–5 carats minimum", "nakshatras": ["Krittika", "Uttara Phalguni", "Uttara Ashadha"], "signs": ["Leo"], "houses": [1, 5, 9], "benefits": ["Strengthens authority, leadership and self-confidence.", "Boosts vitality, physical health and immune system.", "Enhances career success in government and administrative roles."], "cautions": ["Avoid if Sun is weak or debilitated without proper consultation.", "People with Pitta constitution should use with care.", "Should not be worn with Blue Sapphire or Hessonite simultaneously."], "mantra": "Om Hraam Hreem Hraum Sah Suryaya Namah", "mantra_repetitions": 6000, "puja_day": "Sunday", "quality_indicators": ["Clear, deep red colour with no inclusions.", "Strong fluorescence under UV light.", "Good transparency and lustre."], "how_to_activate": "Purify in raw milk, Ganga water, and honey for 20–30 minutes. Wear on a Sunday morning during Hora of Sun. Recite the Sun mantra 108 times before wearing."}, {"planet": "Moon", "planet_deity": "Chandra (Moon God)", "gemstone": "Pearl", "sanskrit_name": "Moti", "color": "White / Cream / Silver", "secondary_gems": ["Moonstone", "White Coral", "White Topaz"], "metal": "Silver", "finger": "Little finger (right hand)", "day": "Monday", "weight": "2–4 carats minimum", "nakshatras": ["Rohini", "Hasta", "Shravana"], "signs": ["Cancer"], "houses": [1, 4, 7], "benefits": ["Calms the mind and relieves emotional instability.", "Enhances intuition, empathy and imaginative ability.", "Supports maternal health and mother–child bonding."], "cautions": ["Not recommended if Moon is severely afflicted by Rahu or Ketu.", "People prone to excess water retention should use cautiously."], "mantra": "Om Shraam Shreem Shraum Sah Chandraya Namah", "mantra_repetitions": 10000, "puja_day": "Monday", "quality_indicators": ["Natural pearl (not cultured) preferred.", "Smooth, lustrous surface with orient (iridescence).", "Even round shape with no discolouration."], "how_to_activate": "Purify in raw milk and rose water for 20 minutes. Wear on Monday morning during Hora of Moon. Recite the Moon mantra 108 times."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/remedies/rudraksha": {
      "post": {
        "operationId": "rudraksha",
        "summary": "Rudraksha Recommendation",
        "description": "Rudraksha suggestions from any of lagna, Moon and Sun signs, dasha lord, birth date and weak planets: the primary mukhi and each recommendation with reasons.",
        "tags": [
          "remedies"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RudrakshaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "lagna_sign": "Capricorn",
                "moon_sign": "Virgo",
                "sun_sign": "Libra",
                "dasha_lord": "Jupiter",
                "birth_date": "1990-10-18",
                "weak_planets": [
                  "Mars"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "primary_mukhi": {"type": "integer"},
                        "recommendations": {"type": "array", "items": {"type": "object", "properties": {"mukhi": {"type": "integer"}, "name": {"type": "string"}, "planet": {"type": "string"}, "deity": {"type": "string"}, "mantra": {"type": "string"}, "wearing_day": {"type": "string"}, "metal": {"type": "string"}, "color": {"type": "string"}, "rarity": {"type": "string"}, "benefits": {"type": "array", "items": {"type": "string"}}, "who_should_wear": {"type": "string"}, "caution": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["mukhi", "name", "planet", "deity", "mantra", "wearing_day", "metal", "color", "rarity", "benefits", "who_should_wear", "caution", "reasons"]}}
                      },
                      "required": [
                        "primary_mukhi",
                        "recommendations"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "primary_mukhi": 3,
                        "recommendations": [{"mukhi": 3, "name": "Teen Mukhi (3 Face)", "planet": "Mars", "deity": "Agni (Fire God) and Lord Brahma", "mantra": "Om Kleem Namah", "wearing_day": "Tuesday", "metal": "Gold or Copper", "color": "Brown", "rarity": "Common", "benefits": ["Liberates from the karmic cycle and past life burdens.", "Enhances energy, courage, ambition, and self-confidence.", "Alleviates depression, inferiority complex, and self-doubt."], "who_should_wear": "Suitable for Aries/Scorpio ascendant, weak Mars, or those suffering from Mars-related issues.", "caution": "Avoid if extremely aggressive; the bead further increases Mars energy.", "reasons": ["Mars is weak or afflicted in the chart", "Numerological Moolank is 9 (planet: Mars)"]}, {"mukhi": 4, "name": "Chaar Mukhi (4 Face)", "planet": "Mercury", "deity": "Lord Brahma and Goddess Saraswati", "mantra": "Om Hreem Namah", "wearing_day": "Wednesday", "metal": "Gold", "color": "Brown", "rarity": "Common", "benefits": ["Enhances intellect, memory, wit, communication skills, and creativity.", "Removes dullness of mind and improves concentration.", "Beneficial for students, writers, teachers, and public speakers."], "who_should_wear": "Suitable for Gemini/Virgo ascendant, weak Mercury, or those in communication-related professions.", "caution": "Keep clean and energised regularly for best results.", "reasons": ["Moon sign lord is Mercury (Moon in Virgo)"]}, {"mukhi": 5, "name": "Paanch Mukhi (5 Face)", "planet": "Jupiter", "deity": "Kalagni (Lord of Time and Fire) / Panchaanana Shiva", "mantra": "Om Hreem Namah", "wearing_day": "Thursday", "metal": "Gold", "color": "Brown", "rarity": "Very Common", "benefits": ["Most versatile and universally beneficial Rudraksha.", "Promotes health, peace, wisdom, knowledge, and prosperity.", "Purifies the blood and regulates blood pressure."], "who_should_wear": "Universal — suitable for everyone. Especially beneficial for Sagittarius/Pisces ascendant or those with weak Jupiter.", "caution": "The most commonly worn and easiest to find authentic specimens.", "reasons": ["Current Vimshottari Dasha lord is Jupiter", "5 Mukhi Rudraksha is universally beneficial for all — governs Jupiter and overall wellbeing."]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/remedies/nakshatra-vastu": {
      "post": {
        "operationId": "nakshatra-vastu",
        "summary": "Nakshatra Vastu",
        "description": "Vastu guidance for a birth nakshatra (by name or number): door, sleep, work and cooking directions, colours, numbers, metal, zones and tips.",
        "tags": [
          "remedies"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NakshatraVastuInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "nakshatra": "Chitra"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "number": {"type": "integer"},
                        "nakshatra": {"type": "string"},
                        "lord": {"type": "string"},
                        "deity": {"type": "string"},
                        "nature": {"type": "string"},
                        "energy": {"type": "string"},
                        "vastu": {"type": "object", "properties": {"door_direction": {"type": "string"}, "sleep_direction": {"type": "string"}, "work_direction": {"type": "string"}, "cook_direction": {"type": "string"}, "favorable_colors": {"type": "array", "items": {"type": "string"}}, "unfavorable_colors": {"type": "array", "items": {"type": "string"}}, "favorable_numbers": {"type": "array", "items": {"type": "integer"}}, "lucky_metal": {"type": "string"}, "zones": {"type": "object", "properties": {"health": {"type": "string"}, "wealth": {"type": "string"}, "relationships": {"type": "string"}, "career": {"type": "string"}}, "required": ["health", "wealth", "relationships", "career"]}, "tips": {"type": "array", "items": {"type": "string"}}}, "required": ["door_direction", "sleep_direction", "work_direction", "cook_direction", "favorable_colors", "unfavorable_colors", "favorable_numbers", "lucky_metal", "zones", "tips"]}
                      },
                      "required": [
                        "number",
                        "nakshatra",
                        "lord",
                        "deity",
                        "nature",
                        "energy",
                        "vastu"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "number": 14,
                        "nakshatra": "Chitra",
                        "lord": "Mars",
                        "deity": "Vishvakarma (Divine Architect)",
                        "nature": "mridu",
                        "energy": "Artistic & Precise",
                        "vastu": {"door_direction": "West", "sleep_direction": "South", "work_direction": "South", "cook_direction": "South-East", "favorable_colors": ["Bright Red", "Black", "Multicolor"], "unfavorable_colors": ["Pale tones"], "favorable_numbers": [9, 6], "lucky_metal": "Copper", "zones": {"health": "South", "wealth": "West", "relationships": "South-West", "career": "West"}, "tips": ["West entrance for Chitra brings artistic and architectural energy.", "Decorate walls with artwork and vibrant colours — Chitra thrives on aesthetics.", "Home design should be precise and geometrically balanced."]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/remedies/nakshatra-vastu-all": {
      "post": {
        "operationId": "nakshatra-vastu-all",
        "summary": "Nakshatra Vastu Catalogue",
        "description": "The nakshatra Vastu guidance for all 27 nakshatras.",
        "tags": [
          "remedies"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NakshatraVastuCatalogueInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "nakshatras": [
                  "Ashwini",
                  "Chitra"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "nakshatras": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "nakshatra": {"type": "string"}, "lord": {"type": "string"}, "deity": {"type": "string"}, "nature": {"type": "string"}, "energy": {"type": "string"}, "vastu": {"type": "object", "properties": {"door_direction": {"type": "string"}, "sleep_direction": {"type": "string"}, "work_direction": {"type": "string"}, "cook_direction": {"type": "string"}, "favorable_colors": {"type": "array", "items": {"type": "string"}}, "unfavorable_colors": {"type": "array", "items": {"type": "string"}}, "favorable_numbers": {"type": "array", "items": {"type": "integer"}}, "lucky_metal": {"type": "string"}, "zones": {"type": "object", "properties": {"health": {"type": "string"}, "wealth": {"type": "string"}, "relationships": {"type": "string"}, "career": {"type": "string"}}, "required": ["health", "wealth", "relationships", "career"]}, "tips": {"type": "array", "items": {"type": "string"}}}, "required": ["door_direction", "sleep_direction", "work_direction", "cook_direction", "favorable_colors", "unfavorable_colors", "favorable_numbers", "lucky_metal", "zones", "tips"]}}, "required": ["number", "nakshatra", "lord", "deity", "nature", "energy", "vastu"]}}
                      },
                      "required": [
                        "nakshatras"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "nakshatras": [{"number": 1, "nakshatra": "Ashwini", "lord": "Ketu", "deity": "Ashwini Kumaras", "nature": "laghu", "energy": "Active & Healing", "vastu": {"door_direction": "East", "sleep_direction": "South", "work_direction": "North", "cook_direction": "South-East", "favorable_colors": ["White", "Red"], "unfavorable_colors": ["Black"], "favorable_numbers": [1, 9], "lucky_metal": "Iron", "zones": {"health": "North-East", "wealth": "North", "relationships": "South-West", "career": "North"}, "tips": ["Main entrance facing East brings fresh energy and good health.", "Keep the East zone of the house clean and open for Ashwini energy.", "Avoid clutter in the North-East; it blocks healing vibrations."]}}, {"number": 14, "nakshatra": "Chitra", "lord": "Mars", "deity": "Vishvakarma (Divine Architect)", "nature": "mridu", "energy": "Artistic & Precise", "vastu": {"door_direction": "West", "sleep_direction": "South", "work_direction": "South", "cook_direction": "South-East", "favorable_colors": ["Bright Red", "Black", "Multicolor"], "unfavorable_colors": ["Pale tones"], "favorable_numbers": [9, 6], "lucky_metal": "Copper", "zones": {"health": "South", "wealth": "West", "relationships": "South-West", "career": "West"}, "tips": ["West entrance for Chitra brings artistic and architectural energy.", "Decorate walls with artwork and vibrant colours — Chitra thrives on aesthetics.", "Home design should be precise and geometrically balanced."]}}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/remedies/panch-pakshi": {
      "post": {
        "operationId": "panch-pakshi",
        "summary": "Panch Pakshi",
        "description": "Panch Pakshi for a day at a place: the ruling and dying bird with each yama for day and night, and the bird and activity at the given moment.",
        "tags": [
          "remedies"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PanchPakshiInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T10:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "panchang_day": {"type": "string"},
                        "weekday": {"type": "string"},
                        "paksha": {"type": "string"},
                        "utc_offset": {"type": "string"},
                        "sunrise": {"type": "string"},
                        "sunset": {"type": "string"},
                        "next_sunrise": {"type": "string"},
                        "at_moment": {"type": "object", "properties": {"datetime": {"type": "string"}, "period": {"type": "string"}, "yama_number": {"type": "integer"}, "yama_bird": {"type": "string"}, "yama_activity": {"type": "string"}, "sub_period": {"type": "object", "properties": {"bird": {"type": "string"}, "activity": {"type": "string"}, "relationship_to_yama_bird": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["bird", "activity", "relationship_to_yama_bird", "start", "end"]}}, "required": ["datetime", "period", "yama_number", "yama_bird", "yama_activity", "sub_period"]},
                        "day": {"type": "object", "properties": {"ruling_bird": {"type": "string"}, "dying_bird": {"type": "string"}, "yamas": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "bird": {"type": "string"}, "activity": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "sub_periods": {"type": "array", "items": {"type": "object", "properties": {"bird": {"type": "string"}, "activity": {"type": "string"}, "relationship_to_yama_bird": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["bird", "activity", "relationship_to_yama_bird", "start", "end"]}}}, "required": ["number", "bird", "activity", "start", "end", "sub_periods"]}}}, "required": ["ruling_bird", "dying_bird", "yamas"]},
                        "night": {"type": "object", "properties": {"ruling_bird": {"type": "string"}, "dying_bird": {"type": "string"}, "yamas": {"type": "array", "items": {"type": "object", "properties": {"number": {"type": "integer"}, "bird": {"type": "string"}, "activity": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "sub_periods": {"type": "array", "items": {"type": "object", "properties": {"bird": {"type": "string"}, "activity": {"type": "string"}, "relationship_to_yama_bird": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["bird", "activity", "relationship_to_yama_bird", "start", "end"]}}}, "required": ["number", "bird", "activity", "start", "end", "sub_periods"]}}}, "required": ["ruling_bird", "dying_bird", "yamas"]}
                      },
                      "required": [
                        "panchang_day",
                        "weekday",
                        "paksha",
                        "utc_offset",
                        "sunrise",
                        "sunset",
                        "next_sunrise",
                        "at_moment",
                        "day",
                        "night"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "panchang_day": "2026-10-13",
                        "weekday": "Tuesday",
                        "paksha": "shukla",
                        "utc_offset": "+05:30",
                        "sunrise": "2026-10-13T06:21:00",
                        "sunset": "2026-10-13T17:54:06",
                        "next_sunrise": "2026-10-14T06:21:36",
                        "at_moment": {"datetime": "2026-10-13T10:00:00", "period": "day", "yama_number": 2, "yama_bird": "Vulture", "yama_activity": "Walking", "sub_period": {"bird": "Peacock", "activity": "Eating", "relationship_to_yama_bird": "Enemy", "start": "2026-10-13T09:53:33", "end": "2026-10-13T10:30:30"}},
                        "day": {"ruling_bird": "Crow", "dying_bird": "Owl", "yamas": [{"number": 1, "bird": "Peacock", "activity": "Eating", "start": "2026-10-13T06:21:00", "end": "2026-10-13T08:39:37", "sub_periods": [{"bird": "Peacock", "activity": "Eating", "relationship_to_yama_bird": "Self", "start": "2026-10-13T06:21:00", "end": "2026-10-13T06:57:57"}, {"bird": "Crow", "activity": "Ruling", "relationship_to_yama_bird": "Friend", "start": "2026-10-13T06:57:57", "end": "2026-10-13T07:44:10"}, {"bird": "Vulture", "activity": "Walking", "relationship_to_yama_bird": "Enemy", "start": "2026-10-13T07:44:10", "end": "2026-10-13T08:11:53"}]}, {"number": 2, "bird": "Vulture", "activity": "Walking", "start": "2026-10-13T08:39:37", "end": "2026-10-13T10:58:14", "sub_periods": [{"bird": "Vulture", "activity": "Walking", "relationship_to_yama_bird": "Self", "start": "2026-10-13T08:39:37", "end": "2026-10-13T09:07:20"}, {"bird": "Crow", "activity": "Ruling", "relationship_to_yama_bird": "Enemy", "start": "2026-10-13T09:07:20", "end": "2026-10-13T09:53:33"}, {"bird": "Peacock", "activity": "Eating", "relationship_to_yama_bird": "Enemy", "start": "2026-10-13T09:53:33", "end": "2026-10-13T10:30:30"}]}, {"number": 3, "bird": "Owl", "activity": "Dying", "start": "2026-10-13T10:58:14", "end": "2026-10-13T13:16:51", "sub_periods": [{"bird": "Owl", "activity": "Dying", "relationship_to_yama_bird": "Self", "start": "2026-10-13T10:58:14", "end": "2026-10-13T11:07:28"}, {"bird": "Crow", "activity": "Ruling", "relationship_to_yama_bird": "Friend", "start": "2026-10-13T11:07:28", "end": "2026-10-13T11:53:41"}, {"bird": "Peacock", "activity": "Eating", "relationship_to_yama_bird": "Enemy", "start": "2026-10-13T11:53:41", "end": "2026-10-13T12:30:39"}]}]},
                        "night": {"ruling_bird": "Peacock", "dying_bird": "Cock", "yamas": [{"number": 1, "bird": "Owl", "activity": "Eating", "start": "2026-10-13T17:54:06", "end": "2026-10-13T20:23:36", "sub_periods": [{"bird": "Owl", "activity": "Eating", "relationship_to_yama_bird": "Self", "start": "2026-10-13T17:54:06", "end": "2026-10-13T18:33:58"}, {"bird": "Peacock", "activity": "Ruling", "relationship_to_yama_bird": "Enemy", "start": "2026-10-13T18:33:58", "end": "2026-10-13T19:23:48"}, {"bird": "Crow", "activity": "Walking", "relationship_to_yama_bird": "Friend", "start": "2026-10-13T19:23:48", "end": "2026-10-13T19:53:42"}]}, {"number": 2, "bird": "Crow", "activity": "Walking", "start": "2026-10-13T20:23:36", "end": "2026-10-13T22:53:06", "sub_periods": [{"bird": "Crow", "activity": "Walking", "relationship_to_yama_bird": "Self", "start": "2026-10-13T20:23:36", "end": "2026-10-13T20:53:30"}, {"bird": "Peacock", "activity": "Ruling", "relationship_to_yama_bird": "Neutral", "start": "2026-10-13T20:53:30", "end": "2026-10-13T21:43:20"}, {"bird": "Owl", "activity": "Eating", "relationship_to_yama_bird": "Friend", "start": "2026-10-13T21:43:20", "end": "2026-10-13T22:23:12"}]}, {"number": 3, "bird": "Cock", "activity": "Dying", "start": "2026-10-13T22:53:06", "end": "2026-10-14T01:22:36", "sub_periods": [{"bird": "Cock", "activity": "Dying", "relationship_to_yama_bird": "Self", "start": "2026-10-13T22:53:06", "end": "2026-10-13T23:03:04"}, {"bird": "Peacock", "activity": "Ruling", "relationship_to_yama_bird": "Enemy", "start": "2026-10-13T23:03:04", "end": "2026-10-13T23:52:54"}, {"bird": "Owl", "activity": "Eating", "relationship_to_yama_bird": "Neutral", "start": "2026-10-13T23:52:54", "end": "2026-10-14T00:32:46"}]}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-marriage": {
      "post": {
        "operationId": "report-marriage",
        "summary": "Marriage & Married Life Report",
        "description": "In-depth marriage & married life reading: an overview score, scored sections with the chart evidence behind each, timing windows, remedies, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "measured_layers": {"type": "array", "items": {"type": "string"}}, "stars": {"type": "integer"}, "strongest_factors": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "main_challenges": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["score", "band", "band_label", "band_note", "measured_layers", "stars", "strongest_factors", "main_challenges"]},
                        "seventh_house": {"type": "object", "properties": {"sign_no": {"type": "integer"}, "sign": {"type": "string"}, "occupants": {"type": "array", "items": {"type": "string"}}, "aspecting": {"type": "array", "items": {"type": "string"}}, "balance": {"type": "object", "properties": {"benefics": {"type": "array", "items": {"type": "string"}}, "malefics": {"type": "array", "items": {"type": "string"}}, "net": {"type": "number"}, "mixed": {"type": "boolean"}}, "required": ["benefics", "malefics", "net", "mixed"]}, "house_score": {"type": "number"}, "lord": {"type": "object", "properties": {"planet": {"type": "string"}, "house": {"type": "integer"}, "dignity": {"type": "string"}, "combust": {"type": "boolean"}, "retrograde": {"type": "boolean"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["planet", "house", "dignity", "combust", "retrograde", "score", "unmeasured"]}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}, "net_tilt": {"type": "number"}, "conflicting": {"type": "boolean"}}, "required": ["sign_no", "sign", "occupants", "aspecting", "balance", "house_score", "lord", "score", "band", "band_label", "evidence", "factor_count", "net_tilt", "conflicting"]},
                        "upapada": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "ul_sign_no": {"type": "integer"}, "ul_sign": {"type": "string"}, "ul_house": {"type": "integer"}, "ul_lord": {"type": "string"}, "ul_lord_house": {"type": "integer"}, "ul_lord_dignity": {"type": "string"}, "occupants": {"type": "array"}, "aspecting": {"type": "array", "items": {"type": "string"}}, "second_from_ul": {"type": "object", "properties": {"house": {"type": "integer"}, "lord": {"type": "string"}, "lord_house": {"type": "integer"}, "occupants": {"type": "array"}, "afflicted": {"type": "boolean"}}, "required": ["house", "lord", "lord_house", "occupants", "afflicted"]}, "score": {"type": "number"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}, "net_tilt": {"type": "number"}}, "required": ["unmeasured", "ul_sign_no", "ul_sign", "ul_house", "ul_lord", "ul_lord_house", "ul_lord_dignity", "occupants", "aspecting", "second_from_ul", "score", "evidence", "factor_count", "net_tilt"]},
                        "spouse": {"type": "object", "properties": {"personality": {"type": "object", "properties": {"traits": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "seventh_sign_no": {"type": "integer"}, "seventh_sign": {"type": "string"}, "darakaraka": {"type": "string"}, "lead_karaka": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["traits", "statement", "seventh_sign_no", "seventh_sign", "darakaraka", "lead_karaka", "evidence", "factor_count"]}, "background": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "reason": {"type": "string"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "reason", "factor_count"]}}, "required": ["personality", "background"]},
                        "union_type": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}, "love_score": {"type": "number"}, "arranged_score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}, "strength": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "statement", "love_score", "arranged_score", "reasons", "strength", "evidence", "factor_count"]},
                        "meeting": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "contexts": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "contexts", "statement", "evidence", "factor_count"]},
                        "distance": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "verdict": {"type": "string"}, "label": {"type": "string"}, "near_score": {"type": "number"}, "far_score": {"type": "number"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "verdict", "label", "near_score", "far_score", "statement", "evidence", "factor_count"]},
                        "spouse_career": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "reason": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "reason", "statement", "evidence", "factor_count"]},
                        "in_laws": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "reason": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "reason", "statement", "evidence", "factor_count"]},
                        "timing": {"type": "object", "properties": {"windows": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "reasons", "independent_factors", "strength"]}}, "unmeasured": {"type": "boolean"}, "reason": {"type": "null"}, "note": {"type": "string"}}, "required": ["windows", "unmeasured", "reason", "note"]},
                        "delay": {"type": "object", "properties": {"delayed": {"type": "boolean"}, "strength": {"type": "string"}, "statement": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["delayed", "strength", "statement", "reasons", "factor_count", "evidence"]},
                        "quality": {"type": "object", "properties": {"scores": {"type": "object", "properties": {"emotional_compatibility": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "communication": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "trust": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "romance": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "stability": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "family_harmony": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "financial_cooperation": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}, "long_term_compatibility": {"type": "object", "properties": {"score": {"type": "number"}, "label": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}, "band": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["score", "label", "significators", "band", "band_label"]}}, "required": ["emotional_compatibility", "communication", "trust", "romance", "stability", "family_harmony", "financial_cooperation", "long_term_compatibility"]}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["scores", "strongest", "weakest", "score", "band", "band_label", "evidence", "factor_count"]},
                        "stability": {"type": "object", "properties": {"measured_layers": {"type": "array", "items": {"type": "string"}}, "unmeasured_layers": {"type": "array", "items": {"type": "string"}}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}}, "required": ["measured_layers", "unmeasured_layers", "score", "band", "band_label", "band_note"]},
                        "challenges": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "statement": {"type": "string"}, "challenges": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "statement", "challenges", "factor_count"]},
                        "emotional": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "statement": {"type": "string"}, "advice": {"type": "array", "items": {"type": "string"}}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "statement", "advice", "evidence", "factor_count"]},
                        "children": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "statement": {"type": "string"}, "guidance": {"type": "array", "items": {"type": "string"}}, "d7_used": {"type": "boolean"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}, "denial_claimed": {"type": "boolean"}}, "required": ["score", "band", "band_label", "band_note", "statement", "guidance", "d7_used", "evidence", "factor_count", "denial_claimed"]},
                        "mangal_dosha": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "present": {"type": "boolean"}, "severity": {"type": "string"}, "severity_label": {"type": "string"}, "statement": {"type": "string"}, "references": {"type": "array"}, "cancellations": {"type": "array"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["unmeasured", "present", "severity", "severity_label", "statement", "references", "cancellations", "evidence", "factor_count"]},
                        "navamsa": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "score": {"type": "number"}, "d1_score": {"type": "number"}, "delta": {"type": "number"}, "verdict": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["unmeasured", "score", "d1_score", "delta", "verdict", "statement", "evidence", "factor_count"]},
                        "relocation": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "strength": {"type": "string"}, "move_score": {"type": "number"}, "stay_score": {"type": "number"}, "foreign_score": {"type": "number"}, "reasons": {"type": "array"}, "timing": {"type": "object", "properties": {"known": {"type": "boolean"}, "window": {"type": "object", "properties": {"from": {"type": "string"}, "to": {"type": "string"}}, "required": ["from", "to"]}, "text": {"type": "string"}}, "required": ["known", "window", "text"]}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "strength", "move_score", "stay_score", "foreign_score", "reasons", "timing", "statement", "evidence", "factor_count"]},
                        "remedies": {"type": "object", "properties": {"traditional": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "why": {"type": "string"}, "practice": {"type": "string"}, "reason": {"type": "string"}}, "required": ["planet", "why", "practice", "reason"]}}, "practical": {"type": "array", "items": {"type": "string"}}, "note": {"type": "string"}, "count": {"type": "integer"}}, "required": ["traditional", "practical", "note", "count"]},
                        "summary": {"type": "object", "properties": {"outlook": {"type": "string"}, "stars": {"type": "integer"}, "timing": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "reasons", "independent_factors", "strength"]}, "timing_statement": {"type": "string"}, "union_type": {"type": "string"}, "married_life": {"type": "string"}, "stability": {"type": "string"}, "delay": {"type": "string"}, "mangal": {"type": "string"}, "strengths": {"type": "array", "items": {"type": "string"}}, "watch": {"type": "array", "items": {"type": "string"}}, "emotional": {"type": "string"}, "children": {"type": "string"}, "navamsa": {"type": "string"}, "relocation": {"type": "object", "properties": {"likelihood": {"type": "string"}, "direction": {"type": "string"}, "reason": {"type": "array", "items": {"type": "string"}}, "timing": {"type": "string"}}, "required": ["likelihood", "direction", "reason", "timing"]}}, "required": ["outlook", "stars", "timing", "timing_statement", "union_type", "married_life", "stability", "delay", "mangal", "strengths", "watch", "emotional", "children", "navamsa", "relocation"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "overview",
                        "seventh_house",
                        "upapada",
                        "spouse",
                        "union_type",
                        "meeting",
                        "distance",
                        "spouse_career",
                        "in_laws",
                        "timing",
                        "delay",
                        "quality",
                        "stability",
                        "challenges",
                        "emotional",
                        "children",
                        "mangal_dosha",
                        "navamsa",
                        "relocation",
                        "remedies",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "marriage",
                        "title": "Marriage & Married Life Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "overview": {"score": 40.3, "band": "moderate_low", "band_label": "Mixed — workable with awareness", "band_note": "The indications are mixed. Marriage is well within reach, and awareness of the weaker areas is what makes the difference.", "measured_layers": ["karaka", "seventh_house", "seventh_lord"], "stars": 3, "strongest_factors": [{"factor": "quality_strongest_family_harmony", "impact": "positive", "strength": 71.5, "method": "d1", "detail": "Family harmony is the strongest area of this marriage."}, {"factor": "fifth_seventh_conjunct", "impact": "positive", "strength": 70.0, "method": "d1", "detail": "The rulers of romance and of marriage sit in the same house, linking attraction directly to marriage."}, {"factor": "d9_lord_well_placed", "impact": "positive", "strength": 60.0, "method": "d9", "detail": "In the supporting chart, the ruler of marriage is well placed."}], "main_challenges": [{"factor": "upapada_lord_in_dusthana", "impact": "negative", "strength": 60.0, "method": "upapada", "detail": "The lord of the Upapada sits in a difficult house, classically read as marriage needing patience rather than as failure."}, {"factor": "quality_weakest_long_term_compatibility", "impact": "negative", "strength": 54.5, "method": "d1", "detail": "Long term compatibility is the area most worth conscious attention."}, {"factor": "seventh_lord_combust", "impact": "negative", "strength": 50.0, "method": "d1", "detail": "The ruler of marriage is close to the Sun, which weakens its ability to deliver results on time."}]},
                        "seventh_house": {"sign_no": 4, "sign": "Cancer", "occupants": ["Jupiter", "Ketu"], "aspecting": ["Rahu"], "balance": {"benefics": ["Jupiter"], "malefics": ["Ketu", "Rahu"], "net": -0.33, "mixed": true}, "house_score": 48.0, "lord": {"planet": "Moon", "house": 9, "dignity": "neutral", "combust": true, "retrograde": false, "score": 40.0, "unmeasured": false}, "score": 43.6, "band": "moderate_low", "band_label": "Mixed — workable with awareness", "evidence": [{"factor": "seventh_occupied_by_jupiter", "impact": "positive", "strength": 54.0, "method": "d1", "detail": "Jupiter occupies the house of marriage."}, {"factor": "seventh_lord_combust", "impact": "negative", "strength": 50.0, "method": "d1", "detail": "The ruler of marriage is close to the Sun, which weakens its ability to deliver results on time."}, {"factor": "seventh_occupied_by_ketu", "impact": "negative", "strength": 42.0, "method": "d1", "detail": "Ketu occupies the house of marriage."}], "factor_count": 6, "net_tilt": -36.5, "conflicting": true},
                        "upapada": {"unmeasured": false, "ul_sign_no": 11, "ul_sign": "Aquarius", "ul_house": 2, "ul_lord": "Saturn", "ul_lord_house": 12, "ul_lord_dignity": "neutral", "occupants": [], "aspecting": ["Saturn"], "second_from_ul": {"house": 3, "lord": "Jupiter", "lord_house": 7, "occupants": [], "afflicted": false}, "score": 45.0, "evidence": [{"factor": "upapada_lord_in_dusthana", "impact": "negative", "strength": 60.0, "method": "upapada", "detail": "The lord of the Upapada sits in a difficult house, classically read as marriage needing patience rather than as failure."}, {"factor": "second_from_upapada_lord_well_placed", "impact": "positive", "strength": 50.0, "method": "upapada", "detail": "The ruler of the marriage's sustaining house is well placed, supporting stability over time."}, {"factor": "upapada_lord_neutral", "impact": "neutral", "strength": 0.0, "method": "upapada", "detail": "Saturn, which rules the Upapada, is neutral."}], "factor_count": 3, "net_tilt": -9.1},
                        "spouse": {"personality": {"traits": ["caring and emotionally attached", "principled, generous and inclined to guide", "detached, private, spiritually inclined"], "statement": "Your partner is likely to be caring and emotionally attached. They may also be principled, generous and inclined to guide, detached, private, spiritually inclined and confident, with a strong sense of self. This describes temperament and character only — a birth chart cannot honestly show appearance, profession or where someone lives.", "seventh_sign_no": 4, "seventh_sign": "Cancer", "darakaraka": "Sun", "lead_karaka": "Venus", "evidence": [{"factor": "spouse_trait_from_jupiter_in_seventh", "impact": "neutral", "strength": 65.0, "method": "d1", "detail": "Jupiter in the house of marriage adds someone principled, generous and inclined to guide."}, {"factor": "spouse_trait_from_ketu_in_seventh", "impact": "neutral", "strength": 65.0, "method": "d1", "detail": "Ketu in the house of marriage adds someone detached, private, spiritually inclined."}, {"factor": "spouse_trait_from_darakaraka_sun", "impact": "neutral", "strength": 60.0, "method": "darakaraka", "detail": "By the Jaimini method the spouse significator is Sun, pointing to someone confident, with a strong sense of self."}], "factor_count": 6}, "background": {"emitted": false, "reason": "not_clearly_indicated", "factor_count": 1}},
                        "union_type": {"verdict": "mixed", "label": "Love-cum-arranged — a family-approved love match", "statement": "Your chart suggests a middle path — someone you meet and choose yourself, with family involvement and approval along the way.", "love_score": 28.0, "arranged_score": 18.0, "reasons": ["the rulers of romance and marriage sit together", "Jupiter blesses the house of marriage"], "strength": "moderately indicated", "evidence": [{"factor": "fifth_seventh_conjunct", "impact": "positive", "strength": 70.0, "method": "d1", "detail": "The rulers of romance and of marriage sit in the same house, linking attraction directly to marriage."}, {"factor": "jupiter_on_seventh", "impact": "positive", "strength": 55.0, "method": "d1", "detail": "Jupiter's involvement with the house of marriage classically favours a union with family blessing."}], "factor_count": 2},
                        "meeting": {"emitted": true, "contexts": ["through travel, study, or a family or community connection", "somewhere away from your usual surroundings"], "statement": "You are most likely to meet your partner through travel, study, or a family or community connection, or somewhere away from your usual surroundings. These are the settings your chart favours, not the only ways it can happen.", "evidence": [{"factor": "meeting_via_seventh_lord", "impact": "neutral", "strength": 60.0, "method": "d1", "detail": "The placement of the ruler of marriage points to meeting through travel, study, or a family or community connection."}, {"factor": "meeting_via_upapada", "impact": "neutral", "strength": 50.0, "method": "upapada", "detail": "A third indicator agrees on the likely setting."}], "factor_count": 2},
                        "distance": {"emitted": true, "verdict": "far", "label": "Possibly from a distant place", "near_score": 0.0, "far_score": 42.0, "statement": "Your partner may come from a noticeably different place or background — another region, or somewhere further afield. This is about origins rather than any particular country, which a chart cannot name.", "evidence": [{"factor": "partner_from_distance", "impact": "neutral", "strength": 60.0, "method": "d1", "detail": "The ruler of marriage sits in a part of the chart associated with distance, favouring a partner from further away."}, {"factor": "upapada_lord_distant", "impact": "neutral", "strength": 50.0, "method": "upapada", "detail": "A second indicator also points away from your birthplace."}], "factor_count": 2},
                        "spouse_career": {"emitted": false, "reason": "not_clearly_indicated", "statement": "Your partner's working life is not clearly indicated in your chart.", "evidence": [], "factor_count": 1},
                        "in_laws": {"emitted": false, "reason": "not_clearly_indicated", "statement": "Your relationship with your partner's family is not clearly indicated in your chart.", "evidence": [], "factor_count": 1},
                        "timing": {"windows": [{"start": "2027-01-04", "end": "2029-05-30", "age_from": 36, "age_to": 38, "maha_lord": "Jupiter", "antar_lord": "Rahu", "score": 48.6, "reasons": ["maha_in_seventh", "maha_karaka", "antar_aspecting_seventh"], "independent_factors": 3, "strength": "moderately indicated"}, {"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "maha_lord": "Jupiter", "antar_lord": "Mars", "score": 42.0, "reasons": ["maha_in_seventh", "maha_karaka"], "independent_factors": 2, "strength": "moderately indicated"}, {"start": "2045-11-17", "end": "2048-05-30", "age_from": 55, "age_to": 57, "maha_lord": "Saturn", "antar_lord": "Jupiter", "score": 39.7, "reasons": ["antar_in_seventh", "antar_karaka", "maha_upapada_lord"], "independent_factors": 3, "strength": "moderately indicated"}], "unmeasured": false, "reason": null, "note": "Marriage periods are shown as windows, not dates — a single guaranteed date is not something a chart supports."},
                        "delay": {"delayed": true, "strength": "moderately indicated", "statement": "Your chart suggests marriage may take its own time.", "reasons": ["the ruler of marriage is weakened by the Sun", "the Upapada's ruler is under strain"], "factor_count": 2, "evidence": [{"factor": "seventh_lord_combust", "impact": "negative", "strength": 45.0, "method": "d1", "detail": "The ruler of marriage is close to the Sun, which can delay results."}, {"factor": "upapada_lord_in_dusthana", "impact": "negative", "strength": 45.0, "method": "upapada", "detail": "The Upapada's ruler is placed awkwardly, which can add to a slower path to marriage."}]},
                        "quality": {"scores": {"emotional_compatibility": {"score": 51.5, "label": "Emotional compatibility", "significators": ["Moon", "Venus"], "band": "moderate", "band_label": "Reasonably supported"}, "communication": {"score": 65.5, "label": "Communication", "significators": ["Mercury", "Moon"], "band": "good", "band_label": "Well supported"}, "trust": {"score": 59.5, "label": "Trust", "significators": ["Jupiter", "Saturn"], "band": "moderate", "band_label": "Reasonably supported"}, "romance": {"score": 57.5, "label": "Romance", "significators": ["Venus", "Mars"], "band": "moderate", "band_label": "Reasonably supported"}, "stability": {"score": 59.5, "label": "Stability", "significators": ["Saturn", "Jupiter"], "band": "moderate", "band_label": "Reasonably supported"}, "family_harmony": {"score": 71.5, "label": "Family harmony", "significators": ["Jupiter", "Moon"], "band": "good", "band_label": "Well supported"}, "financial_cooperation": {"score": 65.6, "label": "Financial cooperation", "significators": ["Venus", "Jupiter"], "band": "good", "band_label": "Well supported"}, "long_term_compatibility": {"score": 45.5, "label": "Long term compatibility", "significators": ["Saturn", "Venus"], "band": "moderate_low", "band_label": "Mixed — workable with awareness"}}, "strongest": "family_harmony", "weakest": "long_term_compatibility", "score": 59.5, "band": "moderate", "band_label": "Reasonably supported", "evidence": [{"factor": "quality_strongest_family_harmony", "impact": "positive", "strength": 71.5, "method": "d1", "detail": "Family harmony is the strongest area of this marriage."}, {"factor": "quality_weakest_long_term_compatibility", "impact": "negative", "strength": 54.5, "method": "d1", "detail": "Long term compatibility is the area most worth conscious attention."}], "factor_count": 2},
                        "stability": {"measured_layers": ["seventh", "upapada"], "unmeasured_layers": ["navamsa"], "score": 44.1, "band": "mixed", "band_label": "Mixed", "band_note": "The long-term picture is mixed - durable, but with areas that need attention rather than assumption."},
                        "challenges": {"emitted": false, "statement": "No specific marital difficulty stands out in your chart.", "challenges": [], "factor_count": 0},
                        "emotional": {"score": 52.0, "band": "workable", "band_label": "Workable, needs communication", "band_note": "You may not always read each other instinctively. This is common and very workable, but it rewards couples who talk plainly instead of expecting to be understood without words.", "statement": "You may not always read each other instinctively. This is common and very workable, but it rewards couples who talk plainly instead of expecting to be understood without words.", "advice": ["Agree early on how you each prefer to handle disagreement — one of you may want to talk immediately, the other to withdraw first.", "Ask rather than assume when your partner's mood changes.", "Make affection explicit; do not rely on it being understood."], "evidence": [{"factor": "moon_supported", "impact": "positive", "strength": 55.0, "method": "d1", "detail": "Your emotional nature is comfortably placed, which helps you meet a partner openly."}, {"factor": "romance_strained", "impact": "negative", "strength": 50.0, "method": "d1", "detail": "More testing influences on the house of romance can mean affection needs deliberate protecting once life gets busy."}, {"factor": "moon_dignity", "impact": "neutral", "strength": 45.0, "method": "d1", "detail": "The condition of your emotional nature shapes how readily you feel settled with someone."}], "factor_count": 3},
                        "children": {"score": 28.1, "band": "patience", "band_label": "May need patience", "band_note": "This area of your chart suggests family life may ask for patience and good timing. An indication is not an outcome, and many charts that read this way go on to have a full family life.", "statement": "This area of your chart suggests family life may ask for patience and good timing. An indication is not an outcome, and many charts that read this way go on to have a full family life. This is a reading of what your chart indicates, not a statement about anyone's health, and it is not a prediction of how many children you will have or when.", "guidance": ["Treat this as a suggestion to be patient, not as a warning.", "Traditional remedies for this area centre on Jupiter — see the remedies section.", "For anything practical or medical, consult a doctor. A birth chart cannot speak to health, and this report makes no claim about it."], "d7_used": false, "evidence": [{"factor": "children_house_afflicted", "impact": "negative", "strength": 50.0, "method": "d1", "detail": "More testing influences fall on the house of children, which can mean this area unfolds on its own timetable rather than to plan."}, {"factor": "children_lord_dignity", "impact": "neutral", "strength": 45.0, "method": "d1", "detail": "The condition of the ruler of children shapes how smoothly this area of life unfolds."}, {"factor": "children_lord_good_house_debilitated", "impact": "neutral", "strength": 40.0, "method": "d1", "detail": "The ruler of children sits in a supportive house but in its weakest sign, so this area of life may ask for more patience than the house alone suggests."}], "factor_count": 3, "denial_claimed": false},
                        "mangal_dosha": {"unmeasured": false, "present": false, "severity": "none", "severity_label": "No Mangal dosha", "statement": "Your chart does not show Mangal dosha.", "references": [], "cancellations": [], "evidence": [], "factor_count": 0},
                        "navamsa": {"unmeasured": false, "score": 52.0, "d1_score": 40.3, "delta": 11.7, "verdict": "confirms", "statement": "The supporting chart agrees with your main reading. When both charts point the same way, the reading is more dependable than either would be alone.", "evidence": [{"factor": "d9_lord_well_placed", "impact": "positive", "strength": 60.0, "method": "d9", "detail": "In the supporting chart, the ruler of marriage is well placed."}, {"factor": "d9_lord_dignity", "impact": "neutral", "strength": 50.0, "method": "d9", "detail": "The condition of the marriage ruler in the supporting chart was taken into account."}, {"factor": "d9_seventh_afflicted", "impact": "negative", "strength": 50.0, "method": "d9", "detail": "More testing influences fall on marriage in the supporting chart."}], "factor_count": 3},
                        "relocation": {"verdict": "different_region", "label": "A move to a noticeably different region is possible", "strength": "strongly indicated", "move_score": 40.0, "stay_score": 0.0, "foreign_score": 32.0, "reasons": [], "timing": {"known": true, "window": {"from": "2027-01-04", "to": "2029-05-30"}, "text": "Any move is most likely around the marriage period itself or within a year or two of it."}, "statement": "Marriage may become an important turning point in where you live, with a move to a noticeably different region.", "evidence": [{"factor": "seventh_lord_in_distant_house", "impact": "neutral", "strength": 65.0, "method": "d1", "detail": "The ruler of marriage sits in a part of the chart associated with distance and life away from where you started."}, {"factor": "foreign_axis_linked_to_marriage", "impact": "neutral", "strength": 60.0, "method": "d1", "detail": "The ruler of distant places is tied to the house of marriage."}, {"factor": "upapada_lord_distant", "impact": "neutral", "strength": 50.0, "method": "upapada", "detail": "The Upapada's ruler sits in a distant part of the chart, which supports married life being lived away from where you began."}], "factor_count": 3},
                        "remedies": {"traditional": [{"planet": "Venus", "why": "Venus governs affection, comfort and harmony in marriage.", "practice": "Friday is Venus's day. Traditional practice is to offer white flowers or white sweets, to wear white on Fridays, and to chant \"Om Shukraya Namah\".", "reason": "The natural significator for marriage in your chart."}, {"planet": "Saturn", "why": "Saturn governs patience, duty and the slow building of trust.", "practice": "Saturday is Saturn's day. Traditional practice is to serve or feed those in need, to offer black sesame or iron, and to chant \"Om Shanaye Namah\".", "reason": "Your chart indicates marriage may take its own time, which is Saturn's signature."}, {"planet": "Jupiter", "why": "Jupiter governs wisdom, growth, family life and — for a woman's chart — the husband.", "practice": "Thursday is Jupiter's day. Traditional practice is to offer yellow items, to support teachers or students, and to chant \"Om Gurave Namah\".", "reason": "Jupiter is the traditional significator for children, and this area of your chart asks for patience."}], "practical": ["Treat a later marriage as a difference in timing, not a problem to be solved. Charts that indicate delay often indicate durability alongside it.", "Of the areas measured, long term compatibility scored lowest. That is where deliberate attention will make the most difference — it is a starting point, not a warning.", "Traditional remedies are supportive practice, not insurance. They work best alongside honest communication, not instead of it."], "note": "These were chosen from your own chart rather than from a standard list, which is why some charts receive more than others.", "count": 3},
                        "summary": {"outlook": "Mixed — workable with awareness", "stars": 3, "timing": {"start": "2027-01-04", "end": "2029-05-30", "age_from": 36, "age_to": 38, "maha_lord": "Jupiter", "antar_lord": "Rahu", "score": 48.6, "reasons": ["maha_in_seventh", "maha_karaka", "antar_aspecting_seventh"], "independent_factors": 3, "strength": "moderately indicated"}, "timing_statement": "Strongest window: 04/01/2027 to 30/05/2029", "union_type": "Love-cum-arranged — a family-approved love match", "married_life": "Reasonably supported", "stability": "Mixed", "delay": "Your chart suggests marriage may take its own time.", "mangal": "Your chart does not show Mangal dosha.", "strengths": ["Family harmony"], "watch": ["Long term compatibility"], "emotional": "Workable, needs communication", "children": "May need patience", "navamsa": "confirms", "relocation": {"likelihood": "strongly indicated", "direction": "A move to a noticeably different region is possible", "reason": ["not clearly indicated"], "timing": "Any move is most likely around the marriage period itself or within a year or two of it."}},
                        "confidence": {"level": "High", "note": "Five or more independent methods agree", "method_count": 6, "methods_resolved": ["d1", "d9", "darakaraka"], "conflicting_indicators": true},
                        "evidence": [{"factor": "quality_strongest_family_harmony", "impact": "positive", "strength": 71.5, "method": "d1", "detail": "Family harmony is the strongest area of this marriage."}, {"factor": "fifth_seventh_conjunct", "impact": "positive", "strength": 70.0, "method": "d1", "detail": "The rulers of romance and of marriage sit in the same house, linking attraction directly to marriage."}, {"factor": "spouse_trait_from_jupiter_in_seventh", "impact": "neutral", "strength": 65.0, "method": "d1", "detail": "Jupiter in the house of marriage adds someone principled, generous and inclined to guide."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-romance": {
      "post": {
        "operationId": "report-romance",
        "summary": "Romance Report",
        "description": "In-depth romance reading: an overview score, scored sections with the chart evidence behind each, timing windows, remedies, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RomanceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "disclaimer": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "scores": {"type": "object", "properties": {"romantic": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "emotional": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "attraction": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "stability": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "long_term": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "meeting": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "current": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "null"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "required": ["romantic", "emotional", "attraction", "stability", "long_term", "meeting", "current"]}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "nature": {"type": "object", "properties": {"statement": {"type": "string"}}, "required": ["statement"]}, "approach": {"type": "object", "properties": {"statement": {"type": "string"}}, "required": ["statement"]}, "strengths": {"type": "object", "properties": {"top": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["top", "statement"]}, "challenges": {"type": "object", "properties": {"areas": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["areas", "statement"]}, "fit": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "scores", "strongest", "weakest", "nature", "approach", "strengths", "challenges", "fit", "evidence", "factor_count"]},
                        "personality": {"type": "object", "properties": {"expression": {"type": "object", "properties": {"statement": {"type": "string"}}, "required": ["statement"]}, "needs": {"type": "object", "properties": {"keys": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["keys", "statement"]}, "expectations": {"type": "object", "properties": {"statement": {"type": "string"}}, "required": ["statement"]}, "attachment": {"type": "object", "properties": {"statement": {"type": "string"}}, "required": ["statement"]}, "attraction_style": {"type": "object", "properties": {"keys": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["keys", "statement"]}, "communication": {"type": "object", "properties": {"statement": {"type": "string"}}, "required": ["statement"]}, "independence": {"type": "object", "properties": {"level": {"type": "string"}, "statement": {"type": "string"}}, "required": ["level", "statement"]}, "values": {"type": "object", "properties": {"qualities": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["qualities", "statement"]}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["expression", "needs", "expectations", "attachment", "attraction_style", "communication", "independence", "values", "evidence", "factor_count"]},
                        "attraction": {"type": "object", "properties": {"facets": {"type": "object", "properties": {"attraction": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "romance": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "chemistry": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "emotional_bond": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "intensity": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "required": ["attraction", "romance", "chemistry", "emotional_bond", "intensity"]}, "statement": {"type": "string"}, "expectations": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["facets", "statement", "expectations", "evidence", "factor_count"]},
                        "love_marriage": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "scores": {"type": "object", "properties": {"love": {"type": "number"}, "arranged": {"type": "number"}, "love_cum_arranged": {"type": "number"}}, "required": ["love", "arranged", "love_cum_arranged"]}, "love_supports": {"type": "array", "items": {"type": "string"}}, "arranged_supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "reasons": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "comparison_note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["verdict", "label", "scores", "love_supports", "arranged_supports", "factor_count", "reasons", "statement", "comparison_note", "evidence"]},
                        "ideal_partner": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "qualities": {"type": "array", "items": {"type": "string"}}, "descriptions": {"type": "array", "items": {"type": "string"}}, "independence": {"type": "string"}, "social": {"type": "string"}, "career_orientation": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "qualities", "descriptions", "independence", "social", "career_orientation", "statement", "evidence", "factor_count"]},
                        "meeting": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "advice": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "advice", "supports", "factor_count"]}}, "all_qualified": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "advice": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "advice", "supports", "factor_count"]}}, "least_likely": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}}, "required": ["key", "label"]}}, "score": {"type": "number"}, "statement": {"type": "string"}, "least_statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_qualified", "least_likely", "score", "statement", "least_statement", "evidence", "factor_count"]},
                        "compatibility": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "reason": {"type": "string"}, "dimensions": {"type": "object", "properties": {}, "required": []}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "reason", "dimensions", "statement", "evidence", "factor_count"]},
                        "communication": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "issues": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "title": {"type": "string"}, "what": {"type": "string"}, "do": {"type": "string"}}, "required": ["key", "title", "what", "do"]}}, "statement": {"type": "string"}, "guidance": {"type": "array", "items": {"type": "string"}}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "issues", "statement", "guidance", "evidence", "factor_count"]},
                        "instability": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "pattern": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "factors": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "guidance": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["indicated", "pattern", "score", "band_label", "factors", "statement", "guidance", "evidence", "factor_count"]},
                        "reconciliation": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "outlook": {"type": "string"}, "reconnection_indicated": {"type": "boolean"}, "supports": {"type": "array"}, "factor_count": {"type": "integer"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "outlook", "reconnection_indicated", "supports", "factor_count", "window", "statement", "note", "evidence"]},
                        "timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "windows": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "confidence", "theme", "theme_text", "opportunity", "caution"]}}, "timeline": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "confidence": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "score", "theme", "confidence", "opportunity", "caution"]}}, "peak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "confidence", "theme", "theme_text", "opportunity", "caution"]}, "secondary": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "confidence", "theme", "theme_text", "opportunity", "caution"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "windows", "timeline", "peak", "secondary", "statement", "note", "evidence", "factor_count"]},
                        "current_period": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "reason": {"type": "string"}, "statement": {"type": "null"}}, "required": ["emitted", "reason", "statement"]},
                        "dating_outlook": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "best_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "environments": {"type": "array", "items": {"type": "string"}}, "actions": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["emitted", "best_period", "environments", "actions", "statement"]},
                        "long_distance": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "forms": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "why": {"type": "string"}}, "required": ["key", "label", "why"]}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["indicated", "score", "band_label", "supports", "factor_count", "forms", "statement", "evidence"]},
                        "relocation": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "long_distance": {"type": "number"}}, "required": ["stay", "domestic", "foreign", "long_distance"]}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "move_supports": {"type": "integer"}, "reasons": {"type": "array", "items": {"type": "string"}}, "questions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "answer": {"type": "string"}}, "required": ["key", "question", "score", "band_label", "answer"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "scores", "ranked", "move_supports", "reasons", "questions", "statement", "note", "evidence", "factor_count"]},
                        "cities": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}}, "required": ["city", "state", "country", "score", "distance_km", "confidence"]}}, "comparison": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "love": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}, "romance": {"type": "number"}, "dating": {"type": "null"}, "emotional": {"type": "number"}, "international": {"type": "null"}, "long_term": {"type": "number"}, "attraction": {"type": "number"}, "timing": {"type": "string"}}, "required": ["city", "country", "love", "distance_km", "confidence", "romance", "dating", "emotional", "international", "long_term", "attraction", "timing"]}}, "by_goal": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "question", "goal", "goal_label", "city", "country", "score"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "comparison", "by_goal", "statement", "note", "evidence", "factor_count"]},
                        "combined_timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "recommendations": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}}, "required": ["start", "end", "age_from", "age_to"]}, "statement": {"type": "string"}}, "required": ["key", "label", "window", "statement"]}}, "statement": {"type": "string"}}, "required": ["emitted", "recommendations", "statement"]},
                        "career_chain": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "steps": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "steps", "statement", "evidence"]},
                        "wellbeing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "security": {"type": "string"}, "stress": {"type": "string"}, "communication_need": {"type": "string"}, "space_need": {"type": "string"}, "boundaries": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["emitted", "security", "stress", "communication_need", "space_need", "boundaries", "statement"]},
                        "guidance": {"type": "object", "properties": {"core": {"type": "array", "items": {"type": "string"}}, "trust": {"type": "array", "items": {"type": "string"}}, "boundaries": {"type": "array", "items": {"type": "string"}}, "expectations": {"type": "array", "items": {"type": "string"}}, "long_distance": {"type": "array", "items": {"type": "string"}}, "balance": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["core", "trust", "boundaries", "expectations", "long_distance", "balance", "statement"]},
                        "remedies": {"type": "object", "properties": {"entries": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "practice": {"type": "string"}, "why": {"type": "string"}}, "required": ["name", "practice", "why"]}}, "note": {"type": "string"}}, "required": ["entries", "note"]},
                        "summary": {"type": "object", "properties": {"love_score": {"type": "number"}, "outlook": {"type": "string"}, "romantic_potential": {"type": "number"}, "emotional": {"type": "number"}, "attraction": {"type": "number"}, "stability": {"type": "number"}, "long_term": {"type": "number"}, "love_marriage_potential": {"type": "number"}, "foreign_potential": {"type": "number"}, "relocation_love_score": {"type": "number"}, "relocation_scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "long_distance": {"type": "number"}}, "required": ["stay", "domestic", "foreign", "long_distance"]}, "best_path": {"type": "string"}, "best_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "best_location": {"type": "string"}, "best_way_to_meet": {"type": "string"}, "partner_qualities": {"type": "array", "items": {"type": "string"}}, "relationship_fit": {"type": "string"}, "distance_indicated": {"type": "boolean"}, "main_strength": {"type": "string"}, "main_challenge": {"type": "string"}, "conclusion": {"type": "string"}}, "required": ["love_score", "outlook", "romantic_potential", "emotional", "attraction", "stability", "long_term", "love_marriage_potential", "foreign_potential", "relocation_love_score", "relocation_scores", "best_path", "best_period", "best_location", "best_way_to_meet", "partner_qualities", "relationship_fit", "distance_indicated", "main_strength", "main_challenge", "conclusion"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "disclaimer",
                        "overview",
                        "personality",
                        "attraction",
                        "love_marriage",
                        "ideal_partner",
                        "meeting",
                        "compatibility",
                        "communication",
                        "instability",
                        "reconciliation",
                        "timing",
                        "current_period",
                        "dating_outlook",
                        "long_distance",
                        "relocation",
                        "cities",
                        "combined_timing",
                        "career_chain",
                        "wellbeing",
                        "guidance",
                        "remedies",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "romance",
                        "title": "Romance Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "disclaimer": "This is an astrological reading about relationships. It describes tendencies in your own chart and nothing more — it cannot see anyone you have not met, it cannot know what another person feels or int [... 178 more characters]",
                        "overview": {"score": 43.0, "band": "mixed", "band_label": "Mixed indications — the right person matters more than timing", "band_note": "Your chart shows mixed indications for relationships. Who you choose appears to matter more here than when you meet them.", "unmeasured": false, "scores": {"romantic": {"key": "romantic", "label": "Romantic potential", "score": 41.6, "band_label": "Moderate"}, "emotional": {"key": "emotional", "label": "Emotional compatibility", "score": 50.0, "band_label": "Moderate"}, "attraction": {"key": "attraction", "label": "Attraction", "score": 51.9, "band_label": "Moderate"}, "stability": {"key": "stability", "label": "Relationship stability", "score": 50.6, "band_label": "Moderate"}, "long_term": {"key": "long_term", "label": "Long-term potential", "score": 60.3, "band_label": "Good"}, "meeting": {"key": "meeting", "label": "Meeting opportunity", "score": 69.9, "band_label": "Good"}, "current": {"key": "current", "label": "Current outlook", "score": null, "band_label": "Not clearly indicated"}}, "strongest": "meeting", "weakest": "romantic", "nature": {"statement": "You are romantic in a measured way. You take time to warm to someone, and what you build tends to hold better for having taken that time."}, "approach": {"statement": "In practice, you approach relationships without a fixed strategy, taking each one as it comes."}, "strengths": {"top": ["meeting opportunity"], "statement": "Your clearest relationship strengths are meeting opportunity and long-term potential. These are what you bring, and they are worth being deliberate about rather than assuming a partner will notice the [... 2 more characters]"}, "challenges": {"areas": ["romantic potential"], "statement": "The areas worth deliberate attention are romantic potential. These are not limits. They are the parts of a relationship that will take conscious effort for you, and effort is something you control."}, "fit": {"key": "intense", "label": "Something with real depth to it", "statement": "You are likely to do best with a relationship that goes deep rather than wide. A pleasant, low-stakes connection is more likely to leave you restless than content."}, "evidence": [{"factor": "partnership_demanding", "impact": "negative", "strength": 55.0, "method": "d1", "detail": "The part of your chart governing partnership carries some friction, which classically describes relationships that ask for patience rather than ones that do not work."}], "factor_count": 2},
                        "personality": {"expression": {"statement": "You tend to express affection practically — you show love by doing things rather than by announcing it, which can be missed by someone expecting words."}, "needs": {"keys": ["freedom"], "statement": "What you need most from a relationship is room to be your own person inside the relationship and ordinary daily affection rather than grand gestures. These are worth saying out loud early — most peopl [... 60 more characters]"}, "expectations": {"statement": "You expect a good deal from a relationship — generosity, growth, someone who makes life larger. That is a reasonable thing to want, and worth being explicit about rather than hoping it is understood."}, "attachment": {"statement": "You attach in a way that keeps a little distance in reserve. It protects you, and it can read as detachment to someone who is fully in."}, "attraction_style": {"keys": ["intense"], "statement": "You tend to be drawn to people with something unresolved about them — depth attracts you more than ease does and people with energy and directness about them."}, "communication": {"statement": "You communicate straightforwardly, without much need for decoding, which is a considerable advantage in a relationship."}, "independence": {"level": "high", "statement": "You need a real amount of independence inside a relationship. This is not ambivalence — it is how you stay yourself, and a partner who understands it gets a much better version of you."}, "values": {"qualities": ["warmth and generosity"], "statement": "What you value most in a partner is warmth and generosity. It is worth checking this against who you actually pursue — the two do not always match, and noticing the gap is usually the whole insight."}, "evidence": [], "factor_count": 0},
                        "attraction": {"facets": {"attraction": {"key": "attraction", "label": "Attraction", "score": 44.2, "band_label": "Moderate"}, "romance": {"key": "romance", "label": "Romance", "score": 45.1, "band_label": "Moderate"}, "chemistry": {"key": "chemistry", "label": "Chemistry", "score": 58.3, "band_label": "Good"}, "emotional_bond": {"key": "emotional_bond", "label": "Emotional bonding", "score": 52.8, "band_label": "Moderate"}, "intensity": {"key": "intensity", "label": "Intensity", "score": 53.5, "band_label": "Moderate"}}, "statement": "In relationships your chart emphasises chemistry and intensity. That is a description of what tends to draw you and hold you, not a prediction about anyone in particular.", "expectations": "Romance and attachment read at a similar level in your chart, which suggests the early and settled stages of a relationship suit you about equally.", "evidence": [{"factor": "chemistry_layer", "impact": "neutral", "strength": 56.0, "method": "d1", "detail": "The influence governing drive and directness is well placed, which classically describes a relationship with energy in it."}], "factor_count": 1},
                        "love_marriage": {"verdict": "arranged", "label": "Arranged relationship tendency", "scores": {"love": 63.3, "arranged": 72.0, "love_cum_arranged": 67.7}, "love_supports": ["romance_commitment_link"], "arranged_supports": ["family_guidance"], "factor_count": 4, "reasons": ["partnership in your chart is connected with family and with the guidance of people around you"], "statement": "Your chart leans toward meeting a partner through introduction — family, friends or the people already around you — rather than through a chance encounter. Worth reading as a description of where the  [... 69 more characters]", "comparison_note": "These three describe PATTERNS in your chart, not instructions. Plenty of people whose charts lean one way are perfectly happy the other, and the reading says nothing about which you should choose.", "evidence": [{"factor": "romance_partnership_linked", "impact": "positive", "strength": 64.0, "method": "d1", "detail": "Romance and lasting partnership are directly connected in your chart, which classically describes marrying someone you chose yourself."}]},
                        "ideal_partner": {"emitted": true, "qualities": ["thoughtful"], "descriptions": ["thoughtful and slow to judge"], "independence": "They are likely to need a fair amount of independence, and to have their own momentum rather than fitting around yours.", "social": "Socially they are likely to prefer a small number of close people to a wide circle.", "career_orientation": "Work is unlikely to be the centre of their life, and they are more likely to organise around the relationship than the other way round.", "statement": "The partner your chart points toward is likely to be thoughtful and slow to judge, independent, with a life of their own that they keep and private, with more going on than they show at first. This de [... 212 more characters]", "evidence": [], "factor_count": 4},
                        "meeting": {"emitted": true, "ranked": [{"key": "family", "label": "Through family or an introduction", "score": 73.2, "advice": "Introductions from people who know you well tend to be better calibrated than any algorithm. Worth not dismissing.", "supports": ["romance_ruler_here"], "factor_count": 5}], "all_qualified": [{"key": "family", "label": "Through family or an introduction", "score": 73.2, "advice": "Introductions from people who know you well tend to be better calibrated than any algorithm. Worth not dismissing.", "supports": ["romance_ruler_here"], "factor_count": 5}], "least_likely": [{"key": "friends", "label": "Through friends or your social circle"}], "score": 69.9, "statement": "Your chart most supports meeting someone through family or an introduction, through study or a course or through someone from another city. These are where the opportunities are likeliest for you — no [... 84 more characters]", "least_statement": "Your chart gives least support to meeting someone through friends or your social circle or through an online or digital connection. Worth knowing mainly so you stop assuming the problem is you when a  [... 37 more characters]", "evidence": [{"factor": "meeting_family", "impact": "positive", "strength": 69.6, "method": "d1", "detail": "Through family or an introduction is supported by 5 independent indications."}], "factor_count": 2},
                        "compatibility": {"emitted": false, "reason": "no_partner_data", "dimensions": {}, "statement": "Compatibility needs both people's birth details, and only yours were provided. Everything else in this report describes your own tendencies in a relationship, which is a genuinely different question f [... 94 more characters]", "evidence": [], "factor_count": 0},
                        "communication": {"emitted": true, "issues": [{"key": "possessiveness", "title": "You may hold on tightly", "what": "Your chart suggests you invest deeply and can find it hard to leave space, particularly when you are unsure of where you stand.", "do": "Notice that the reassurance you want has to be asked for. Checking is not the same as being told, and only one of them actually settles it."}], "statement": "These are the patterns most likely to cause friction for you specifically — they are drawn from your chart rather than from a general list, and anything not here is not indicated. Each one has somethi [... 87 more characters]", "guidance": ["Notice that the reassurance you want has to be asked for. Checking is not the same as being told, and only one of them actually settles it."], "evidence": [], "factor_count": 0},
                        "instability": {"indicated": true, "pattern": "on_off", "score": 45.0, "band_label": "Moderate", "factors": ["a tendency to detach once something has run its course"], "statement": "Periods of relationship uncertainty may occur for you. Your chart shows a tendency to detach once something has run its course and a partnership area that asks for patience. This describes a pattern i [... 148 more characters]", "guidance": "The practical version of this is worth more than the reading: when a relationship feels uncertain, the useful question is whether something has actually changed or whether it is a stretch that will pa [... 96 more characters]", "evidence": [], "factor_count": 2},
                        "reconciliation": {"emitted": true, "outlook": "moving_on", "reconnection_indicated": false, "supports": [], "factor_count": 0, "window": {"start": "2026-01-28", "end": "2027-01-04"}, "statement": "Your chart leans toward closure rather than return. That is not a verdict on anyone — it describes how you tend to move once something has genuinely ended, which is forward. In practice people with th [... 127 more characters]", "note": "This section describes patterns in your own chart and nothing else. It cannot see another person, it does not know what they feel, and no reading anywhere can promise that someone will come back. Anyo [... 48 more characters]", "evidence": []},
                        "timing": {"emitted": true, "windows": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "maha_lord": "Jupiter", "antar_lord": "Mars", "score": 44.5, "independent_factors": 4, "strength": "moderately indicated", "confidence": "Good", "theme": "Directness", "theme_text": "an active period where things are pursued rather than waited on", "opportunity": "The stretch to act on something rather than consider it.", "caution": "Pace can be set faster than the other person is comfortable with."}], "timeline": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "score": 44.5, "theme": "Directness", "confidence": "Good", "opportunity": "The stretch to act on something rather than consider it.", "caution": "Pace can be set faster than the other person is comfortable with."}], "peak": {"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "maha_lord": "Jupiter", "antar_lord": "Mars", "score": 44.5, "independent_factors": 4, "strength": "moderately indicated", "confidence": "Good", "theme": "Directness", "theme_text": "an active period where things are pursued rather than waited on", "opportunity": "The stretch to act on something rather than consider it.", "caution": "Pace can be set faster than the other person is comfortable with."}, "secondary": {"start": "2065-10-26", "end": "2066-12-26", "age_from": 75, "age_to": 76, "maha_lord": "Ketu", "antar_lord": "Venus", "score": 44.4, "independent_factors": 3, "strength": "moderately indicated", "confidence": "Good", "theme": "Attraction and opportunity", "theme_text": "a period classically associated with meeting people and with relationships forming", "opportunity": "The clearest stretch for putting yourself where people are.", "caution": "Attraction can outpace how well you know someone."}, "statement": "The stretch from 28/01/2026 to 04/01/2027 (age 35 to 36) looks the most supportive period for relationships. Its theme is directness: an active period where things are pursued rather than waited on. C [... 255 more characters]", "note": "These are favourable periods, not dates. A chart can suggest when conditions look more supportive; it cannot say when you will meet anyone, and no honest reading gives a date for that.", "evidence": [{"factor": "relationship_windows", "impact": "positive", "strength": 58.0, "method": "dasha", "detail": "Periods engaging your relationship significators were identified."}], "factor_count": 1},
                        "current_period": {"emitted": false, "reason": "not_in_relationship", "statement": null},
                        "dating_outlook": {"emitted": true, "best_period": {"start": "2026-01-28", "end": "2027-01-04"}, "environments": ["Through family or an introduction"], "actions": ["Introductions from people who know you well tend to be better calibrated than any algorithm. Worth not dismissing."], "statement": "Your strongest stretch for meeting someone runs 28/01/2026 to 04/01/2027, around age 35 to 36. A secondary period runs 26/10/2065 to 26/12/2066. The settings your chart favours are through family or a [... 271 more characters]"},
                        "long_distance": {"indicated": true, "score": 100.0, "band_label": "Exceptional", "supports": ["partnership_at_distance"], "factor_count": 5, "forms": [{"key": "another_city", "label": "Someone from another city", "why": "Your chart connects partnership with distance, so meeting someone who does not live locally is more likely than average."}], "statement": "Your chart suggests distance is likely to feature in your relationships in some form — someone from another city, someone from another country or a connection that begins or lives online. This describ [... 181 more characters]", "evidence": [{"factor": "partnership_distance_link", "impact": "positive", "strength": 62.0, "method": "d1", "detail": "The ruler of your partnerships is connected to the part of your chart associated with distance and travel."}]},
                        "relocation": {"verdict": "domestic", "label": "Another city or region may suit your relationships better", "scores": {"stay": 53.1, "domestic": 87.9, "foreign": 85.6, "long_distance": 58.0}, "ranked": [{"key": "domestic", "label": "Another city or region", "score": 87.9, "band_label": "Exceptional"}], "move_supports": 4, "reasons": ["a chart that connects partnership with somewhere other than where you started"], "questions": [{"key": "current", "question": "Can a relationship develop where you are now?", "score": 53.1, "band_label": "Moderate", "answer": "How well your current location supports meeting someone and building something. A high number here is worth more than it looks — the option that costs nothing is also a good one."}], "statement": "A change of city or region appears more supportive of your relationships than either staying or going abroad. What appears to drive it is a chart that connects partnership with somewhere other than wh [... 227 more characters]", "note": "These compare how well each option suits you, not how romantic anywhere is. A place your chart supports and a person who is wrong for you is still the wrong move — the reading is one input among sever [... 25 more characters]", "evidence": [{"factor": "foreign_partnership", "impact": "positive", "strength": 62.0, "method": "d1", "detail": "Several independent factors connect partnership with places far from where you started."}], "factor_count": 3},
                        "cities": {"emitted": true, "ranked": [{"city": "Shanghai", "state": null, "country": "China", "score": 85.8, "distance_km": 4247.6, "confidence": "Moderate"}], "comparison": [{"city": "Shanghai", "country": "China", "love": 85.8, "distance_km": 4247.6, "confidence": "Moderate", "romance": 85.8, "dating": null, "emotional": 62.4, "international": null, "long_term": 73.5, "attraction": 85.8, "timing": "Moderate"}], "by_goal": [{"key": "dating", "question": "Best city for dating", "goal": "career", "goal_label": "Social and professional life", "city": "Mecca", "country": "Saudi Arabia", "score": 89.7}], "statement": "For relationships your chart favours Shanghai, Almaty and Cebu. These were scored from your own birth chart for each place rather than from any general ranking, which is why the list may not match the [... 22 more characters]", "note": "These are scored for how each place suits YOU socially — not for how romantic anywhere is, which is not something a chart can assess. A city cannot introduce you to anyone; what it can do is put you s [... 52 more characters]", "evidence": [{"factor": "love_cities_ranked", "impact": "neutral", "strength": 58.0, "method": "relocation", "detail": "Locations were scored against your own birth chart for how they support social connection and relationships, not taken from any general ranking."}], "factor_count": 1},
                        "combined_timing": {"emitted": true, "recommendations": [{"key": "dating", "label": "Best period to start dating actively", "window": {"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36}, "statement": "Your most supportive stretch runs 28/01/2026 to 04/01/2027 (age 35 to 36). If you are going to put deliberate effort into meeting people, this is when it is likeliest to return something."}], "statement": "These combine the relationship periods with the location reading. Direction and year are separate questions, and a move that is right in principle can still be wrong this year."},
                        "career_chain": {"emitted": false, "steps": [], "statement": "Your chart does not particularly connect your working life with how you meet people. That is not a warning about work romances — it means your social opportunities are likely to come from somewhere ot [... 18 more characters]", "evidence": []},
                        "wellbeing": {"emitted": true, "security": "You feel most secure when there is a clear, agreed shape to the relationship — knowing where it is going matters more to you than how intense it is.", "stress": "What creates stress for you is conflict left unresolved. You would rather have the difficult conversation than sit with the atmosphere, and a partner who avoids it will wear you down.", "communication_need": "In practice this means saying the thing rather than waiting to be asked. Most of what goes wrong between two reasonable people is a conversation neither of them started.", "space_need": "What you need most from a relationship is room to be your own person inside the relationship and ordinary daily affection rather than grand gestures. These are worth saying out loud early — most peopl [... 60 more characters]", "boundaries": ["Being able to say no without a justification attached — to a plan, a mood, a conversation at the wrong moment."], "statement": "None of this is complicated, and most of it is easier to read than to do. If a relationship is genuinely distressing you, a chart is not the right tool — talk to someone who knows you, or to a profess [... 6 more characters]"},
                        "guidance": {"core": ["Say what you want out loud, early, and in plain words. Most people assume their needs are obvious to a partner, and they almost never are — this single habit prevents more trouble than any other."], "trust": ["Trust is built by small kept promises rather than by declarations. If you are unsure of someone, watch the small ones."], "boundaries": ["A boundary you have not stated is not a boundary, it is a disappointment waiting to happen."], "expectations": ["Your chart points toward \"something with real depth to it\". Where you have a choice, weighting that over the immediate pull of a person tends to serve you better than the reverse."], "long_distance": ["Distance works when there is a plan for ending it and a date attached to that plan. Without one it becomes an arrangement rather than a relationship, and that is where it usually fails."], "balance": ["If a move for a relationship is likely, the stretch from 28/01/2026 to 04/01/2027 is the period your chart supports most. Aligning the two is easier than recovering from having done them in the wrong  [... 6 more characters]"], "statement": "This guidance comes from the readings above rather than from a general list. None of it is a substitute for talking to someone who knows you — and if a relationship is genuinely distressing you, a pro [... 54 more characters]"},
                        "remedies": {"entries": [{"name": "Harmony practice", "practice": "Traditional practice is offering food or help to couples and families in need, and keeping your own home atmosphere calm.", "why": "Classical texts associate generosity toward partnership with this area of the chart."}], "note": "These are traditional astrological practices, offered as practice and nothing more. No practice produces a partner or a marriage, and anyone who tells you otherwise is selling something. Gemstones are [... 110 more characters]"},
                        "summary": {"love_score": 43.0, "outlook": "Mixed indications — the right person matters more than timing", "romantic_potential": 41.6, "emotional": 50.0, "attraction": 51.9, "stability": 50.6, "long_term": 60.3, "love_marriage_potential": 63.3, "foreign_potential": 85.6, "relocation_love_score": 87.9, "relocation_scores": {"stay": 53.1, "domestic": 87.9, "foreign": 85.6, "long_distance": 58.0}, "best_path": "Arranged relationship tendency", "best_period": {"start": "2026-01-28", "end": "2027-01-04"}, "best_location": "Shanghai, China", "best_way_to_meet": "Through family or an introduction", "partner_qualities": ["thoughtful and slow to judge"], "relationship_fit": "Something with real depth to it", "distance_indicated": true, "main_strength": "Meeting opportunity", "main_challenge": "Romantic potential", "conclusion": "Overall, your chart is mixed indications — the right person matters more than timing where relationships are concerned. You are likely to do best with a relationship that goes deep rather than wide. A [... 2696 more characters]"},
                        "confidence": {"level": "High", "note": "Several independent methods agree, which is the most dependable kind of reading.", "method_count": 5, "methods_resolved": ["d1"], "conflicting_indicators": true},
                        "evidence": [{"factor": "meeting_family", "impact": "positive", "strength": 69.6, "method": "d1", "detail": "Through family or an introduction is supported by 5 independent indications."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-career": {
      "post": {
        "operationId": "report-career",
        "summary": "Career Report",
        "description": "In-depth career reading: an overview score, scored sections with the chart evidence behind each, timing windows, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "scores": {"type": "object", "properties": {"stability": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "growth": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "recognition": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "leadership": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "income": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "satisfaction": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "entrepreneurship": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "foreign": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}}, "required": ["stability", "growth", "recognition", "leadership", "income", "satisfaction", "entrepreneurship", "foreign"]}, "measured_layers": {"type": "array", "items": {"type": "string"}}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "pace": {"type": "object", "properties": {"pace": {"type": "string"}, "text": {"type": "string"}}, "required": ["pace", "text"]}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "scores", "measured_layers", "strongest", "weakest", "pace", "statement", "evidence", "factor_count"]},
                        "fields": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "supports", "factor_count"]}}, "all_qualified": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "supports", "factor_count"]}}, "considered": {"type": "integer"}, "gated_out": {"type": "integer"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_qualified", "considered", "gated_out", "statement", "evidence", "factor_count"]},
                        "job_vs_business": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "job_score": {"type": "number"}, "business_score": {"type": "number"}, "entrepreneurship_score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "job_score", "business_score", "entrepreneurship_score", "reasons", "statement", "evidence", "factor_count"]},
                        "dashamsha": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "score": {"type": "number"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}, "confirmation": {"type": "object", "properties": {"known": {"type": "boolean"}, "verdict": {"type": "string"}, "delta": {"type": "number"}, "penalty": {"type": "number"}, "statement": {"type": "string"}}, "required": ["known", "verdict", "delta", "penalty", "statement"]}}, "required": ["unmeasured", "score", "evidence", "factor_count", "confirmation"]},
                        "leadership": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "facets": {"type": "object", "properties": {"leadership": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "management": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "decision_making": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "authority": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "team_management": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "senior_role": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "public_recognition": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "reputation": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}}, "required": ["leadership", "management", "decision_making", "authority", "team_management", "senior_role", "public_recognition", "reputation"]}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "promotion": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "score": {"type": "number"}, "statement": {"type": "string"}, "timing_note": {"type": "string"}}, "required": ["unmeasured", "score", "statement", "timing_note"]}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "facets", "strongest", "weakest", "promotion", "statement", "evidence", "factor_count"]},
                        "strengths": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "factor_count"]}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "statement", "evidence", "factor_count"]},
                        "challenges": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "reason": {"type": "string"}, "challenges": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "reason", "challenges", "statement", "evidence", "factor_count"]},
                        "money": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "stability": {"type": "object", "properties": {"score": {"type": "number"}, "statement": {"type": "string"}}, "required": ["score", "statement"]}, "multiple_streams": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "statement": {"type": "string"}}, "required": ["indicated", "statement"]}, "salary_vs_business": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "stability", "multiple_streams", "salary_vs_business", "statement", "evidence", "factor_count"]},
                        "timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "windows": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text", "supports"]}}, "timeline": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "score", "theme", "opportunity", "caution"]}}, "peak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text", "supports"]}, "transitions": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "supports": {"type": "array", "items": {"type": "string"}}, "strength": {"type": "string"}, "statement": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "supports", "strength", "statement"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "windows", "timeline", "peak", "transitions", "statement", "note", "evidence", "factor_count"]},
                        "relocation": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "remote": {"type": "number"}}, "required": ["stay", "domestic", "foreign", "remote"]}, "foreign_supports": {"type": "integer"}, "reasons": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "foreign_career": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "score": {"type": "number"}, "mode": {"type": "string"}, "statement": {"type": "string"}}, "required": ["indicated", "score", "mode", "statement"]}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "scores", "foreign_supports", "reasons", "statement", "foreign_career", "evidence", "factor_count"]},
                        "cities": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "classification": {"type": "string"}, "confidence": {"type": "string"}}, "required": ["city", "state", "country", "score", "distance_km", "classification", "confidence"]}}, "comparison": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "career": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}, "business": {"type": ["number", "null"]}, "income": {"type": ["number", "null"]}, "leadership": {"type": "number"}, "international": {"type": "null"}}, "required": ["city", "country", "career", "distance_km", "confidence", "business", "income", "leadership", "international"]}}, "by_goal": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "question", "goal", "goal_label", "city", "country", "score"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "comparison", "by_goal", "statement", "note", "evidence", "factor_count"]},
                        "yogas": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}, "strength": {"type": "number"}, "band": {"type": "string"}, "meaning": {"type": "string"}, "active_now": {"type": "boolean"}, "activity": {"type": "string"}}, "required": ["name", "planets", "strength", "band", "meaning", "active_now", "activity"]}}, "active": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "yogas", "active", "statement", "evidence", "factor_count"]},
                        "family_balance": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "demands": {"type": "array", "items": {"type": "object", "properties": {"demand": {"type": "string"}, "detail": {"type": "string"}, "balance": {"type": "string"}}, "required": ["demand", "detail", "balance"]}}, "statement": {"type": "string"}}, "required": ["emitted", "demands", "statement"]},
                        "strategy": {"type": "object", "properties": {"prioritise": {"type": "array", "items": {"type": "string"}}, "skills": {"type": "array", "items": {"type": "string"}}, "decisions": {"type": "array", "items": {"type": "string"}}, "avoid": {"type": "array"}, "statement": {"type": "string"}}, "required": ["prioritise", "skills", "decisions", "avoid", "statement"]},
                        "summary": {"type": "object", "properties": {"career_score": {"type": "number"}, "outlook": {"type": "string"}, "job_score": {"type": "number"}, "business_score": {"type": "number"}, "leadership_score": {"type": "number"}, "income_score": {"type": "number"}, "promotion_score": {"type": "number"}, "foreign_score": {"type": "number"}, "route": {"type": "string"}, "pace": {"type": "string"}, "best_fields": {"type": "array", "items": {"type": "string"}}, "main_strength": {"type": "string"}, "main_challenge": {"type": "string"}, "foreign_career_score": {"type": "number"}, "relocation_verdict": {"type": "string"}, "relocation_scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "remote": {"type": "number"}}, "required": ["stay", "domestic", "foreign", "remote"]}, "best_location": {"type": "string"}, "best_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "supporting_chart": {"type": "string"}, "conclusion": {"type": "string"}}, "required": ["career_score", "outlook", "job_score", "business_score", "leadership_score", "income_score", "promotion_score", "foreign_score", "route", "pace", "best_fields", "main_strength", "main_challenge", "foreign_career_score", "relocation_verdict", "relocation_scores", "best_location", "best_period", "supporting_chart", "conclusion"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "overview",
                        "fields",
                        "job_vs_business",
                        "dashamsha",
                        "leadership",
                        "strengths",
                        "challenges",
                        "money",
                        "timing",
                        "relocation",
                        "cities",
                        "yogas",
                        "family_balance",
                        "strategy",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "career",
                        "title": "Career Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "overview": {"score": 40.6, "band": "mixed", "band_label": "Mixed — workable with focus", "band_note": "The indications are mixed. A clear direction and a few deliberate choices matter more for you than for most.", "unmeasured": false, "scores": {"stability": {"label": "Career stability", "score": 48.9, "unmeasured": false}, "growth": {"label": "Growth potential", "score": 55.4, "unmeasured": false}, "recognition": {"label": "Recognition potential", "score": 47.5, "unmeasured": false}, "leadership": {"label": "Leadership potential", "score": 46.9, "unmeasured": false}, "income": {"label": "Income potential", "score": 51.3, "unmeasured": false}, "satisfaction": {"label": "Job satisfaction", "score": 46.2, "unmeasured": false}, "entrepreneurship": {"label": "Entrepreneurship potential", "score": 50.9, "unmeasured": false}, "foreign": {"label": "Foreign career potential", "score": 64.2, "unmeasured": false}}, "measured_layers": ["entrepreneurship", "foreign"], "strongest": "foreign", "weakest": "satisfaction", "pace": {"pace": "quick", "text": "Your professional life can move in bursts, with change arriving faster than expected. The skill worth building is choosing which openings to take."}, "statement": "The indications are mixed. A clear direction and a few deliberate choices matter more for you than for most.", "evidence": [{"factor": "career_house_pressured", "impact": "negative", "strength": 55.0, "method": "d1", "detail": "More demanding influences fall on your professional life, which often shows up as work that asks a lot and gives back slowly."}, {"factor": "saturn_demands_patience", "impact": "negative", "strength": 50.0, "method": "karaka", "detail": "The planet governing sustained effort sits in a demanding part of your chart, so progress is likely to reward patience."}], "factor_count": 3},
                        "fields": {"emitted": true, "ranked": [{"key": "creative", "label": "Creative & Design", "score": 46.4, "supports": ["career_ruler", "significator_placement"], "factor_count": 3}, {"key": "government", "label": "Government & Administration", "score": 44.9, "supports": ["career_house_influence", "significator_placement"], "factor_count": 3}], "all_qualified": [{"key": "creative", "label": "Creative & Design", "score": 46.4, "supports": ["career_ruler", "significator_placement"], "factor_count": 3}, {"key": "government", "label": "Government & Administration", "score": 44.9, "supports": ["career_house_influence", "significator_placement"], "factor_count": 3}], "considered": 18, "gated_out": 10, "statement": "Your chart points most clearly toward creative & design, government & administration and media & communication. They are listed in order of how strongly your chart supports them, not in order of what they pay or how they rank socially. These are directions your chart favours rather than the only work you could do well — a chart narrows the field, it does not choose for you.", "evidence": [{"factor": "career_field_creative", "impact": "positive", "strength": 58.6, "method": "d1", "detail": "Creative & Design is supported by 3 independent indications in your chart."}, {"factor": "career_field_government", "impact": "positive", "strength": 58.0, "method": "d10", "detail": "Government & Administration is supported by 3 independent indications in your chart."}], "factor_count": 3},
                        "job_vs_business": {"verdict": "both", "label": "Both can work for you", "job_score": 68.0, "business_score": 69.0, "entrepreneurship_score": 51.8, "reasons": ["comfort with the unconventional and the untested"], "statement": "Your chart supports employment and your own venture roughly equally. The decision is genuinely yours, and either can work. Your chart shows comfort with the unconventional and the untested.", "evidence": [{"factor": "rahu_favours_enterprise", "impact": "neutral", "strength": 55.0, "method": "d1", "detail": "Your chart carries comfort with the unconventional and the untested, which supports working for yourself."}, {"factor": "d10_favours_employment", "impact": "neutral", "strength": 55.0, "method": "d10", "detail": "The supporting career chart leans toward employment."}], "factor_count": 2},
                        "dashamsha": {"unmeasured": false, "score": 58.1, "evidence": [{"factor": "d10_career_pressured", "impact": "negative", "strength": 55.0, "method": "d10", "detail": "In the supporting career chart, professional life carries more pressure than the main chart alone suggests."}, {"factor": "d10_lord_condition", "impact": "positive", "strength": 55.0, "method": "d10", "detail": "The ruler of profession in the supporting chart was read and taken into account."}], "factor_count": 2, "confirmation": {"known": true, "verdict": "confirms", "delta": 17.5, "penalty": 0.0, "statement": "The supporting career chart agrees with your main reading. When both point the same way, the reading is more dependable than either alone."}},
                        "leadership": {"score": 50.3, "band": "situational", "band_label": "Leadership works for you in the right setting", "band_note": "You lead well in settings that suit you and less comfortably in ones that do not. Choosing the environment matters more for you than for most.", "unmeasured": false, "facets": {"leadership": {"label": "Leadership ability", "score": 49.5, "unmeasured": false}, "management": {"label": "Management ability", "score": 50.1, "unmeasured": false}, "decision_making": {"label": "Decision-making", "score": 48.3, "unmeasured": false}, "authority": {"label": "Authority", "score": 48.6, "unmeasured": false}, "team_management": {"label": "Team management", "score": 56.0, "unmeasured": false}, "senior_role": {"label": "Senior-role potential", "score": 55.2, "unmeasured": false}, "public_recognition": {"label": "Public recognition", "score": 54.3, "unmeasured": false}, "reputation": {"label": "Professional reputation", "score": 52.0, "unmeasured": false}}, "strongest": "team_management", "weakest": "decision_making", "promotion": {"unmeasured": false, "score": 52.7, "statement": "Advancement looks steady rather than rapid. Consistent, visible delivery is likely to serve you better than waiting to be noticed.", "timing_note": "The periods most supportive of advancement are shown in the timing section of this report."}, "statement": "You lead well in settings that suit you and less comfortably in ones that do not. Choosing the environment matters more for you than for most.", "evidence": [{"factor": "d10_authority", "impact": "neutral", "strength": 55.0, "method": "d10", "detail": "The supporting career chart was read for authority and seniority alongside your main chart."}, {"factor": "sun_prominent_but_debilitated", "impact": "neutral", "strength": 40.0, "method": "d1", "detail": "The planet governing authority sits in a prominent house but in its weakest sign, so responsibility tends to be earned the hard way rather than granted on sight."}], "factor_count": 2},
                        "strengths": {"emitted": true, "ranked": [{"key": "entrepreneurship", "label": "Entrepreneurship", "score": 93.0, "factor_count": 3}, {"key": "negotiation", "label": "Negotiation", "score": 93.0, "factor_count": 3}], "statement": "Your chart points most clearly to entrepreneurship, negotiation and research. These are the qualities worth leading with when you describe yourself professionally.", "evidence": [{"factor": "professional_strengths", "impact": "positive", "strength": 60.0, "method": "d1", "detail": "Your strongest professional qualities are entrepreneurship, negotiation and research."}], "factor_count": 1},
                        "challenges": {"emitted": false, "reason": "none_indicated", "challenges": [], "statement": "No particular professional obstacle stands out in your chart. Ordinary care and consistency should serve you well.", "evidence": [], "factor_count": 0},
                        "money": {"score": 49.1, "band": "steady", "band_label": "Steady income potential", "band_note": "Your chart supports steady, dependable income rather than dramatic jumps. Consistency is the strength here.", "unmeasured": false, "stability": {"score": 55.4, "statement": "Income looks reasonably steady with the ordinary ups and downs."}, "multiple_streams": {"indicated": false, "statement": "Your chart points to income concentrated in one main source rather than spread across several."}, "salary_vs_business": "Your chart does not clearly favour salaried over self-generated income. Both remain open.", "statement": "Your chart supports steady, dependable income rather than dramatic jumps. Consistency is the strength here. This is a reading of potential and shape — a chart cannot name a figure, and any report that does is guessing.", "evidence": [{"factor": "earned_income_pressured", "impact": "negative", "strength": 50.0, "method": "d1", "detail": "Earned income may need more active management than it does for most, particularly in the early years."}], "factor_count": 1},
                        "timing": {"emitted": true, "windows": [{"start": "2054-08-24", "end": "2055-06-30", "age_from": 63, "age_to": 64, "maha_lord": "Mercury", "antar_lord": "Sun", "score": 59.7, "independent_factors": 3, "strength": "strongly indicated", "theme": "Recognition and authority", "theme_text": "a period that favours visibility, responsibility and being credited for your work", "supports": ["promotion or added responsibility", "a change of role"]}, {"start": "2048-05-30", "end": "2050-10-27", "age_from": 57, "age_to": 60, "maha_lord": "Mercury", "antar_lord": "Mercury", "score": 53.1, "independent_factors": 2, "strength": "moderately indicated", "theme": "Skill and communication", "theme_text": "a period favouring learning, negotiation and visible expertise", "supports": ["a change of job", "independent or consulting work"]}], "timeline": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "score": 10.6, "theme": "Drive and competition", "opportunity": "a period favouring initiative, and one where pushing works", "caution": "Avoid committing to major change during this stretch — it favours holding your position."}, {"start": "2029-05-30", "end": "2032-06-02", "age_from": 38, "age_to": 41, "score": 33.2, "theme": "Consolidation and structure", "opportunity": "a period favouring steady building rather than fast moves", "caution": "Avoid committing to major change during this stretch — it favours holding your position."}], "peak": {"start": "2054-08-24", "end": "2055-06-30", "age_from": 63, "age_to": 64, "maha_lord": "Mercury", "antar_lord": "Sun", "score": 59.7, "independent_factors": 3, "strength": "strongly indicated", "theme": "Recognition and authority", "theme_text": "a period that favours visibility, responsibility and being credited for your work", "supports": ["promotion or added responsibility", "a change of role"]}, "transitions": [{"start": "2054-08-24", "end": "2055-06-30", "age_from": 63, "age_to": 64, "supports": ["promotion or added responsibility", "a change of role"], "strength": "strongly indicated", "statement": "This period is most supportive of promotion or added responsibility and a change of role."}, {"start": "2048-05-30", "end": "2050-10-27", "age_from": 57, "age_to": 60, "supports": ["a change of job", "independent or consulting work"], "strength": "moderately indicated", "statement": "This period is most supportive of a change of job, independent or consulting work and a change of industry."}], "statement": "The stretch from 24/08/2054 to 30/06/2055 — around age 63 to 64 looks most supportive for your professional life. The theme of that period is recognition and authority: a period that favours visibility, responsibility and being credited for your work. Periods like this describe when conditions favour a move — they are not a promise that one will happen.", "note": "Career periods are shown as spans, not dates. A chart indicates when conditions favour a move; it does not fix the day you make one.", "evidence": [{"factor": "career_timing_windows", "impact": "positive", "strength": 60.0, "method": "dasha", "detail": "Periods ruled by your professional significators were identified, the strongest running 24/08/2054 to 30/06/2055."}], "factor_count": 1},
                        "relocation": {"verdict": "domestic", "label": "Career growth through another city or region", "scores": {"stay": 50.0, "domestic": 75.0, "foreign": 72.0, "remote": 45.0}, "foreign_supports": 2, "reasons": ["a better role or a step up", "your own ambition rather than any external push"], "statement": "Your chart supports professional growth through a change of city or region rather than through leaving the country. A move within your own country looks like the more natural step. Where a move happens, it is most often connected with a better role or a step up or your own ambition rather than any external push.", "foreign_career": {"indicated": true, "score": 72.0, "mode": "relocation", "statement": "Your chart supports a genuine overseas connection in your working life, including the possibility of working from another country."}, "evidence": [{"factor": "career_ruler_distant", "impact": "neutral", "strength": 65.0, "method": "d1", "detail": "The ruler of your profession sits in the part of your chart that governs distance and life away from where you started."}], "factor_count": 1},
                        "cities": {"emitted": true, "ranked": [{"city": "Mecca", "state": null, "country": "Saudi Arabia", "score": 89.7, "distance_km": 3832.7, "classification": "highly_favourable", "confidence": "Moderate"}, {"city": "Moscow", "state": null, "country": "Russia", "score": 87.1, "distance_km": 4342.5, "classification": "highly_favourable", "confidence": "Moderate"}], "comparison": [{"city": "Mecca", "country": "Saudi Arabia", "career": 89.7, "distance_km": 3832.7, "confidence": "Moderate", "business": null, "income": null, "leadership": 84.2, "international": null}, {"city": "Moscow", "country": "Russia", "career": 87.1, "distance_km": 4342.5, "confidence": "Moderate", "business": 85.4, "income": 80.4, "leadership": 83.8, "international": null}], "by_goal": [{"key": "corporate", "question": "Best city for a corporate career", "goal": "career", "goal_label": "Corporate career", "city": "Mecca", "country": "Saudi Arabia", "score": 89.7}, {"key": "business", "question": "Best city for business", "goal": "business", "goal_label": "Business", "city": "Addis Ababa", "country": "Ethiopia", "score": 87.6}], "statement": "For professional life your chart favours Mecca, Moscow and Mombasa. These were scored from your own birth chart for each place — not from any general ranking of cities — which is why the order may not match how these places are usually rated.", "note": "Every score is calculated from your birth chart for that specific location. A city that suits one goal often does not suit another, which is why the list changes by goal.", "evidence": [{"factor": "career_cities_ranked", "impact": "positive", "strength": 60.0, "method": "relocation", "detail": "Cities were scored against your own birth chart for professional life, not taken from a general list."}], "factor_count": 1},
                        "yogas": {"emitted": true, "yogas": [{"name": "Dharma-Karmadhipati Yoga", "planets": ["Venus", "Mercury"], "strength": 82.0, "band": "strong", "meaning": "The rulers of your profession and your fortune sit together. This is among the most favourable career combinations: work and good fortune tend to arrive through the same door, and effort in your field is unusually likely to be rewarded.", "active_now": true, "activity": "This combination rules one of your supportive periods, so it is live rather than dormant."}, {"name": "Hamsa Yoga", "planets": ["Jupiter"], "strength": 81.0, "band": "strong", "meaning": "Your judgement and the trust others place in it are a genuine professional asset. Advisory, teaching and guidance-led work tends to come naturally.", "active_now": false, "activity": "This combination is present in your chart but does not rule any of the periods identified in this report, so it works quietly in the background."}], "active": ["Dharma-Karmadhipati Yoga"], "statement": "Your chart carries Dharma-Karmadhipati Yoga and Hamsa Yoga among its career combinations. Of these, Dharma-Karmadhipati Yoga rules one of the supportive periods identified in this report, so it is currently live.", "evidence": [{"factor": "career_yoga_dharma_karmadhipati_yoga", "impact": "positive", "strength": 82.0, "method": "d1", "detail": "Dharma-Karmadhipati Yoga is present in your chart."}, {"factor": "career_yoga_hamsa_yoga", "impact": "positive", "strength": 81.0, "method": "d1", "detail": "Hamsa Yoga is present in your chart."}], "factor_count": 2},
                        "family_balance": {"emitted": true, "demands": [{"demand": "A change of base", "detail": "Your strongest professional openings are connected with a change of location. That is an opportunity, and it is also a household decision rather than only a career one.", "balance": "Treat the move as a joint decision with a timeline everyone has agreed, rather than an offer to accept and explain afterwards."}], "statement": "Your professional indications would ask a change of base of your household. None of this is a prediction about your family life — it is what the career side of your chart would want if you followed it fully, and the balance is yours to set."},
                        "strategy": {"prioritise": ["Aim your next move at creative & design or government & administration — these are where your chart's support is concentrated."], "skills": ["Lead with entrepreneurship, negotiation and research — these are the qualities your chart supports most.", "The area worth deliberate work is job satisfaction. It is your lowest reading, which makes it where effort buys the most."], "decisions": ["You can afford to build depth in one direction rather than hedging across several.", "If you do move for work, the stretch from 24/08/2054 to 30/06/2055 is the period your chart supports most. Relocation and timing agree here, which is worth waiting for."], "avoid": [], "statement": "This guidance is drawn from the readings above rather than from general advice, which is why some of it will read as obvious and some of it will not."},
                        "summary": {"career_score": 40.6, "outlook": "Mixed — workable with focus", "job_score": 68.0, "business_score": 69.0, "leadership_score": 50.3, "income_score": 49.1, "promotion_score": 52.7, "foreign_score": 64.2, "route": "Both can work for you", "pace": "quick", "best_fields": ["Creative & Design", "Government & Administration"], "main_strength": "Foreign career potential", "main_challenge": "Job satisfaction", "foreign_career_score": 72.0, "relocation_verdict": "Career growth through another city or region", "relocation_scores": {"stay": 50.0, "domestic": 75.0, "foreign": 72.0, "remote": 45.0}, "best_location": "Mecca", "best_period": {"start": "2054-08-24", "end": "2055-06-30"}, "supporting_chart": "confirms", "conclusion": "Overall, your chart is mixed — workable with focus where professional life is concerned. The directions it favours most are creative & design, government & administration and media & communication. Your chart supports employment and your own venture roughly equally. The decision is genuinely yours, and either can work. Your chart shows comfort with the unconventional and the untested. Your chart s [... 804 more characters]"},
                        "confidence": {"level": "High", "note": "Several independent methods agree, which is the most dependable kind of reading.", "method_count": 5, "methods_resolved": ["d1", "d10"], "conflicting_indicators": true},
                        "evidence": [{"factor": "career_yoga_dharma_karmadhipati_yoga", "impact": "positive", "strength": 82.0, "method": "d1", "detail": "Dharma-Karmadhipati Yoga is present in your chart."}, {"factor": "career_yoga_hamsa_yoga", "impact": "positive", "strength": 81.0, "method": "d1", "detail": "Hamsa Yoga is present in your chart."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-politics": {
      "post": {
        "operationId": "report-politics",
        "summary": "Politics & Public Life Report",
        "description": "In-depth politics & public life reading: an overview score, scored sections with the chart evidence behind each, timing windows, remedies, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "disclaimer": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "resilience": {"type": "number"}, "scores": {"type": "object", "properties": {"leadership": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "influence": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "popularity": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "authority": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "speaking": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "networking": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "political": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "administrative": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "impact": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "required": ["leadership", "influence", "popularity", "authority", "speaking", "networking", "political", "administrative", "impact"]}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "suits": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "areas": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["indicated", "areas", "statement"]}, "attention_vs_influence": {"type": "object", "properties": {"key": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "statement"]}, "timing_of_development": {"type": "object", "properties": {"key": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "statement"]}, "strengths": {"type": "object", "properties": {"top": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["top", "statement"]}, "challenges": {"type": "object", "properties": {"areas": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["areas", "statement"]}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "resilience", "scores", "strongest", "weakest", "suits", "attention_vs_influence", "timing_of_development", "strengths", "challenges", "evidence", "factor_count"]},
                        "leadership": {"type": "object", "properties": {"score": {"type": "number"}, "band_label": {"type": "string"}, "facets": {"type": "object", "properties": {"decision": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "authority": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "responsibility": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "team": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "strategy": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "organisation": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "persuasion": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "required": ["decision", "authority", "responsibility", "team", "strategy", "organisation", "persuasion"]}, "strongest": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["score", "band_label", "facets", "strongest", "statement", "evidence"]},
                        "image": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "dimensions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "dimensions", "statement", "note", "evidence"]},
                        "potential": {"type": "object", "properties": {"band": {"type": "string"}, "score": {"type": "number"}, "links": {"type": "array", "items": {"type": "string"}}, "markers": {"type": "array", "items": {"type": "string"}}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "resilience": {"type": "number"}, "level": {"type": "string"}, "level_label": {"type": "string"}, "rungs": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "reached": {"type": "boolean"}, "needed": {"type": "integer"}}, "required": ["key", "label", "reached", "needed"]}}, "statement": {"type": "string"}, "level_statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["band", "score", "links", "markers", "supports", "factor_count", "resilience", "level", "level_label", "rungs", "statement", "level_statement", "note", "evidence"]},
                        "speaking": {"type": "object", "properties": {"score": {"type": "number"}, "band_label": {"type": "string"}, "strengths": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["score", "band_label", "strengths", "statement", "evidence"]},
                        "appeal": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "dimensions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "dimensions", "statement", "evidence"]},
                        "styles": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "how": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "how", "supports", "factor_count"]}}, "all_qualified": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "how": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "how", "supports", "factor_count"]}}, "primary": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_qualified", "primary", "statement", "evidence", "factor_count"]},
                        "government": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "supports", "factor_count"]}}, "score": {"type": "number"}, "band_label": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["emitted", "ranked", "score", "band_label", "statement", "evidence"]},
                        "opposition": {"type": "object", "properties": {"score": {"type": "number"}, "band_label": {"type": "string"}, "qualities": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["score", "band_label", "qualities", "statement", "evidence"]},
                        "reputation": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}, "guidance": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["key", "label", "statement", "guidance", "evidence"]},
                        "impact": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "how": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "how", "score", "supports", "factor_count"]}}, "all_ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "how": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "how", "score", "supports", "factor_count"]}}, "primary": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_ranked", "primary", "statement", "evidence", "factor_count"]},
                        "career": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "recommended": {"type": "string"}, "recommended_label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "how": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "how", "score", "band_label"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["emitted", "recommended", "recommended_label", "ranked", "statement", "note", "evidence"]},
                        "business": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "indicated": {"type": "boolean"}, "dimensions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "indicated", "dimensions", "statement", "evidence"]},
                        "timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "windows": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "kind": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "confidence", "theme", "theme_text", "kind", "opportunity", "caution"]}}, "timeline": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "confidence": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "score", "theme", "confidence", "opportunity", "caution"]}}, "phases": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "string"}, "start": {"type": "null"}, "end": {"type": "null"}, "age_from": {"type": "null"}, "age_to": {"type": "null"}, "score": {"type": "null"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "opportunity": {"type": "null"}, "caution": {"type": "null"}}, "required": ["key", "label", "window", "start", "end", "age_from", "age_to", "score", "confidence", "theme", "opportunity", "caution"]}}, "peak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "kind": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "confidence", "theme", "theme_text", "kind", "opportunity", "caution"]}, "secondary": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "kind": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "confidence", "theme", "theme_text", "kind", "opportunity", "caution"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "windows", "timeline", "phases", "peak", "secondary", "statement", "note", "evidence", "factor_count"]},
                        "combined_timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "recommendations": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "window", "statement"]}}, "statement": {"type": "string"}}, "required": ["emitted", "recommendations", "statement"]},
                        "relocation": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}}, "required": ["stay", "domestic", "foreign"]}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "dimensions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "best": {"type": "string"}, "best_label": {"type": "string"}}, "required": ["key", "label", "stay", "domestic", "foreign", "best", "best_label"]}}, "move_supports": {"type": "integer"}, "reasons": {"type": "array", "items": {"type": "string"}}, "questions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "answer": {"type": "string"}}, "required": ["key", "question", "score", "band_label", "answer"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "scores", "ranked", "dimensions", "move_supports", "reasons", "questions", "statement", "note", "evidence", "factor_count"]},
                        "cities": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}}, "required": ["city", "state", "country", "score", "distance_km", "confidence"]}}, "comparison": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "overall": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}, "leadership": {"type": "number"}, "networking": {"type": "null"}, "career_support": {"type": "null"}, "social_impact": {"type": "null"}, "popularity": {"type": "null"}, "political_opportunity": {"type": "number"}, "visibility": {"type": "number"}, "long_term": {"type": "null"}, "timing": {"type": "string"}}, "required": ["city", "country", "overall", "distance_km", "confidence", "leadership", "networking", "career_support", "social_impact", "popularity", "political_opportunity", "visibility", "long_term", "timing"]}}, "by_goal": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "question", "goal", "goal_label", "city", "country", "score"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "comparison", "by_goal", "statement", "note", "evidence", "factor_count"]},
                        "family": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "demanding": {"type": "boolean"}, "areas": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["emitted", "demanding", "areas", "statement", "evidence"]},
                        "wealth": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "how": {"type": "string"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "how", "band_label"]}}, "primary": {"type": "string"}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["emitted", "ranked", "primary", "statement", "note", "evidence"]},
                        "service": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "indicated": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "all_ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "indicated", "ranked", "all_ranked", "statement", "evidence"]},
                        "guidance": {"type": "object", "properties": {"sections": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "items": {"type": "array", "items": {"type": "string"}}}, "required": ["key", "label", "items"]}}, "statement": {"type": "string"}, "note": {"type": "string"}}, "required": ["sections", "statement", "note"]},
                        "remedies": {"type": "object", "properties": {"entries": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "practice": {"type": "string"}, "why": {"type": "string"}}, "required": ["name", "practice", "why"]}}, "note": {"type": "string"}}, "required": ["entries", "note"]},
                        "summary": {"type": "object", "properties": {"public_life": {"type": "number"}, "outlook": {"type": "string"}, "leadership": {"type": "number"}, "popularity": {"type": "number"}, "political_potential": {"type": "number"}, "political_band": {"type": "string"}, "networking": {"type": "number"}, "public_speaking": {"type": "number"}, "administrative": {"type": "number"}, "social_impact": {"type": "number"}, "relocation_score": {"type": "number"}, "relocation_scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}}, "required": ["stay", "domestic", "foreign"]}, "level": {"type": "string"}, "best_path": {"type": "string"}, "best_style": {"type": "string"}, "best_impact_area": {"type": "string"}, "best_location": {"type": "string"}, "best_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "best_relocation_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "strongest_quality": {"type": "string"}, "main_challenge": {"type": "string"}, "conclusion": {"type": "string"}}, "required": ["public_life", "outlook", "leadership", "popularity", "political_potential", "political_band", "networking", "public_speaking", "administrative", "social_impact", "relocation_score", "relocation_scores", "level", "best_path", "best_style", "best_impact_area", "best_location", "best_period", "best_relocation_period", "strongest_quality", "main_challenge", "conclusion"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "disclaimer",
                        "overview",
                        "leadership",
                        "image",
                        "potential",
                        "speaking",
                        "appeal",
                        "styles",
                        "government",
                        "opposition",
                        "reputation",
                        "impact",
                        "career",
                        "business",
                        "timing",
                        "combined_timing",
                        "relocation",
                        "cities",
                        "family",
                        "wealth",
                        "service",
                        "guidance",
                        "remedies",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "politics",
                        "title": "Politics & Public Life Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "disclaimer": "This is an astrological reading about leadership and public life. No reading can promise an election result, a public office or an appointment — those are decided by voters, institutions and a great d [... 232 more characters]",
                        "overview": {"score": 38.2, "band": "local", "band_label": "Influence within a circle rather than a crowd", "band_note": "Your chart supports influence within a circle you know rather than with a crowd you do not. That is a genuine form of public life and often the more effective one.", "unmeasured": false, "resilience": 47.8, "scores": {"leadership": {"key": "leadership", "label": "Leadership potential", "score": 52.9, "band_label": "Moderate"}, "influence": {"key": "influence", "label": "Public influence", "score": 47.0, "band_label": "Moderate"}, "popularity": {"key": "popularity", "label": "Popularity", "score": 43.1, "band_label": "Moderate"}, "authority": {"key": "authority", "label": "Authority", "score": 47.5, "band_label": "Moderate"}, "speaking": {"key": "speaking", "label": "Public speaking", "score": 60.2, "band_label": "Good"}, "networking": {"key": "networking", "label": "Networking", "score": 51.4, "band_label": "Moderate"}, "political": {"key": "political", "label": "Political potential", "score": 64.2, "band_label": "Good"}, "administrative": {"key": "administrative", "label": "Administrative potential", "score": 47.0, "band_label": "Moderate"}, "impact": {"key": "impact", "label": "Social impact", "score": 55.3, "band_label": "Good"}}, "strongest": "political", "weakest": "popularity", "suits": {"indicated": false, "areas": ["judgement and audience"], "statement": "Public life does not read as a natural fit in your chart. That is not a judgement about ability — it means nothing here is pulling you toward an audience, so any public role would be a decision rather [... 88 more characters]"}, "attention_vs_influence": {"key": "balanced", "statement": "Attention and influence read at a similar level for you. Neither runs ahead of the other, which is a comfortable balance and rarer than it sounds."}, "timing_of_development": {"key": "early", "statement": "Your chart suggests leadership tends to find you early — being handed responsibility before you feel ready for it. That is usually a compliment being paid to you, and it is worth taking as one."}, "strengths": {"top": ["political potential"], "statement": "Your clearest strengths for public life are political potential, public speaking and social impact. These are what to build a role around rather than working evenly across everything, which is how cap [... 54 more characters]"}, "challenges": {"areas": ["administrative potential"], "statement": "The areas that will take deliberate work are administrative potential and popularity. These are not disqualifications — they are the parts that will need method rather than instinct."}, "evidence": [{"factor": "public_links", "impact": "positive", "strength": 62.0, "method": "d1", "detail": "2 genuine connections were found between your chart's main areas of life and the parts governing standing and networks."}], "factor_count": 2},
                        "leadership": {"score": 47.3, "band_label": "Moderate", "facets": {"decision": {"key": "decision", "label": "Decision-making", "score": 67.1, "band_label": "Good"}, "authority": {"key": "authority", "label": "Carrying authority", "score": 54.4, "band_label": "Moderate"}, "responsibility": {"key": "responsibility", "label": "Taking responsibility", "score": 50.4, "band_label": "Moderate"}, "team": {"key": "team", "label": "Leading a team", "score": 57.1, "band_label": "Good"}, "strategy": {"key": "strategy", "label": "Strategic thinking", "score": 60.3, "band_label": "Good"}, "organisation": {"key": "organisation", "label": "Running organisations", "score": 51.4, "band_label": "Moderate"}, "persuasion": {"key": "persuasion", "label": "Moving people", "score": 57.3, "band_label": "Good"}}, "strongest": "decision", "statement": "Leadership potential reads as moderate, and within that your strongest facets are decision-making and strategic thinking.", "evidence": []},
                        "image": {"emitted": true, "dimensions": [{"key": "visibility", "label": "Visibility", "score": 50.4, "band_label": "Moderate"}], "statement": "Your chart projects position and personality at a similar level.", "note": "This describes what your chart tends to project. How people actually respond depends on what you do and on a great deal that no chart contains, and nothing here promises approval.", "evidence": []},
                        "potential": {"band": "Moderate", "score": 64.2, "links": ["lord_of_11_in_5"], "markers": ["authority_placed"], "supports": ["lord_of_11_in_5"], "factor_count": 3, "resilience": 47.8, "level": "public", "level_label": "Public leadership", "rungs": [{"key": "community", "label": "Community and local influence", "reached": true, "needed": 1}], "statement": "Your chart carries moderate indications for public responsibility. Real, and sitting alongside a life that does not require an audience rather than demanding one.", "level_statement": "The level your chart most clearly supports is public leadership — a role where people who do not know you personally are affected by what you decide. That is a genuine step up in both reach and scruti [... 3 more characters]", "note": "This describes what a chart supports, not what will happen. No reading can promise an election, an appointment or an office — those are decided by voters and institutions, and a chart sees none of it. [... 120 more characters]", "evidence": []},
                        "speaking": {"score": 59.6, "band_label": "Good", "strengths": [{"key": "clarity", "label": "Clarity", "statement": "You are likely to explain things well — the ability to make a complicated point land, which is rarer than it sounds and does most of the work in public life."}], "statement": "Your chart supports clarity and weight as communication strengths.", "evidence": [{"factor": "communication", "impact": "positive", "strength": 58.0, "method": "d1", "detail": "2 independent indications support public communication."}]},
                        "appeal": {"emitted": true, "dimensions": [{"key": "mass", "label": "Connecting with people at scale", "score": 46.0, "band_label": "Moderate"}], "statement": "Your strongest social faculty is building a network.", "evidence": []},
                        "styles": {"emitted": true, "ranked": [{"key": "youth", "label": "Community and youth leadership", "score": 46.7, "how": "Organising and energising people around a shared thing, often younger than you. Genuine and frequently underrated.", "supports": ["standing_ruler"], "factor_count": 4}], "all_qualified": [{"key": "youth", "label": "Community and youth leadership", "score": 46.7, "how": "Organising and energising people around a shared thing, often younger than you. Genuine and frequently underrated.", "supports": ["standing_ruler"], "factor_count": 4}], "primary": "Community and youth leadership", "statement": "The styles of leadership your chart supports most are community and youth leadership, administrative leadership and social advocacy. These describe HOW you would operate rather than what you would sta [... 83 more characters]", "evidence": [{"factor": "style_youth", "impact": "positive", "strength": 58.9, "method": "d1", "detail": "Community and youth leadership is supported by 4 independent indications."}], "factor_count": 2},
                        "government": {"emitted": true, "ranked": [{"key": "leadership", "label": "Public leadership roles", "score": 39.3, "supports": ["standing_ruler_here"], "factor_count": 3}], "score": 47.1, "band_label": "Moderate", "statement": "Within public institutions your chart supports public leadership roles, policy work and public institutions most clearly. These describe the kind of responsibility that would suit you, not a route to  [... 13 more characters]", "evidence": [{"factor": "government_suitability", "impact": "positive", "strength": 58.0, "method": "d10", "detail": "Several independent indications support public leadership roles and policy work."}]},
                        "opposition": {"score": 47.8, "band_label": "Moderate", "qualities": [{"key": "directness", "label": "You push back", "statement": "Your chart suggests you meet resistance directly rather than absorbing it. Effective, and worth watching in situations that reward patience."}], "statement": "Your capacity to handle opposition reads as moderate. This describes how you tend to cope with resistance, criticism and prolonged pressure. It says nothing about who might oppose you — a chart cannot [... 66 more characters]", "evidence": []},
                        "reputation": {"key": "volatile", "label": "A reputation that moves", "statement": "Your chart suggests standing that shifts rather than accumulating — periods of high visibility and quieter ones. Worth building something durable during the quiet parts rather than waiting them out.", "guidance": "The practical version applies to everyone in public life: assume anything you write will be read by someone unsympathetic, correct your own errors before anyone else has to, and keep the people who wi [... 109 more characters]", "evidence": [{"factor": "public_exposure", "impact": "neutral", "strength": 54.0, "method": "d1", "detail": "Influences associated with visibility and examination touch the part of your chart governing standing."}]},
                        "impact": {"emitted": true, "ranked": [{"key": "education", "label": "Education", "how": "Teaching, schools, universities, or the arguments about how they should be run. Slow work with a long tail.", "score": 59.7, "supports": ["standing_ruler_here"], "factor_count": 5}], "all_ranked": [{"key": "education", "label": "Education", "how": "Teaching, schools, universities, or the arguments about how they should be run. Slow work with a long tail.", "score": 59.7, "supports": ["standing_ruler_here"], "factor_count": 5}], "primary": "Education", "statement": "The areas where your chart suggests you could actually change something are education, cultural and spiritual work and young people. Influence is far easier to build where you already have something t [... 46 more characters]", "evidence": [{"factor": "impact_areas", "impact": "positive", "strength": 58.0, "method": "d1", "detail": "Several independent indications point toward education and cultural and spiritual work."}], "factor_count": 1},
                        "career": {"emitted": true, "recommended": "secondary", "recommended_label": "Public life alongside a career", "ranked": [{"key": "secondary", "label": "Public life alongside a career", "how": "A profession that pays and a public role that does not — the arrangement most people who last actually have.", "score": 60.4, "band_label": "Good"}], "statement": "Your chart supports public life alongside a career rather than instead of one. That is the arrangement most people who last actually have — the profession pays, and the independence it buys is what ma [... 35 more characters]", "note": "One thing worth stating regardless of the ranking: depending on public life for your income changes every decision you make in it, and rarely for the better. The people who hold a position most freely [... 50 more characters]", "evidence": [{"factor": "career_arrangement", "impact": "neutral", "strength": 54.0, "method": "d10", "detail": "The parts of your chart governing work, partnership and networks were read together to compare arrangements."}]},
                        "business": {"emitted": true, "indicated": false, "dimensions": [{"key": "crossover", "label": "Business into public life", "score": 49.1, "band_label": "Moderate"}], "statement": "Your chart does not particularly connect commercial experience with public standing. Neither closes off the other — it means one would not do much of the work of the other for you.", "evidence": []},
                        "timing": {"emitted": true, "windows": [{"start": "2054-08-24", "end": "2055-06-30", "age_from": 63, "age_to": 64, "maha_lord": "Mercury", "antar_lord": "Sun", "score": 41.8, "independent_factors": 3, "confidence": "Good", "theme": "Recognition", "theme_text": "a period classically associated with visibility and formal standing", "kind": "recognition", "opportunity": "The clearest stretch for stepping forward and being seen.", "caution": "Visibility invites examination; assume it."}], "timeline": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "score": 39.8, "theme": "Contest", "confidence": "Good", "opportunity": "Well suited to a campaign or a contested position.", "caution": "Directness costs allies as fast as it wins arguments."}], "phases": [{"key": "early", "label": "Early leadership", "window": "Not clearly indicated", "start": null, "end": null, "age_from": null, "age_to": null, "score": null, "confidence": "Low", "theme": "Not clearly indicated", "opportunity": null, "caution": null}], "peak": {"start": "2054-08-24", "end": "2055-06-30", "age_from": 63, "age_to": 64, "maha_lord": "Mercury", "antar_lord": "Sun", "score": 41.8, "independent_factors": 3, "confidence": "Good", "theme": "Recognition", "theme_text": "a period classically associated with visibility and formal standing", "kind": "recognition", "opportunity": "The clearest stretch for stepping forward and being seen.", "caution": "Visibility invites examination; assume it."}, "secondary": {"start": "2056-11-28", "end": "2057-11-25", "age_from": 66, "age_to": 67, "maha_lord": "Mercury", "antar_lord": "Mars", "score": 41.8, "independent_factors": 3, "confidence": "Good", "theme": "Contest", "theme_text": "an active period suiting competition and direct effort", "kind": "contest", "opportunity": "Well suited to a campaign or a contested position.", "caution": "Directness costs allies as fast as it wins arguments."}, "statement": "The stretch from 24/08/2054 to 30/06/2055 (age 63 to 64) appears supportive for public competition, visibility and leadership opportunities. Its theme is recognition: a period classically associated w [... 284 more characters]", "note": "These are favourable periods, not outcomes. A chart can suggest when conditions support visibility and competition; it cannot say what any contest produces, and no reading anywhere can. The rows show  [... 125 more characters]", "evidence": [{"factor": "public_windows", "impact": "positive", "strength": 58.0, "method": "dasha", "detail": "Periods engaging the parts of your chart governing standing and networks were identified."}], "factor_count": 1},
                        "combined_timing": {"emitted": true, "recommendations": [{"key": "enter", "label": "Best period to step into public life", "window": "Not clearly indicated", "statement": "Getting involved — a committee, an association, anything with people and a purpose — suits Not clearly indicated. Almost nobody starts at the level they end at, and the first step is smaller than peop [... 10 more characters]"}], "statement": "These combine the public-life periods with the location reading. Direction and year are separate questions, and something right in principle can still be wrong this year."},
                        "relocation": {"verdict": "domestic", "label": "Another place in your own country may suit public life better", "scores": {"stay": 57.1, "domestic": 74.0, "foreign": 42.7}, "ranked": [{"key": "domestic", "label": "Another city or region at home", "score": 74.0, "band_label": "Strong"}], "dimensions": [{"key": "leadership", "label": "Leadership", "stay": 52.9, "domestic": 62.2, "foreign": 47.8, "best": "domestic", "best_label": "Another city or region at home"}], "move_supports": 2, "reasons": ["a chart that ties your standing to movement rather than to a fixed base"], "questions": [{"key": "current", "question": "Can your public influence grow where you are now?", "score": 57.1, "band_label": "Good", "answer": "How well your current place supports standing, networks and visibility. A high figure here is worth more than it looks: it is the only option where the relationships you already have keep counting."}], "statement": "A move within your own country appears more supportive of public influence than either staying or going abroad. What drives it is a chart that ties your standing to movement rather than to a fixed bas [... 144 more characters]", "note": "Worth saying plainly, because most reports of this kind do not: a bigger city is not automatically better for public life, and a capital is often worse. Influence is built on a network, and a network  [... 217 more characters]", "evidence": [{"factor": "standing_travels", "impact": "neutral", "strength": 56.0, "method": "d1", "detail": "The influence governing your standing sits in a part of the chart associated with movement and distance."}], "factor_count": 1},
                        "cities": {"emitted": true, "ranked": [{"city": "Mecca", "state": null, "country": "Saudi Arabia", "score": 89.7, "distance_km": 3832.7, "confidence": "Moderate"}], "comparison": [{"city": "Mecca", "country": "Saudi Arabia", "overall": 89.7, "distance_km": 3832.7, "confidence": "Moderate", "leadership": 89.7, "networking": null, "career_support": null, "social_impact": null, "popularity": null, "political_opportunity": 89.7, "visibility": 89.7, "long_term": null, "timing": "Moderate"}], "by_goal": [{"key": "political", "question": "Best city for a public or political career", "goal": "career", "goal_label": "Public standing", "city": "Mecca", "country": "Saudi Arabia", "score": 89.7}], "statement": "For public life your chart favours Mecca, Moscow and Mombasa. Each was scored from your own birth chart for that specific place rather than chosen for its size or its politics, which is why the list m [... 42 more characters]", "note": "Every place here was scored against your own birth details for that specific location. None was chosen for being a capital or a large city — those places are full of people who moved there for the sam [... 173 more characters]", "evidence": [{"factor": "public_cities_ranked", "impact": "neutral", "strength": 58.0, "method": "relocation", "detail": "Locations were scored against your own birth chart for each specific place, not taken from any list of cities with a political reputation."}], "factor_count": 1},
                        "family": {"emitted": true, "demanding": false, "areas": [{"key": "marriage", "label": "Marriage and partnership", "statement": "A public role is easier when the person closest to you has agreed to it rather than absorbed it. That conversation is worth having explicitly and early — the resentment that builds otherwise is about  [... 37 more characters]"}], "statement": "Public life is paid for at home, and the people who pay did not choose it. The reading below is balanced rather than discouraging — the cost is real, it is manageable, and it is manageable mainly by b [... 44 more characters]", "evidence": [{"factor": "family_impact", "impact": "neutral", "strength": 52.0, "method": "d1", "detail": "The parts of your chart governing home, partnership and children were read against the demands a public role makes."}]},
                        "wealth": {"emitted": true, "ranked": [{"key": "service", "label": "Through service work", "score": 48.2, "how": "Contribution that earns you standing rather than income. Whether that is affordable is a separate question and a real one.", "band_label": "Moderate"}], "primary": "Through service work", "statement": "The route most likely to give you the standing and the resources a public role needs is through service work.", "note": "This reads in one direction only, and deliberately: how resources you have earned might support a public role. It does not read the reverse, because the idea that a public position produces money is b [... 127 more characters]", "evidence": [{"factor": "support_routes", "impact": "neutral", "strength": 54.0, "method": "d1", "detail": "The parts of your chart governing resources, work and networks were read for how they might support a public role."}]},
                        "service": {"emitted": true, "indicated": false, "ranked": [{"key": "spiritual", "label": "Faith-based organisations", "score": 57.7, "band_label": "Good"}], "all_ranked": [{"key": "spiritual", "label": "Faith-based organisations", "score": 57.7, "band_label": "Good"}], "statement": "Your chart does not particularly connect public influence with service, faith or charitable work. Any of them remains available as a choice; none reads as the route your standing would come through.", "evidence": []},
                        "guidance": {"sections": [{"key": "leadership", "label": "Developing as a leader", "items": ["Take a small role and finish it properly before taking a larger one. Almost everyone who lasts in public life did something unglamorous competently first, and almost everyone who does not, did not."]}], "statement": "The guidance below follows from the readings above rather than from a separate calculation, so it should not contradict them. Much of it is craft rather than astrology, said plainly, because the hones [... 95 more characters]", "note": "None of this takes a side. This report has no view on what you should believe, which party or movement suits you, or what any public question ought to be decided — those are yours, and a chart has not [... 32 more characters]"},
                        "remedies": {"entries": [{"name": "Practice associated with Saturn", "practice": "Traditional practice is to chant \"Om Shanaye Namah\" on Saturdays, to feed or clothe people who work with their hands, and to keep commitments exactly.", "why": "Saturn is the classical significator for endurance, responsibility and institutional work."}], "note": "These are traditional astrological practices, offered as practice and nothing more. No practice produces an election result, an office or an appointment — those are decided by voters and institutions, [... 198 more characters]"},
                        "summary": {"public_life": 38.2, "outlook": "Influence within a circle rather than a crowd", "leadership": 52.9, "popularity": 43.1, "political_potential": 64.2, "political_band": "Moderate", "networking": 51.4, "public_speaking": 60.2, "administrative": 47.0, "social_impact": 55.3, "relocation_score": 74.0, "relocation_scores": {"stay": 57.1, "domestic": 74.0, "foreign": 42.7}, "level": "Public leadership", "best_path": "Public life alongside a career", "best_style": "Community and youth leadership", "best_impact_area": "Education", "best_location": "Mecca, Saudi Arabia", "best_period": {"start": "2054-08-24", "end": "2055-06-30"}, "best_relocation_period": {"start": "2054-08-24", "end": "2055-06-30"}, "strongest_quality": "Decision-making", "main_challenge": "Popularity", "conclusion": "Overall, your chart reads as: influence within a circle rather than a crowd. Public life does not read as a natural fit in your chart. That is not a judgement about ability — it means nothing here is  [... 2680 more characters]"},
                        "confidence": {"level": "High", "note": "Several independent methods agree, which is the most dependable kind of reading.", "method_count": 4, "methods_resolved": ["d1"], "conflicting_indicators": false},
                        "evidence": [{"factor": "public_links", "impact": "positive", "strength": 62.0, "method": "d1", "detail": "2 genuine connections were found between your chart's main areas of life and the parts governing standing and networks."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-wealth": {
      "post": {
        "operationId": "report-wealth",
        "summary": "Wealth Report",
        "description": "In-depth wealth reading: an overview score, scored sections with the chart evidence behind each, timing windows, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "scores": {"type": "object", "properties": {"income": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "accumulation": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "stability": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "savings": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "assets": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "business": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "multiple": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "sudden": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "long_term": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}}, "required": ["income", "accumulation", "stability", "savings", "assets", "business", "multiple", "sudden", "long_term"]}, "measured_layers": {"type": "array", "items": {"type": "string"}}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "pace": {"type": "object", "properties": {"pace": {"type": "string"}, "text": {"type": "string"}}, "required": ["pace", "text"]}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "scores", "measured_layers", "strongest", "weakest", "pace", "statement", "evidence", "factor_count"]},
                        "hora": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "score": {"type": "number"}, "lean": {"type": "string"}, "sun_hora": {"type": "array", "items": {"type": "string"}}, "moon_hora": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}, "confirmation": {"type": "object", "properties": {"known": {"type": "boolean"}, "verdict": {"type": "string"}, "delta": {"type": "number"}, "penalty": {"type": "number"}, "statement": {"type": "string"}}, "required": ["known", "verdict", "delta", "penalty", "statement"]}}, "required": ["unmeasured", "score", "lean", "sun_hora", "moon_hora", "statement", "note", "evidence", "factor_count", "confirmation"]},
                        "income": {"type": "object", "properties": {"score": {"type": "number"}, "unmeasured": {"type": "boolean"}, "growth": {"type": "object", "properties": {"trend": {"type": "string"}, "text": {"type": "string"}}, "required": ["trend", "text"]}, "statement": {"type": "string"}}, "required": ["score", "unmeasured", "growth", "statement"]},
                        "routes": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "supports", "factor_count"]}}, "considered": {"type": "integer"}, "gated_out": {"type": "integer"}, "statement": {"type": "string"}}, "required": ["emitted", "ranked", "considered", "gated_out", "statement"]},
                        "multiple_income": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "indicators": {"type": "integer"}, "statement": {"type": "string"}}, "required": ["indicated", "indicators", "statement"]},
                        "money_management": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "save_score": {"type": "number"}, "spend_score": {"type": "number"}, "statement": {"type": "string"}, "guidance": {"type": "array", "items": {"type": "string"}}}, "required": ["verdict", "label", "save_score", "spend_score", "statement", "guidance"]},
                        "risk": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "statement": {"type": "string"}}, "required": ["verdict", "label", "score", "statement"]},
                        "challenges": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "challenges": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "title": {"type": "string"}, "what": {"type": "string"}, "how_to_handle": {"type": "string"}}, "required": ["key", "title", "what", "how_to_handle"]}}, "statement": {"type": "string"}}, "required": ["emitted", "challenges", "statement"]},
                        "business": {"type": "object", "properties": {"score": {"type": "number"}, "unmeasured": {"type": "boolean"}, "partnership_suited": {"type": "boolean"}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["score", "unmeasured", "partnership_suited", "statement", "evidence", "factor_count"]},
                        "property": {"type": "object", "properties": {"score": {"type": "number"}, "unmeasured": {"type": "boolean"}, "d4_used": {"type": "boolean"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "unmeasured", "d4_used", "statement", "evidence", "factor_count"]},
                        "sudden_gains": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "supports": {"type": "integer"}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["indicated", "supports", "statement", "evidence", "factor_count"]},
                        "inherited": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "supports": {"type": "integer"}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "supports", "statement", "evidence", "factor_count"]},
                        "yogas": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "yogas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "planets": {"type": "array", "items": {"type": "string"}}, "strength": {"type": "number"}, "band": {"type": "string"}, "meaning": {"type": "string"}, "active_now": {"type": "boolean"}, "activity": {"type": "string"}}, "required": ["name", "planets", "strength", "band", "meaning", "active_now", "activity"]}}, "active": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "yogas", "active", "statement", "evidence", "factor_count"]},
                        "timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "timeline": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": ["string", "null"]}}, "required": ["start", "end", "age_from", "age_to", "score", "theme", "opportunity", "caution"]}}, "peaks": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text", "supports"]}}, "peak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text", "supports"]}, "moves": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "supports": {"type": "array", "items": {"type": "string"}}, "strength": {"type": "string"}, "statement": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "supports", "strength", "statement"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "timeline", "peaks", "peak", "moves", "statement", "note", "evidence", "factor_count"]},
                        "relocation": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "remote": {"type": "number"}}, "required": ["stay", "domestic", "foreign", "remote"]}, "foreign_supports": {"type": "integer"}, "reasons": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "foreign_wealth": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "score": {"type": "number"}, "mode": {"type": "string"}, "statement": {"type": "string"}}, "required": ["indicated", "score", "mode", "statement"]}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "scores", "foreign_supports", "reasons", "statement", "foreign_wealth", "evidence", "factor_count"]},
                        "cities": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}}, "required": ["city", "state", "country", "score", "distance_km", "confidence"]}}, "comparison": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "wealth": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}, "income": {"type": "null"}, "business": {"type": ["number", "null"]}, "international": {"type": "null"}, "standing": {"type": "null"}}, "required": ["city", "country", "wealth", "distance_km", "confidence", "income", "business", "international", "standing"]}}, "by_goal": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "question", "goal", "goal_label", "city", "country", "score"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "comparison", "by_goal", "statement", "note", "evidence", "factor_count"]},
                        "guidance": {"type": "object", "properties": {"focus": {"type": "array", "items": {"type": "string"}}, "build": {"type": "array", "items": {"type": "string"}}, "protect": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["focus", "build", "protect", "statement"]},
                        "summary": {"type": "object", "properties": {"wealth_score": {"type": "number"}, "outlook": {"type": "string"}, "income_score": {"type": "number"}, "savings_score": {"type": "number"}, "business_score": {"type": "number"}, "asset_score": {"type": "number"}, "multiple_income_score": {"type": "number"}, "long_term_score": {"type": "number"}, "pace": {"type": "string"}, "main_strength": {"type": "string"}, "main_challenge": {"type": "string"}, "best_wealth_path": {"type": "string"}, "money_style": {"type": "string"}, "risk_style": {"type": "string"}, "foreign_wealth_score": {"type": "number"}, "relocation_verdict": {"type": "string"}, "relocation_scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "remote": {"type": "number"}}, "required": ["stay", "domestic", "foreign", "remote"]}, "best_location": {"type": "string"}, "best_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "supporting_chart": {"type": "string"}, "conclusion": {"type": "string"}}, "required": ["wealth_score", "outlook", "income_score", "savings_score", "business_score", "asset_score", "multiple_income_score", "long_term_score", "pace", "main_strength", "main_challenge", "best_wealth_path", "money_style", "risk_style", "foreign_wealth_score", "relocation_verdict", "relocation_scores", "best_location", "best_period", "supporting_chart", "conclusion"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "overview",
                        "hora",
                        "income",
                        "routes",
                        "multiple_income",
                        "money_management",
                        "risk",
                        "challenges",
                        "business",
                        "property",
                        "sudden_gains",
                        "inherited",
                        "yogas",
                        "timing",
                        "relocation",
                        "cities",
                        "guidance",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "wealth",
                        "title": "Wealth Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "overview": {"score": 44.2, "band": "mixed", "band_label": "Mixed — workable with discipline", "band_note": "The indications are mixed. Financial discipline matters more for you than for most, and it works.", "unmeasured": false, "scores": {"income": {"label": "Income potential", "score": 46.9, "unmeasured": false}, "accumulation": {"label": "Wealth accumulation", "score": 49.5, "unmeasured": false}, "stability": {"label": "Financial stability", "score": 45.4, "unmeasured": false}, "savings": {"label": "Savings potential", "score": 44.4, "unmeasured": false}, "assets": {"label": "Asset building", "score": 51.3, "unmeasured": false}, "business": {"label": "Business wealth", "score": 54.8, "unmeasured": false}, "multiple": {"label": "Multiple income sources", "score": 50.6, "unmeasured": false}, "sudden": {"label": "Sudden-gain potential", "score": 53.4, "unmeasured": false}, "long_term": {"label": "Long-term prosperity", "score": 52.8, "unmeasured": false}}, "measured_layers": ["accumulation", "assets", "business"], "strongest": "business", "weakest": "savings", "pace": {"pace": "gradual", "text": "Your wealth is more likely to build steadily over years than to arrive in one stretch. Money built this way tends to stay once made."}, "statement": "The indications are mixed. Financial discipline matters more for you than for most, and it works.", "evidence": [{"factor": "wealth_house_pressured", "impact": "negative", "strength": 55.0, "method": "d1", "detail": "More demanding influences fall on your earnings, which often shows up as money that arrives but needs deliberate holding."}, {"factor": "wealth_lord_testing", "impact": "negative", "strength": 55.0, "method": "d1", "detail": "The ruler of your earnings sits in a more testing part of your chart. Money is likely to reward structure more than instinct."}], "factor_count": 2},
                        "hora": {"unmeasured": false, "score": 50.9, "lean": "earned", "sun_hora": ["Jupiter", "Mars", "Mercury"], "moon_hora": ["Ketu", "Nept", "Plut"], "statement": "Your supporting wealth chart leans toward actively earned money — income that comes from what you do rather than from what you hold. Building reserves is likely to need more deliberate effort than earning does.", "note": "This supporting chart divides every sign in two. It speaks to whether money is earned actively or accumulates and is held — it is not a second horoscope, and it confirms the main chart rather than replacing it.", "evidence": [{"factor": "hora_earned_wealth", "impact": "neutral", "strength": 55.0, "method": "d2", "detail": "The supporting wealth chart leans toward money that is actively earned rather than accumulated quietly."}], "factor_count": 1, "confirmation": {"known": true, "verdict": "confirms", "delta": 6.7, "penalty": 0.0, "statement": "The supporting wealth chart agrees with your main reading. When both point the same way, the reading is more dependable than either alone."}},
                        "income": {"score": 46.0, "unmeasured": false, "growth": {"trend": "variable", "text": "Your income may vary between periods rather than rising evenly. Planning around the quieter stretches matters more for you than for most."}, "statement": "Your chart supports income that is earned rather than easy. That describes the route, not the ceiling. Your income may vary between periods rather than rising evenly. Planning around the quieter stretches matters more for you than for most. This is a reading of potential and shape — a chart cannot name a figure, and any report that does is guessing."},
                        "routes": {"emitted": true, "ranked": [{"key": "foreign", "label": "foreign or international sources", "score": 46.0, "supports": ["lord_12", "house_9", "lord_9"], "factor_count": 3}], "considered": 8, "gated_out": 7, "statement": "Your chart supports wealth building most through foreign or international sources. These are listed in the order your chart supports them, and they narrow the field rather than choosing for you."},
                        "multiple_income": {"indicated": false, "indicators": 0, "statement": "Your chart points to income concentrated in one main source rather than spread across several. That is often the more efficient arrangement."},
                        "money_management": {"verdict": "balanced", "label": "Balanced with money", "save_score": 45.0, "spend_score": 40.0, "statement": "You handle money in a reasonably balanced way, neither unusually cautious nor unusually free with it.", "guidance": ["Your instincts are sound. Review once a year rather than reacting month to month.", "Keep a reserve you do not touch. Its size matters less than the fact that it exists."]},
                        "risk": {"verdict": "balanced", "label": "Balanced", "score": 52.0, "statement": "Your chart points to a balanced approach — willing to take some risk, unlikely to be reckless. This describes your disposition, not what you should do with your money. Decisions about specific investments belong with a qualified financial adviser, not with a birth chart."},
                        "challenges": {"emitted": true, "challenges": [{"key": "unplanned_costs", "title": "Unplanned costs", "what": "Your chart suggests expenses that arrive without warning more often than average.", "how_to_handle": "A reserve sized to a few months of outgoings turns these from crises into inconveniences."}, {"key": "holding", "title": "Holding on to what you earn", "what": "Earning may be easier for you than keeping. That is a common and very workable pattern.", "how_to_handle": "Separate the money you spend from the money you keep, in practice and not just in intention."}], "statement": "Every chart carries something to manage. Yours points to unplanned costs and holding on to what you earn. None of these is a problem you cannot handle — they are simply where deliberate attention pays best."},
                        "business": {"score": 48.6, "unmeasured": false, "partnership_suited": false, "statement": "Your chart gives business a workable foundation without strongly favouring it over employment. Either can work. Where you do build something, your chart favours keeping control of it rather than sharing it.", "evidence": [], "factor_count": 0},
                        "property": {"score": 48.4, "unmeasured": false, "d4_used": true, "statement": "Your chart gives property a reasonable foundation — workable rather than a defining route. This describes potential over a lifetime; a chart cannot tell you whether or when a particular purchase will happen.", "evidence": [{"factor": "d4_property", "impact": "neutral", "strength": 58.0, "method": "d4", "detail": "The chart governing home and property was read alongside your main chart."}], "factor_count": 1},
                        "sudden_gains": {"indicated": false, "supports": 0, "statement": "Your chart does not clearly indicate unexpected windfalls. Steady building looks like the more reliable route for you, which is true of most charts.", "evidence": [], "factor_count": 0},
                        "inherited": {"emitted": false, "supports": 0, "statement": "Family or inherited wealth is not clearly indicated in your chart. Treat what you build yourself as the whole picture — that is the safe assumption and usually the accurate one.", "evidence": [], "factor_count": 0},
                        "yogas": {"emitted": true, "yogas": [{"name": "Hamsa Yoga", "planets": ["Jupiter"], "strength": 81.0, "band": "strong", "meaning": "Expansion and good judgement are a genuine financial asset for you. Money tends to follow trust and reputation.", "active_now": false, "activity": "This combination is present but does not rule any of the periods identified in this report, so it works quietly in the background."}], "active": [], "statement": "Your chart carries Hamsa Yoga as a wealth combination.", "evidence": [{"factor": "wealth_yoga_hamsa_yoga", "impact": "positive", "strength": 81.0, "method": "d1", "detail": "Hamsa Yoga is present in your chart."}], "factor_count": 1},
                        "timing": {"emitted": true, "timeline": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "score": 35.2, "theme": "Push and acquisition", "opportunity": "a period favouring decisive moves, property and acquisition", "caution": null}, {"start": "2027-01-04", "end": "2029-05-30", "age_from": 36, "age_to": 38, "score": 18.0, "theme": "Unconventional gain", "opportunity": "a period when income can arrive from unexpected or unusual directions", "caution": "A quieter financial stretch — better for holding than for committing."}, {"start": "2029-05-30", "end": "2032-06-02", "age_from": 38, "age_to": 41, "score": 46.5, "theme": "Consolidation", "opportunity": "a period favouring steady building and holding on to gains rather than fast expansion", "caution": null}], "peaks": [{"start": "2048-05-30", "end": "2050-10-27", "age_from": 57, "age_to": 60, "maha_lord": "Mercury", "antar_lord": "Mercury", "score": 53.1, "independent_factors": 2, "strength": "moderately indicated", "theme": "Commerce and skill", "theme_text": "a period favouring trade, negotiation and skill-based income", "supports": ["starting something of your own", "adding a second source of income", "changing role or employer for better pay"]}, {"start": "2051-10-24", "end": "2054-08-24", "age_from": 61, "age_to": 63, "maha_lord": "Mercury", "antar_lord": "Venus", "score": 51.8, "independent_factors": 3, "strength": "strongly indicated", "theme": "Comfort and accumulation", "theme_text": "a period favouring comfort, assets and money that stays", "supports": ["buying property or building fixed assets", "putting money to work rather than leaving it idle"]}, {"start": "2062-09-19", "end": "2065-05-30", "age_from": 71, "age_to": 74, "maha_lord": "Mercury", "antar_lord": "Saturn", "score": 50.5, "independent_factors": 3, "strength": "strongly indicated", "theme": "Consolidation", "theme_text": "a period favouring steady building and holding on to gains rather than fast expansion", "supports": ["consolidating and protecting what you have built", "buying property or building fixed assets"]}], "peak": {"start": "2048-05-30", "end": "2050-10-27", "age_from": 57, "age_to": 60, "maha_lord": "Mercury", "antar_lord": "Mercury", "score": 53.1, "independent_factors": 2, "strength": "moderately indicated", "theme": "Commerce and skill", "theme_text": "a period favouring trade, negotiation and skill-based income", "supports": ["starting something of your own", "adding a second source of income", "changing role or employer for better pay"]}, "moves": [{"start": "2048-05-30", "end": "2050-10-27", "age_from": 57, "age_to": 60, "supports": ["starting something of your own", "adding a second source of income", "changing role or employer for better pay"], "strength": "moderately indicated", "statement": "This period is most supportive of starting something of your own, adding a second source of income and changing role or employer for better pay."}, {"start": "2051-10-24", "end": "2054-08-24", "age_from": 61, "age_to": 63, "supports": ["buying property or building fixed assets", "putting money to work rather than leaving it idle"], "strength": "strongly indicated", "statement": "This period is most supportive of buying property or building fixed assets and putting money to work rather than leaving it idle."}, {"start": "2062-09-19", "end": "2065-05-30", "age_from": 71, "age_to": 74, "supports": ["consolidating and protecting what you have built", "buying property or building fixed assets"], "strength": "strongly indicated", "statement": "This period is most supportive of consolidating and protecting what you have built and buying property or building fixed assets."}], "statement": "The stretch from 30/05/2048 to 27/10/2050 — around age 57 to 60 looks most supportive financially. Its theme is commerce and skill: a period favouring trade, negotiation and skill-based income. Periods like this describe when conditions favour a financial move — they are not a promise of any particular result.", "note": "Financial periods are shown as spans, not dates. A chart indicates when conditions favour a move; it does not promise an outcome.", "evidence": [{"factor": "wealth_timing_windows", "impact": "positive", "strength": 60.0, "method": "dasha", "detail": "Periods ruled by your financial significators were identified, the strongest running 30/05/2048 to 27/10/2050."}], "factor_count": 1},
                        "relocation": {"verdict": "domestic", "label": "Wealth improved by another city or region", "scores": {"stay": 49.5, "domestic": 74.0, "foreign": 70.0, "remote": 45.0}, "foreign_supports": 2, "reasons": ["better pay for the same work", "the people and contacts a place gives you access to"], "statement": "Your chart supports better financial results from a change of city or region rather than from leaving the country. A move within your own country looks like the more natural step. Where a move helps, it is most often through better pay for the same work or the people and contacts a place gives you access to.", "foreign_wealth": {"indicated": true, "score": 70.0, "mode": "relocation", "statement": "Your chart supports a genuine overseas connection in your finances, including the possibility of earning from another country."}, "evidence": [{"factor": "earnings_ruler_distant", "impact": "neutral", "strength": 62.0, "method": "d1", "detail": "The ruler of your earnings sits in the part of your chart governing distance and gain from far away."}, {"factor": "fortune_supports_distance", "impact": "positive", "strength": 58.0, "method": "d1", "detail": "The part of your chart governing fortune and distant places is well supported, which favours money arriving from beyond your immediate surroundings."}, {"factor": "d4_residence", "impact": "neutral", "strength": 50.0, "method": "d4", "detail": "The chart governing home and property was read alongside the main chart."}], "factor_count": 3},
                        "cities": {"emitted": true, "ranked": [{"city": "Addis Ababa", "state": null, "country": "Ethiopia", "score": 83.1, "distance_km": 4565.4, "confidence": "Moderate"}, {"city": "Medina", "state": null, "country": "Saudi Arabia", "score": 82.7, "distance_km": 3755.6, "confidence": "Moderate"}, {"city": "Asuncion", "state": null, "country": "Paraguay", "score": 81.4, "distance_km": 15543.6, "confidence": "Moderate"}], "comparison": [{"city": "Addis Ababa", "country": "Ethiopia", "wealth": 83.1, "distance_km": 4565.4, "confidence": "Moderate", "income": null, "business": 87.6, "international": null, "standing": null}, {"city": "Medina", "country": "Saudi Arabia", "wealth": 82.7, "distance_km": 3755.6, "confidence": "Moderate", "income": null, "business": 86.1, "international": null, "standing": null}, {"city": "Asuncion", "country": "Paraguay", "wealth": 81.4, "distance_km": 15543.6, "confidence": "Moderate", "income": null, "business": null, "international": null, "standing": null}], "by_goal": [{"key": "salary", "question": "Best city for salary growth", "goal": "career", "goal_label": "Salary growth", "city": "Mecca", "country": "Saudi Arabia", "score": 89.7}, {"key": "business", "question": "Best city for business wealth", "goal": "business", "goal_label": "Business", "city": "Addis Ababa", "country": "Ethiopia", "score": 87.6}, {"key": "entrepreneurship", "question": "Best city for starting out on your own", "goal": "business", "goal_label": "Business", "city": "Addis Ababa", "country": "Ethiopia", "score": 87.6}], "statement": "For building wealth your chart favours Addis Ababa, Medina and Asuncion. These were scored from your own birth chart for each place — not from any general ranking of cities — which is why the order may not match how these places are usually rated.", "note": "Every score is calculated from your birth chart for that specific location. A city that suits one financial goal often does not suit another, which is why the list changes by goal.", "evidence": [{"factor": "wealth_cities_ranked", "impact": "positive", "strength": 60.0, "method": "relocation", "detail": "Cities were scored against your own birth chart for financial life, not taken from a general list."}], "factor_count": 1},
                        "guidance": {"focus": ["Your strongest route to money is foreign or international sources. Effort put there is likely to return more than the same effort spread across everything else.", "If a move is on the table, the stretch from 30/05/2048 to 27/10/2050 is the period your chart supports most. Location and timing agree there, which is worth waiting for rather than moving on impulse."], "build": ["Your income looks concentrated in one source. Building even a small second one matters more for its existence than its size — it changes what a bad year does to you."], "protect": ["Your instincts are sound. Review once a year rather than reacting month to month.", "Keep a reserve you do not touch. Its size matters less than the fact that it exists.", "A reserve sized to a few months of outgoings turns these from crises into inconveniences."], "statement": "This guidance comes from the readings above rather than from general financial advice, which is why some of it will read as obvious and some of it will not. None of it is a recommendation about specific investments — that belongs with a qualified adviser."},
                        "summary": {"wealth_score": 44.2, "outlook": "Mixed — workable with discipline", "income_score": 46.0, "savings_score": 44.4, "business_score": 48.6, "asset_score": 48.4, "multiple_income_score": 50.6, "long_term_score": 52.8, "pace": "gradual", "main_strength": "Business wealth", "main_challenge": "Savings potential", "best_wealth_path": "foreign or international sources", "money_style": "Balanced with money", "risk_style": "Balanced", "foreign_wealth_score": 70.0, "relocation_verdict": "Wealth improved by another city or region", "relocation_scores": {"stay": 49.5, "domestic": 74.0, "foreign": 70.0, "remote": 45.0}, "best_location": "Addis Ababa", "best_period": {"start": "2048-05-30", "end": "2050-10-27"}, "supporting_chart": "confirms", "conclusion": "Overall, your chart is mixed — workable with discipline where money is concerned. Your strongest financial quality is business wealth. Your wealth is more likely to build steadily over years than to arrive in one stretch. Money built this way tends to stay once made. Your chart supports wealth building most through foreign or international sources. These are listed in the order your chart supports them, and they narrow the field rather than choosing for you. You handle money in a reasonably balanced way, neither unusually cautious nor unusually free with it. Your chart supports better financial results from a change of city or region rather than from leaving the country. A move within your own country looks like the more natural step. Where a move helps, it is most often through better pay for the same work or the people and contacts a place gives you access to. The stretch from 30/05/2048 to 27/10/2050 — around age 57 to 60 looks most supportive financially. Its theme is commerce and skill: a period favouring trade, negotiation and skill-based income. Periods like this describe when conditions favour a financial move — they are not a promise of any particular result. Your supporting wealth chart leans toward actively earned money — income that comes from what you do rather than from what you hold. Building reserves is likely to need more deliberate effort than earning does."},
                        "confidence": {"level": "High", "note": "Several independent methods agree, which is the most dependable kind of reading.", "method_count": 5, "methods_resolved": ["d1", "d2", "d4"], "conflicting_indicators": true},
                        "evidence": [{"factor": "wealth_yoga_hamsa_yoga", "impact": "positive", "strength": 81.0, "method": "d1", "detail": "Hamsa Yoga is present in your chart."}, {"factor": "earnings_ruler_distant", "impact": "neutral", "strength": 62.0, "method": "d1", "detail": "The ruler of your earnings sits in the part of your chart governing distance and gain from far away."}, {"factor": "wealth_timing_windows", "impact": "positive", "strength": 60.0, "method": "dasha", "detail": "Periods ruled by your financial significators were identified, the strongest running 30/05/2048 to 27/10/2050."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-children": {
      "post": {
        "operationId": "report-children",
        "summary": "Children Report",
        "description": "In-depth children reading: an overview score, scored sections with the chart evidence behind each, timing windows, remedies, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "disclaimer": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "scores": {"type": "object", "properties": {"expansion": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "parenting": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "happiness": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "timing": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "stability": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}}, "required": ["expansion", "parenting", "happiness", "timing", "stability"]}, "measured_layers": {"type": "array", "items": {"type": "string"}}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "statement": {"type": "string"}, "disclaimer": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "scores", "measured_layers", "strongest", "weakest", "statement", "disclaimer", "evidence", "factor_count"]},
                        "fifth_house": {"type": "object", "properties": {"score": {"type": "number"}, "lord_score": {"type": "number"}, "unread": {"type": "boolean"}, "statement": {"type": "string"}}, "required": ["score", "lord_score", "unread", "statement"]},
                        "jupiter": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "score": {"type": "number"}, "connected_to_fifth": {"type": "boolean"}, "statement": {"type": "string"}}, "required": ["unmeasured", "score", "connected_to_fifth", "statement"]},
                        "saptamsha": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "score": {"type": "number"}, "statement": {"type": "string"}, "confirmation": {"type": "object", "properties": {"known": {"type": "boolean"}, "verdict": {"type": "string"}, "delta": {"type": "number"}, "penalty": {"type": "number"}, "statement": {"type": "string"}}, "required": ["known", "verdict", "delta", "penalty", "statement"]}}, "required": ["unmeasured", "score", "statement", "confirmation"]},
                        "timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "windows": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text"]}}, "timeline": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "null"}}, "required": ["start", "end", "age_from", "age_to", "score", "theme", "opportunity", "caution"]}}, "peak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text"]}, "secondary": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "windows", "timeline", "peak", "secondary", "statement", "note", "evidence", "factor_count"]},
                        "delay": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["indicated", "statement", "evidence", "factor_count"]},
                        "happiness": {"type": "object", "properties": {"score": {"type": "number"}, "statement": {"type": "string"}}, "required": ["score", "statement"]},
                        "parenting": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "styles": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["emitted", "styles", "statement"]},
                        "child_tendencies": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "tendencies": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["emitted", "tendencies", "statement"]},
                        "talents": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "areas": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["emitted", "areas", "statement"]},
                        "number_of_children": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "lean": {"type": "string"}, "statement": {"type": "string"}}, "required": ["emitted", "lean", "statement"]},
                        "relocation": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}}, "required": ["stay", "domestic", "foreign"]}, "move_supports": {"type": "integer"}, "environment": {"type": "object", "properties": {"qualities": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["qualities", "statement"]}, "dimensions": {"type": "object", "properties": {"family_stability": {"type": "number"}, "home_comfort": {"type": "number"}, "parenting_environment": {"type": "number"}, "expansion_support": {"type": "number"}}, "required": ["family_stability", "home_comfort", "parenting_environment", "expansion_support"]}, "marriage_link": {"type": "object", "properties": {"linked": {"type": "boolean"}, "statement": {"type": "string"}}, "required": ["linked", "statement"]}, "career_note": {"type": "string"}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "scores", "move_supports", "environment", "dimensions", "marriage_link", "career_note", "statement", "note", "evidence", "factor_count"]},
                        "cities": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": ["string", "null"]}, "country": {"type": "string"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}}, "required": ["city", "state", "country", "score", "distance_km", "confidence"]}}, "comparison": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "family": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}, "home_life": {"type": ["number", "null"]}, "partnership": {"type": "null"}, "education": {"type": ["number", "null"]}, "work_balance": {"type": "null"}}, "required": ["city", "country", "family", "distance_km", "confidence", "home_life", "partnership", "education", "work_balance"]}}, "by_goal": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "question", "goal", "goal_label", "city", "country", "score"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "comparison", "by_goal", "statement", "note", "evidence", "factor_count"]},
                        "guidance": {"type": "object", "properties": {"prepare": {"type": "array", "items": {"type": "string"}}, "plan": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["prepare", "plan", "statement"]},
                        "remedies": {"type": "object", "properties": {"entries": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "practice": {"type": "string"}, "why": {"type": "string"}}, "required": ["name", "practice", "why"]}}, "note": {"type": "string"}}, "required": ["entries", "note"]},
                        "summary": {"type": "object", "properties": {"progeny_score": {"type": "number"}, "outlook": {"type": "string"}, "expansion_support": {"type": "number"}, "parenting_potential": {"type": "number"}, "family_happiness": {"type": "number"}, "timing_support": {"type": "number"}, "family_stability": {"type": "number"}, "main_strength": {"type": "string"}, "main_challenge": {"type": "string"}, "supporting_chart": {"type": "string"}, "number_of_children": {"type": "string"}, "strongest_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "delay_indicated": {"type": "boolean"}, "relocation_family_score": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}}, "required": ["stay", "domestic", "foreign"]}, "relocation_verdict": {"type": "string"}, "family_environment": {"type": "string"}, "best_location": {"type": "string"}, "conclusion": {"type": "string"}}, "required": ["progeny_score", "outlook", "expansion_support", "parenting_potential", "family_happiness", "timing_support", "family_stability", "main_strength", "main_challenge", "supporting_chart", "number_of_children", "strongest_period", "delay_indicated", "relocation_family_score", "relocation_verdict", "family_environment", "best_location", "conclusion"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "disclaimer",
                        "overview",
                        "fifth_house",
                        "jupiter",
                        "saptamsha",
                        "timing",
                        "delay",
                        "happiness",
                        "parenting",
                        "child_tendencies",
                        "talents",
                        "number_of_children",
                        "relocation",
                        "cities",
                        "guidance",
                        "remedies",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "children",
                        "title": "Children Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "disclaimer": "This is an astrological reading about family life, not a medical opinion. It cannot assess fertility, and it says nothing about anyone's ability to have children. If you have questions or concerns about starting a family, a qualified doctor is the right person to speak to.",
                        "overview": {"score": 53.4, "band": "moderate", "band_label": "Reasonably supported", "band_note": "Your chart gives family life a reasonable foundation, with the ordinary mix of supportive factors and areas to watch.", "unmeasured": false, "scores": {"expansion": {"label": "Family expansion potential", "score": 48.7, "unmeasured": false}, "parenting": {"label": "Parenting potential", "score": 50.6, "unmeasured": false}, "happiness": {"label": "Happiness through children", "score": 47.8, "unmeasured": false}, "timing": {"label": "Timing support", "score": 52.1, "unmeasured": false}, "stability": {"label": "Family stability", "score": 48.3, "unmeasured": false}}, "measured_layers": ["expansion", "happiness", "parenting"], "strongest": "timing", "weakest": "happiness", "statement": "Your chart gives family life a reasonable foundation, with the ordinary mix of supportive factors and areas to watch.", "disclaimer": "This is an astrological reading about family life, not a medical opinion. It cannot assess fertility, and it says nothing about anyone's ability to have children. If you have questions or concerns about starting a family, a qualified doctor is the right person to speak to.", "evidence": [], "factor_count": 0},
                        "fifth_house": {"score": 34.0, "lord_score": 41.15, "unread": false, "statement": "Your chart suggests that family expansion may require patience and careful planning. The timing of this area of life appears more important than usual."},
                        "jupiter": {"unmeasured": false, "score": 80.0, "connected_to_fifth": false, "statement": "The general indicator for growth and good fortune is well placed in your chart, though it is not strongly tied to family matters specifically."},
                        "saptamsha": {"unmeasured": false, "score": 58.5, "statement": "A supporting chart was read alongside your main one. It confirms or tempers the main reading rather than replacing it — no conclusion here rests on it by itself.", "confirmation": {"known": true, "verdict": "confirms", "delta": 5.1, "penalty": 0.0, "statement": "The supporting chart agrees with your main reading. When both point the same way, the reading is more dependable than either alone."}},
                        "timing": {"emitted": true, "windows": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "maha_lord": "Jupiter", "antar_lord": "Mars", "score": 45.8, "independent_factors": 3, "strength": "moderately indicated", "theme": "Action", "theme_text": "an active period where decisions tend to get made rather than deferred"}, {"start": "2036-03-21", "end": "2039-05-22", "age_from": 45, "age_to": 48, "maha_lord": "Saturn", "antar_lord": "Venus", "score": 29.8, "independent_factors": 2, "strength": "moderately indicated", "theme": "Warmth and partnership", "theme_text": "a period favouring closeness and the partnership that family life rests on"}, {"start": "2027-01-04", "end": "2029-05-30", "age_from": 36, "age_to": 38, "maha_lord": "Jupiter", "antar_lord": "Rahu", "score": 22.0, "independent_factors": 1, "strength": "weakly indicated", "theme": "Change", "theme_text": "a period of change, where circumstances can shift faster than expected"}], "timeline": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "score": 45.8, "theme": "Action", "opportunity": "an active period where decisions tend to get made rather than deferred", "caution": null}, {"start": "2027-01-04", "end": "2029-05-30", "age_from": 36, "age_to": 38, "score": 22.0, "theme": "Change", "opportunity": "a period of change, where circumstances can shift faster than expected", "caution": null}, {"start": "2029-05-30", "end": "2032-06-02", "age_from": 38, "age_to": 41, "score": 16.6, "theme": "Patience and structure", "opportunity": "a period rewarding patience and steady groundwork rather than haste", "caution": null}], "peak": {"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "maha_lord": "Jupiter", "antar_lord": "Mars", "score": 45.8, "independent_factors": 3, "strength": "moderately indicated", "theme": "Action", "theme_text": "an active period where decisions tend to get made rather than deferred"}, "secondary": {"start": "2036-03-21", "end": "2039-05-22", "age_from": 45, "age_to": 48, "maha_lord": "Saturn", "antar_lord": "Venus", "score": 29.8, "independent_factors": 2, "strength": "moderately indicated", "theme": "Warmth and partnership", "theme_text": "a period favouring closeness and the partnership that family life rests on"}, "statement": "The stretch from 28/01/2026 to 04/01/2027, around age 35 to 36 looks the most supportive period for family plans. Its theme is action: an active period where decisions tend to get made rather than deferred. A secondary period runs from 21/03/2036 to 22/05/2039. These are periods where conditions look more supportive — they are not predictions that anything will happen in them.", "note": "These are shown as favourable periods, not dates. A chart can suggest when conditions are more supportive; it cannot say when anything will happen.", "evidence": [{"factor": "family_windows", "impact": "positive", "strength": 58.0, "method": "dasha", "detail": "Periods engaging your family significators were identified."}], "factor_count": 1},
                        "delay": {"indicated": false, "statement": "Your chart shows no strong indication that family expansion would take longer than usual.", "evidence": [], "factor_count": 0},
                        "happiness": {"score": 48.9, "statement": "Your chart supports a reasonably happy family life, with the ordinary demands any household brings."},
                        "parenting": {"emitted": true, "styles": ["protective", "unconventional"], "statement": "You are likely to parent protectively and actively, and to encourage courage. You are likely to parent in your own way rather than by inherited rules. The watch-out is protecting past the point where a child needs to try things themselves."},
                        "child_tendencies": {"emitted": true, "tendencies": ["energetic and physically active", "independent-minded and drawn to the unusual", "creative, with an eye for how things look and feel"], "statement": "Where your chart leans, it suggests a child who is energetic and physically active, independent-minded and drawn to the unusual and creative, with an eye for how things look and feel. These are broad tendencies drawn from your own chart, not a description of a person — every child turns out to be themselves."},
                        "talents": {"emitted": true, "areas": ["sport, engineering, or hands-on and physical fields", "technology and fast-changing fields", "the arts, design, or work with an aesthetic dimension"], "statement": "If your chart points anywhere for a child's interests, it points toward sport, engineering, or hands-on and physical fields, technology and fast-changing fields or the arts, design, or work with an aesthetic dimension. That is a direction worth leaving room for rather than a path to steer anyone down."},
                        "number_of_children": {"emitted": true, "lean": "fewer", "statement": "Indications point toward a smaller family rather than a larger one. This is a leaning, not a count. No chart can tell you how many children you will have, and any reading that offers a figure is going beyond what the method supports."},
                        "relocation": {"verdict": "domestic", "label": "Another city or region may suit family life better", "scores": {"stay": 63.0, "domestic": 72.0, "foreign": 42.0}, "move_supports": 2, "environment": {"qualities": ["somewhere with more room than you have now", "somewhere calmer and less demanding day to day"], "statement": "For family life your chart leans toward somewhere with more room than you have now and somewhere calmer and less demanding day to day. This is about the kind of environment that supports a settled household — it says nothing medical."}, "dimensions": {"family_stability": 43.7, "home_comfort": 44.5, "parenting_environment": 38.0, "expansion_support": 46.2}, "marriage_link": {"linked": true, "statement": "Marriage and family life are closely connected in your chart. Family responsibilities are likely to become a significant part of how the marriage develops, rather than something separate from it."}, "career_note": "Career opportunities may encourage a move, but a place that supports both professional growth and a settled home life is worth more here than one that only does the first.", "statement": "A change of city or region appears more supportive of a settled family environment than a move abroad would be. What appears to help is somewhere with more room than you have now and somewhere calmer and less demanding day to day.", "note": "This is about environment, not about medicine. No place affects anyone's ability to have a family — what a place changes is space, cost, who is nearby to help, and how much of the week a parent is actually at home.", "evidence": [{"factor": "family_marriage_linked", "impact": "neutral", "strength": 58.0, "method": "d1", "detail": "Marriage and family growth are directly linked in your chart."}, {"factor": "d4_environment", "impact": "neutral", "strength": 52.0, "method": "d4", "detail": "The chart governing home and surroundings was read alongside your main chart."}], "factor_count": 2},
                        "cities": {"emitted": true, "ranked": [{"city": "Addis Ababa", "state": null, "country": "Ethiopia", "score": 75.0, "distance_km": 4565.4, "confidence": "Moderate"}, {"city": "Manama", "state": null, "country": "Bahrain", "score": 74.3, "distance_km": 2635.7, "confidence": "Moderate"}, {"city": "Sydney", "state": "New South Wales", "country": "Australia", "score": 73.9, "distance_km": 10428.2, "confidence": "Moderate"}], "comparison": [{"city": "Addis Ababa", "country": "Ethiopia", "family": 75.0, "distance_km": 4565.4, "confidence": "Moderate", "home_life": 61.5, "partnership": null, "education": 82.2, "work_balance": null}, {"city": "Manama", "country": "Bahrain", "family": 74.3, "distance_km": 2635.7, "confidence": "Moderate", "home_life": null, "partnership": null, "education": null, "work_balance": null}, {"city": "Sydney", "country": "Australia", "family": 73.9, "distance_km": 10428.2, "confidence": "Moderate", "home_life": 72.5, "partnership": null, "education": null, "work_balance": null}], "by_goal": [{"key": "stability", "question": "Best city for family stability", "goal": "children", "goal_label": "Family", "city": "Addis Ababa", "country": "Ethiopia", "score": 75.0}, {"key": "peaceful", "question": "Best city for a peaceful home life", "goal": "peace", "goal_label": "Peaceful home life", "city": "Sydney", "country": "Australia", "score": 72.5}, {"key": "parenting", "question": "Best city for parenting", "goal": "children", "goal_label": "Family", "city": "Addis Ababa", "country": "Ethiopia", "score": 75.0}], "statement": "For family life your chart favours Addis Ababa, Manama and Sydney. These were scored from your own birth chart for each place rather than from any general ranking.", "note": "These are scored for the kind of home environment a place tends to support for you — space, settledness, and how family life might sit there. Nothing here is a claim about anyone's health.", "evidence": [{"factor": "family_cities_ranked", "impact": "neutral", "strength": 58.0, "method": "relocation", "detail": "Locations were scored against your own birth chart for the kind of home environment they support, not taken from a general list."}], "factor_count": 1},
                        "guidance": {"prepare": ["Build the home environment first. A settled base does more for family life than any single decision about timing.", "Keep the conversation with your partner open and specific — most family friction comes from assumptions rather than disagreements."], "plan": ["Plan the finances for family expansion earlier than feels necessary. It removes the pressure that otherwise lands at the worst moment.", "If a move is likely, the stretch from 28/01/2026 to 04/01/2027 is the period your chart supports most for family plans. Aligning the two is easier than recovering from having done them in the wrong order.", "Think about the support system a place gives you — who is nearby when you need help — as seriously as you think about the house itself."], "statement": "This guidance comes from the readings above. None of it is medical advice, and a chart has nothing useful to say about starting a family in a practical sense — that belongs with a doctor."},
                        "remedies": {"entries": [{"name": "Family harmony practice", "practice": "Traditional practice is offering food or support to children in need, and keeping the home atmosphere calm and welcoming.", "why": "Classical texts associate generosity toward children with this area of the chart."}, {"name": "General practice", "practice": "Traditional practice across most rulesets is quiet devotion, charity, and patience with what cannot be hurried.", "why": "This suits every chart and costs nothing."}], "note": "These are traditional astrological practices, offered as practice and nothing more. They are not medical care and make no claim to cause anything. Gemstones are deliberately not recommended here — they carry a real cost and should only follow a proper consultation."},
                        "summary": {"progeny_score": 53.4, "outlook": "Reasonably supported", "expansion_support": 48.7, "parenting_potential": 50.6, "family_happiness": 47.8, "timing_support": 52.1, "family_stability": 48.3, "main_strength": "Timing support", "main_challenge": "Happiness through children", "supporting_chart": "confirms", "number_of_children": "fewer", "strongest_period": {"start": "2026-01-28", "end": "2027-01-04"}, "delay_indicated": false, "relocation_family_score": {"stay": 63.0, "domestic": 72.0, "foreign": 42.0}, "relocation_verdict": "Another city or region may suit family life better", "family_environment": "somewhere with more room than you have now, somewhere calmer and less demanding day to day", "best_location": "Addis Ababa", "conclusion": "Overall, your chart is reasonably supported where family growth is concerned. Your chart suggests that family expansion may require patience and careful planning. The timing of this area of life appears more important than usual. The general indicator for growth and good fortune is well placed in your chart, though it is not strongly tied to family matters specifically. Your chart supports a reasonably happy family life, with the ordinary demands any household brings. The stretch from 28/01/2026 to 04/01/2027, around age 35 to 36 looks the most supportive period for family plans. Its theme is action: an active period where decisions tend to get made rather than deferred. A secondary period runs from 21/03/2036 to 22/05/2039. These are periods where conditions look more supportive — they are not predictions that anything will happen in them. A change of city or region appears more supportive of a settled family environment than a move abroad would be. What appears to help is somewhere with more room than you have now and somewhere calmer and less demanding day to day. This is an astrological reading about family life, not a medical opinion. It cannot assess fertility, and it says nothing about anyone's ability to have children. If you have questions or concerns about starting a family, a qualified doctor is the right person to speak to."},
                        "confidence": {"level": "High", "note": "Several independent methods agree, which is the most dependable kind of reading.", "method_count": 5, "methods_resolved": ["d1", "d4", "dasha"], "conflicting_indicators": true},
                        "evidence": [{"factor": "family_windows", "impact": "positive", "strength": 58.0, "method": "dasha", "detail": "Periods engaging your family significators were identified."}, {"factor": "family_marriage_linked", "impact": "neutral", "strength": 58.0, "method": "d1", "detail": "Marriage and family growth are directly linked in your chart."}, {"factor": "family_cities_ranked", "impact": "neutral", "strength": 58.0, "method": "relocation", "detail": "Locations were scored against your own birth chart for the kind of home environment they support, not taken from a general list."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-education": {
      "post": {
        "operationId": "report-education",
        "summary": "Education Report",
        "description": "In-depth education reading: an overview score, scored sections with the chart evidence behind each, timing windows, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "disclaimer": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "scores": {"type": "object", "properties": {"learning_ability": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "academic_potential": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "concentration": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "memory": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "analytical": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "creativity": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "communication": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "higher_education": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "foreign_education": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "required": ["learning_ability", "academic_potential", "concentration", "memory", "analytical", "creativity", "communication", "higher_education", "foreign_education"]}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "strengths": {"type": "object", "properties": {"top": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["top", "statement"]}, "style_hint": {"type": "string"}, "challenges": {"type": "object", "properties": {"areas": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["areas", "statement"]}, "environment": {"type": "object", "properties": {"qualities": {"type": "array"}, "statement": {"type": "string"}}, "required": ["qualities", "statement"]}, "progression": {"type": "object", "properties": {"smooth": {"type": "boolean"}, "factors": {"type": "array"}, "statement": {"type": "string"}}, "required": ["smooth", "factors", "statement"]}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "scores", "strongest", "weakest", "strengths", "style_hint", "challenges", "environment", "progression", "evidence", "factor_count"]},
                        "learning_styles": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "advice": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "advice", "supports", "factor_count"]}}, "all_qualified": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "advice": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "advice", "supports", "factor_count"]}}, "least_suited": {"type": "array"}, "statement": {"type": "string"}, "least_statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_qualified", "least_suited", "statement", "least_statement", "evidence", "factor_count"]},
                        "cognitive_strengths": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "advice": {"type": "null"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "advice", "supports", "factor_count"]}}, "all_qualified": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "advice": {"type": "null"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "advice", "supports", "factor_count"]}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_qualified", "statement", "evidence", "factor_count"]},
                        "study_habits": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "concentration": {"type": "number"}, "consistency": {"type": "number"}, "exam_readiness": {"type": "number"}, "concentration_band": {"type": "string"}, "tendencies": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "title": {"type": "string"}, "what": {"type": "string"}, "do": {"type": "string"}}, "required": ["key", "title", "what", "do"]}}, "statement": {"type": "string"}, "suggestions": {"type": "array", "items": {"type": "string"}}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "concentration", "consistency", "exam_readiness", "concentration_band", "tendencies", "statement", "suggestions", "evidence", "factor_count"]},
                        "subjects": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "streams": {"type": "array", "items": {"type": "string"}}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "streams", "supports", "factor_count"]}}, "all_qualified": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "streams": {"type": "array", "items": {"type": "string"}}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "streams", "supports", "factor_count"]}}, "considered": {"type": "integer"}, "gated_out": {"type": "integer"}, "streams": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "subjects": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "subjects", "factor_count"]}}, "statement": {"type": "string"}}, "required": ["emitted", "ranked", "statement"]}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_qualified", "considered", "gated_out", "streams", "statement", "evidence", "factor_count"]},
                        "streams": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "subjects": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "subjects", "factor_count"]}}, "statement": {"type": "string"}}, "required": ["emitted", "ranked", "statement"]},
                        "higher_education": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "levels": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "supported": {"type": "boolean"}}, "required": ["key", "label", "supported"]}}, "research_lean": {"type": "number"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["unmeasured", "score", "band_label", "levels", "research_lean", "statement", "evidence", "factor_count"]},
                        "foreign_education": {"type": "object", "properties": {"score": {"type": "number"}, "band_label": {"type": "string"}, "indicated": {"type": "boolean"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "opportunities": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["score", "band_label", "indicated", "supports", "factor_count", "opportunities", "statement", "evidence"]},
                        "timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "windows": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}, "phase": {"type": "string"}, "phase_label": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text", "opportunity", "caution", "phase", "phase_label"]}}, "timeline": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "phase": {"type": "string"}, "phase_label": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "score", "theme", "phase", "phase_label", "opportunity", "caution"]}}, "phases": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "label", "start", "end", "score"]}}, "peak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}, "phase": {"type": "string"}, "phase_label": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text", "opportunity", "caution", "phase", "phase_label"]}, "secondary": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}, "phase": {"type": "string"}, "phase_label": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text", "opportunity", "caution", "phase", "phase_label"]}, "study_abroad_window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}, "phase": {"type": "string"}, "phase_label": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "theme", "theme_text", "opportunity", "caution", "phase", "phase_label"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "windows", "timeline", "phases", "peak", "secondary", "study_abroad_window", "statement", "note", "evidence", "factor_count"]},
                        "exams": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "suited_to": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "why": {"type": "string"}}, "required": ["key", "label", "why"]}}, "pressure": {"type": "null"}, "discipline": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["unmeasured", "score", "band_label", "suited_to", "pressure", "discipline", "statement", "evidence", "factor_count"]},
                        "challenges": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "challenges": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "title": {"type": "string"}, "what": {"type": "string"}, "how_to_handle": {"type": "string"}}, "required": ["key", "title", "what", "how_to_handle"]}}, "statement": {"type": "string"}}, "required": ["emitted", "challenges", "statement"]},
                        "alignment": {"type": "object", "properties": {"score": {"type": "number"}, "band_label": {"type": "string"}, "aligned": {"type": "boolean"}, "links": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "strongest_link": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["score", "band_label", "aligned", "links", "factor_count", "strongest_link", "statement", "evidence"]},
                        "skills": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "supports", "factor_count"]}}, "top": {"type": "string"}, "second": {"type": "string"}, "third": {"type": "string"}, "statement": {"type": "string"}}, "required": ["emitted", "ranked", "top", "second", "third", "statement"]},
                        "relocation": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "online": {"type": "number"}}, "required": ["stay", "domestic", "foreign", "online"]}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "move_supports": {"type": "integer"}, "reasons": {"type": "array", "items": {"type": "string"}}, "questions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "answer": {"type": "string"}}, "required": ["key", "question", "score", "band_label", "answer"]}}, "necessary": {"type": "object", "properties": {"necessary": {"type": "boolean"}, "gap": {"type": "number"}, "statement": {"type": "string"}}, "required": ["necessary", "gap", "statement"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "scores", "ranked", "move_supports", "reasons", "questions", "necessary", "statement", "note", "evidence", "factor_count"]},
                        "cities": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}}, "required": ["city", "state", "country", "score", "distance_km", "confidence"]}}, "comparison": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "education": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}, "academic_growth": {"type": "number"}, "career_alignment": {"type": "null"}, "research": {"type": "null"}, "international": {"type": "null"}, "concentration": {"type": "null"}, "higher_education": {"type": "number"}, "long_term": {"type": "number"}}, "required": ["city", "country", "education", "distance_km", "confidence", "academic_growth", "career_alignment", "research", "international", "concentration", "higher_education", "long_term"]}}, "by_goal": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "question", "goal", "goal_label", "city", "country", "score"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "comparison", "by_goal", "statement", "note", "evidence", "factor_count"]},
                        "combined_timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "recommendations": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}}, "required": ["start", "end", "age_from", "age_to"]}, "statement": {"type": "string"}}, "required": ["key", "label", "window", "statement"]}}, "statement": {"type": "string"}}, "required": ["emitted", "recommendations", "statement"]},
                        "family": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "arrangements": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}}, "statement": {"type": "string"}}, "required": ["emitted", "arrangements", "statement"]},
                        "career_chain": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "steps": {"type": "array"}, "statement": {"type": "string"}}, "required": ["emitted", "steps", "statement"]},
                        "spiritual": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "areas": {"type": "array", "items": {"type": "string"}}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["emitted", "areas", "supports", "factor_count", "statement", "evidence"]},
                        "summary": {"type": "object", "properties": {"education_score": {"type": "number"}, "outlook": {"type": "string"}, "learning_ability": {"type": "number"}, "concentration": {"type": "number"}, "academic_potential": {"type": "number"}, "memory": {"type": "number"}, "analytical": {"type": "number"}, "creativity": {"type": "number"}, "communication": {"type": "number"}, "higher_education": {"type": "number"}, "foreign_education": {"type": "number"}, "exam_readiness": {"type": "number"}, "alignment_score": {"type": "number"}, "relocation_education_score": {"type": "number"}, "relocation_scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "online": {"type": "number"}}, "required": ["stay", "domestic", "foreign", "online"]}, "best_subjects": {"type": "array", "items": {"type": "string"}}, "best_education_path": {"type": "string"}, "best_location": {"type": "string"}, "best_study_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "best_relocation_period": {"type": "string"}, "main_strength": {"type": "string"}, "main_challenge": {"type": "string"}, "conclusion": {"type": "string"}}, "required": ["education_score", "outlook", "learning_ability", "concentration", "academic_potential", "memory", "analytical", "creativity", "communication", "higher_education", "foreign_education", "exam_readiness", "alignment_score", "relocation_education_score", "relocation_scores", "best_subjects", "best_education_path", "best_location", "best_study_period", "best_relocation_period", "main_strength", "main_challenge", "conclusion"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "disclaimer",
                        "overview",
                        "learning_styles",
                        "cognitive_strengths",
                        "study_habits",
                        "subjects",
                        "streams",
                        "higher_education",
                        "foreign_education",
                        "timing",
                        "exams",
                        "challenges",
                        "alignment",
                        "skills",
                        "relocation",
                        "cities",
                        "combined_timing",
                        "family",
                        "career_chain",
                        "spiritual",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "education",
                        "title": "Education Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "disclaimer": "This is an astrological reading about learning and education. It is not a measure of intelligence, and it is not an assessment of anyone's ability — a chart cannot speak to either. Nothing here can guarantee an exam result, an admission or a scholarship, and none of it is a substitute for advice fro [... 54 more characters]",
                        "overview": {"score": 51.2, "band": "moderate", "band_label": "Reasonably supported", "band_note": "Your chart gives learning a reasonable foundation, with the ordinary mix of supportive factors and areas to work at.", "unmeasured": false, "scores": {"learning_ability": {"key": "learning_ability", "label": "Learning ability", "score": 51.7, "band_label": "Moderate"}, "academic_potential": {"key": "academic_potential", "label": "Academic potential", "score": 49.1, "band_label": "Moderate"}, "concentration": {"key": "concentration", "label": "Concentration", "score": 46.5, "band_label": "Moderate"}, "memory": {"key": "memory", "label": "Memory", "score": 53.2, "band_label": "Moderate"}, "analytical": {"key": "analytical", "label": "Analytical ability", "score": 53.0, "band_label": "Moderate"}, "creativity": {"key": "creativity", "label": "Creativity", "score": 45.0, "band_label": "Moderate"}, "communication": {"key": "communication", "label": "Communication", "score": 61.4, "band_label": "Good"}, "higher_education": {"key": "higher_education", "label": "Higher education potential", "score": 56.9, "band_label": "Good"}, "foreign_education": {"key": "foreign_education", "label": "Foreign education potential", "score": 51.0, "band_label": "Moderate"}}, "strongest": "communication", "weakest": "creativity", "strengths": {"top": ["communication"], "statement": "Your chart's clearest educational strengths are communication and higher education potential. These are the areas where effort tends to return the most, so they are worth building a study approach around rather than working evenly across everything."}, "style_hint": "You are likely to learn steadily rather than instantly, and to retain well what you have gone over more than once. The second pass is where it settles for you.", "challenges": {"areas": ["concentration"], "statement": "The areas worth deliberate attention are concentration and creativity. These are not limits — they are the parts of studying that will take method rather than talent, and method is learnable."}, "environment": {"qualities": [], "statement": "No particular kind of study environment stands out in your chart. A setting you can be consistent in matters more than its character."}, "progression": {"smooth": true, "factors": [], "statement": "Your chart suggests education is likely to progress in a fairly straightforward way, without major interruption."}, "evidence": [{"factor": "mercury_supported", "impact": "positive", "strength": 64.0, "method": "d1", "detail": "The faculty governing reasoning, language and quick comprehension is well placed in your chart."}], "factor_count": 4},
                        "learning_styles": {"emitted": true, "ranked": [{"key": "discussion", "label": "Discussion", "score": 42.2, "advice": "Explaining something out loud is how you find out whether you know it. Study with someone if you can.", "supports": ["learning_ruler"], "factor_count": 3}], "all_qualified": [{"key": "discussion", "label": "Discussion", "score": 42.2, "advice": "Explaining something out loud is how you find out whether you know it. Study with someone if you can.", "supports": ["learning_ruler"], "factor_count": 3}], "least_suited": [], "statement": "You are likely to learn best through discussion, group learning and technology. Where you get to choose how to study — and you usually do, even inside a fixed syllabus — leaning on these will save you hours rather than minutes.", "least_statement": "No method stands out as clearly unsuited to you, so nothing needs avoiding.", "evidence": [{"factor": "learning_style_discussion", "impact": "positive", "strength": 58.8, "method": "d24", "detail": "Discussion is supported by 3 independent indications in your chart."}], "factor_count": 2},
                        "cognitive_strengths": {"emitted": true, "ranked": [{"key": "language", "label": "Language ability", "score": 52.4, "advice": null, "supports": ["learning_ruler"], "factor_count": 3}], "all_qualified": [{"key": "language", "label": "Language ability", "score": 52.4, "advice": null, "supports": ["learning_ruler"], "factor_count": 3}], "statement": "Your chart's clearest thinking strengths are language ability, communication and problem solving. Work that uses these tends to feel easier than the hours put into it would suggest, which is the useful thing to know when a subject is optional.", "evidence": [{"factor": "cognitive_strengths", "impact": "positive", "strength": 60.0, "method": "d24", "detail": "Several independent indications point to language ability, communication and problem solving."}], "factor_count": 1},
                        "study_habits": {"emitted": true, "concentration": 49.4, "consistency": 40.8, "exam_readiness": 45.7, "concentration_band": "Moderate", "tendencies": [{"key": "routine_difficulty", "title": "Keeping a routine takes deliberate effort", "what": "Your chart suggests regular habits do not form on their own for you, and need rebuilding after every break.", "do": "Anchor study to something already fixed — after a meal, before a commute — rather than to a time of day."}], "statement": "Your concentration reads as moderate. In practice your chart points to keeping a routine takes deliberate effort and you work best against a deadline. What follows each of these is what to do about it, which is the part worth acting on.", "suggestions": ["Anchor study to something already fixed — after a meal, before a commute — rather than to a time of day."], "evidence": [], "factor_count": 0},
                        "subjects": {"emitted": true, "ranked": [{"key": "literature", "label": "Literature", "score": 59.0, "streams": ["arts"], "supports": ["learning_ruler"], "factor_count": 3}], "all_qualified": [{"key": "literature", "label": "Literature", "score": 59.0, "streams": ["arts"], "supports": ["learning_ruler"], "factor_count": 3}], "considered": 19, "gated_out": 4, "streams": {"emitted": true, "ranked": [{"key": "arts", "label": "Arts & Humanities", "score": 100.0, "subjects": ["Literature"], "factor_count": 4}], "statement": "The educational direction your chart supports most is arts & humanities, followed by creative education and commerce. This follows from the subjects above rather than being a separate judgement."}, "statement": "The subjects your chart supports most clearly are Literature, Languages and Media & Communication. Each of these is backed by several independent indications rather than a single one, which is the bar worth applying to a decision this size. A further 4 were considered and set aside for resting on to [... 9 more characters]", "evidence": [{"factor": "subject_literature", "impact": "positive", "strength": 62.6, "method": "d24", "detail": "Literature is supported by 3 independent indications in your chart."}], "factor_count": 4},
                        "streams": {"emitted": true, "ranked": [{"key": "arts", "label": "Arts & Humanities", "score": 100.0, "subjects": ["Literature"], "factor_count": 4}], "statement": "The educational direction your chart supports most is arts & humanities, followed by creative education and commerce. This follows from the subjects above rather than being a separate judgement."},
                        "higher_education": {"unmeasured": false, "score": 56.9, "band_label": "Good", "levels": [{"key": "bachelors", "label": "Bachelor's degree", "supported": true}], "research_lean": 46.2, "statement": "Your chart supports bachelor's degree, master's degree, professional qualification and specialised certifications. Where more than one is listed, they are alternatives rather than a sequence — the reading is about what suits you, not about how far you ought to go.", "evidence": [{"factor": "higher_learning_supported", "impact": "positive", "strength": 62.0, "method": "d1", "detail": "The part of your chart governing higher learning and teachers carries supportive influences."}], "factor_count": 3},
                        "foreign_education": {"score": 51.0, "band_label": "Moderate", "indicated": false, "supports": ["learning_away"], "factor_count": 1, "opportunities": [], "statement": "Study abroad is not clearly indicated in your chart. Note what that does and does not mean: it is not a barrier, and it does not say a course abroad would go badly. It means nothing in your chart specifically points there, so the decision should rest on the course, the cost and what you want — which [... 36 more characters]", "evidence": []},
                        "timing": {"emitted": true, "windows": [{"start": "2048-05-30", "end": "2050-10-27", "age_from": 57, "age_to": 60, "maha_lord": "Mercury", "antar_lord": "Mercury", "score": 73.0, "independent_factors": 2, "strength": "moderately indicated", "theme": "Absorbing and applying", "theme_text": "a period favouring taking in new material quickly and using it", "opportunity": "Push for breadth now — this is when new subjects go in easiest.", "caution": "Depth can get skipped in favour of coverage.", "phase": "continuous", "phase_label": "Continued learning"}], "timeline": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "score": 45.1, "theme": "Effort and competition", "phase": "certification", "phase_label": "Certification and continued learning", "opportunity": "The best stretch for a competitive attempt or a technical skill.", "caution": "Pace can be set too high to sustain a whole cycle."}], "phases": [{"key": "certification", "label": "Certification and continued learning", "start": "2026-01-28", "end": "2036-03-21", "score": 45.1}], "peak": {"start": "2048-05-30", "end": "2050-10-27", "age_from": 57, "age_to": 60, "maha_lord": "Mercury", "antar_lord": "Mercury", "score": 73.0, "independent_factors": 2, "strength": "moderately indicated", "theme": "Absorbing and applying", "theme_text": "a period favouring taking in new material quickly and using it", "opportunity": "Push for breadth now — this is when new subjects go in easiest.", "caution": "Depth can get skipped in favour of coverage.", "phase": "continuous", "phase_label": "Continued learning"}, "secondary": {"start": "2051-10-24", "end": "2054-08-24", "age_from": 61, "age_to": 63, "maha_lord": "Mercury", "antar_lord": "Venus", "score": 62.5, "independent_factors": 3, "strength": "strongly indicated", "theme": "Creative and applied study", "theme_text": "a period favouring subjects with a creative or aesthetic side", "opportunity": "Worth adding a creative or applied element to what you study.", "caution": "Comfort can win over difficulty when a choice is available.", "phase": "continuous", "phase_label": "Continued learning"}, "study_abroad_window": {"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "maha_lord": "Jupiter", "antar_lord": "Mars", "score": 45.1, "independent_factors": 3, "strength": "moderately indicated", "theme": "Effort and competition", "theme_text": "an active period suiting competitive preparation and technical work", "opportunity": "The best stretch for a competitive attempt or a technical skill.", "caution": "Pace can be set too high to sustain a whole cycle.", "phase": "certification", "phase_label": "Certification and continued learning"}, "statement": "The stretch from 30/05/2048 to 27/10/2050 (age 57 to 60) looks the most supportive period for study. Its theme is absorbing and applying: a period favouring taking in new material quickly and using it. A secondary period runs 24/10/2051 to 24/08/2054 (age 61 to 63). These are periods where condition [... 122 more characters]", "note": "These are shown as favourable periods, not dates. A chart can suggest when conditions support study; it cannot say when anything will happen, and it cannot speak to any result.", "evidence": [{"factor": "education_windows", "impact": "positive", "strength": 58.0, "method": "dasha", "detail": "Periods engaging your education significators were identified."}], "factor_count": 1},
                        "exams": {"unmeasured": false, "score": 51.8, "band_label": "Moderate", "suited_to": [{"key": "entrance", "label": "Entrance and aptitude tests", "why": "Quick reasoning under a time limit is well supported in your chart, which is the specific skill these tests measure."}], "pressure": null, "discipline": "Drive is your strength here rather than patience. You will do well in intense bursts, so structure preparation as a series of short campaigns with real targets.", "statement": "Your suitability for competitive study reads as moderate, and your chart leans toward entrance and aptitude tests, professional qualifying examinations and shorter certifications. This describes what kind of preparation suits you. It says nothing about the result of any particular examination, which [... 23 more characters]", "evidence": [], "factor_count": 0},
                        "challenges": {"emitted": true, "challenges": [{"key": "routine_difficulty", "title": "Keeping a routine takes deliberate effort", "what": "Your chart suggests regular habits do not form on their own for you, and need rebuilding after every break.", "how_to_handle": "Anchor study to something already fixed — after a meal, before a commute — rather than to a time of day."}], "statement": "These are the parts of studying most likely to take deliberate attention for you. Every one of them has something practical attached, because a tendency you can name is a tendency you can work around."},
                        "alignment": {"score": 84.0, "band_label": "Strong", "aligned": true, "links": ["profession_from_learning"], "factor_count": 3, "strongest_link": "The clearest connection is that your working life draws on formal learning, so the qualification is likely to matter more than the specific subject does.", "statement": "Education-to-career alignment reads as strong. Your chart suggests what you study is likely to feed fairly directly into what you do, which makes the choice of subject carry more weight than it does for most people. Given that, the subjects above — Literature and Languages — are worth weighing as ca [... 45 more characters]", "evidence": [{"factor": "career_rooted_in_study", "impact": "positive", "strength": 60.0, "method": "d1", "detail": "Your profession draws on the part of your chart governing study and higher learning."}]},
                        "skills": {"emitted": true, "ranked": [{"key": "management", "label": "Management", "score": 34.4, "supports": ["skill_ruler"], "factor_count": 3}], "top": "Management", "second": "Finance", "third": "Languages", "statement": "Alongside whatever you study, the skills your chart supports most are management, finance and languages. These tend to compound with a qualification rather than duplicate it, which is what makes them worth the extra time."},
                        "relocation": {"verdict": "stay", "label": "Education well supported where you are", "scores": {"stay": 70.3, "domestic": 72.0, "foreign": 36.0, "online": 42.0}, "ranked": [{"key": "domestic", "label": "Moving to another city or region", "score": 72.0, "band_label": "Strong"}], "move_supports": 2, "reasons": ["learning that opens up when you are somewhere new"], "questions": [{"key": "current", "question": "Can you get the education you want where you are?", "score": 70.3, "band_label": "Strong", "answer": "This is how well your current location supports study. A high number here is worth more than it looks — it means the option that costs nothing is also a good one."}], "necessary": {"necessary": false, "gap": 1.7, "statement": "Relocation does not look necessary for your education. Your chart supports studying where you are about as well as moving, so a move should be justified by the course or the institution rather than by the reading."}, "statement": "Your chart does not show a strong educational advantage from moving. Studying where you already are looks at least as supportive, which is worth knowing before you spend a year and a great deal of money finding out.", "note": "These compare how well each option suits you, not how good the institutions are. A place your chart supports and a course that is wrong for you is still the wrong choice — the reading is one input among several.", "evidence": [{"factor": "d4_residence", "impact": "neutral", "strength": 50.0, "method": "d4", "detail": "The chart governing residence and surroundings was read alongside your main chart."}], "factor_count": 1},
                        "cities": {"emitted": true, "ranked": [{"city": "Medina", "state": null, "country": "Saudi Arabia", "score": 83.1, "distance_km": 3755.6, "confidence": "Moderate"}], "comparison": [{"city": "Medina", "country": "Saudi Arabia", "education": 83.1, "distance_km": 3755.6, "confidence": "Moderate", "academic_growth": 83.1, "career_alignment": null, "research": null, "international": null, "concentration": null, "higher_education": 83.1, "long_term": 83.1}], "by_goal": [{"key": "university", "question": "Best city for university education", "goal": "education", "goal_label": "Education", "city": "Medina", "country": "Saudi Arabia", "score": 83.1}], "statement": "For education your chart favours Medina, Addis Ababa and Dar es Salaam. These were scored from your own birth chart for each place rather than from any general ranking, which is why the list may not match the one you would expect.", "note": "These are scored for how well each place suits YOU as a place to study — not for the quality of its universities, which no chart can assess. Read them alongside the usual research rather than instead of it.", "evidence": [{"factor": "education_cities_ranked", "impact": "neutral", "strength": 58.0, "method": "relocation", "detail": "Locations were scored against your own birth chart for how well they support study, not taken from any general ranking of institutions."}], "factor_count": 1},
                        "combined_timing": {"emitted": true, "recommendations": [{"key": "higher_education", "label": "Best period to begin higher education", "window": {"start": "2048-05-30", "end": "2050-10-27", "age_from": 57, "age_to": 60}, "statement": "Your strongest study period runs 30/05/2048 to 27/10/2050 (age 57 to 60). If a qualification is going to be committed to, this is the stretch your chart supports most."}], "statement": "These combine the study periods with the location reading. The direction and the year are separate questions, and a move that is right in principle can still be wrong this year."},
                        "family": {"emitted": true, "arrangements": [{"key": "local", "label": "Studying from home", "statement": "Nothing in your chart points to education requiring you to move away. Studying from where you are looks entirely workable."}], "statement": "These are the living arrangements your education is most likely to involve. They are practical questions rather than emotional ones, and they are much easier to answer before a decision than after it."},
                        "career_chain": {"emitted": false, "steps": [], "statement": "Your chart does not point to moving for education, so there is no education-relocation chain to follow. Where you study locally, the qualification and the skills still carry the same career weight — it is the move specifically that is not indicated."},
                        "spiritual": {"emitted": true, "areas": ["philosophy"], "supports": ["higher_learning_supported"], "factor_count": 2, "statement": "Beyond formal study, your chart shows a genuine leaning toward philosophy. This is worth taking seriously as a direction of interest rather than as a hobby — for some charts it becomes the main subject eventually, and for others it stays alongside whatever they qualify in.", "evidence": [{"factor": "d20_layer", "impact": "neutral", "strength": 50.0, "method": "d20", "detail": "The supporting chart associated with devotional and contemplative practice was read."}]},
                        "summary": {"education_score": 51.2, "outlook": "Reasonably supported", "learning_ability": 51.7, "concentration": 49.4, "academic_potential": 49.1, "memory": 53.2, "analytical": 53.0, "creativity": 45.0, "communication": 61.4, "higher_education": 56.9, "foreign_education": 51.0, "exam_readiness": 51.8, "alignment_score": 84.0, "relocation_education_score": 72.0, "relocation_scores": {"stay": 70.3, "domestic": 72.0, "foreign": 36.0, "online": 42.0}, "best_subjects": ["Literature"], "best_education_path": "Arts & Humanities — master's degree", "best_location": "Where you are now", "best_study_period": {"start": "2048-05-30", "end": "2050-10-27"}, "best_relocation_period": "Not clearly indicated", "main_strength": "Communication", "main_challenge": "Creativity", "conclusion": "Overall, your chart is reasonably supported where learning and education are concerned. You are likely to learn steadily rather than instantly, and to retain well what you have gone over more than once. The second pass is where it settles for you. The subjects your chart supports most clearly are Li [... 2199 more characters]"},
                        "confidence": {"level": "High", "note": "Several independent methods agree, which is the most dependable kind of reading.", "method_count": 6, "methods_resolved": ["d1"], "conflicting_indicators": true},
                        "evidence": [{"factor": "mercury_supported", "impact": "positive", "strength": 64.0, "method": "d1", "detail": "The faculty governing reasoning, language and quick comprehension is well placed in your chart."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-property": {
      "post": {
        "operationId": "report-property",
        "summary": "Property Report",
        "description": "In-depth property reading: an overview score, scored sections with the chart evidence behind each, timing windows, remedies, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "disclaimer": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "scores": {"type": "object", "properties": {"ownership": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "wealth": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "home": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "land": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "commercial": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "accumulation": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "stability": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "growth": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "required": ["ownership", "wealth", "home", "land", "commercial", "accumulation", "stability", "growth"]}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "is_wealth_theme": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "links": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["indicated", "links", "statement"]}, "pace": {"type": "object", "properties": {"key": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "statement"]}, "strengths": {"type": "object", "properties": {"top": {"type": "array"}, "statement": {"type": "string"}}, "required": ["top", "statement"]}, "challenges": {"type": "object", "properties": {"areas": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["areas", "statement"]}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "scores", "strongest", "weakest", "is_wealth_theme", "pace", "strengths", "challenges", "evidence", "factor_count"]},
                        "home_ownership": {"type": "object", "properties": {"unmeasured": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["unmeasured", "score", "band_label", "supports", "factor_count", "statement", "evidence"]},
                        "property_types": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "categories": {"type": "array", "items": {"type": "string"}}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "categories", "supports", "factor_count"]}}, "all_qualified": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "categories": {"type": "array", "items": {"type": "string"}}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "categories", "supports", "factor_count"]}}, "categories": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "types": {"type": "array", "items": {"type": "string"}}}, "required": ["key", "label", "score", "types"]}}, "considered": {"type": "integer"}, "gated_out": {"type": "integer"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_qualified", "categories", "considered", "gated_out", "statement", "evidence", "factor_count"]},
                        "multiple": {"type": "object", "properties": {"pattern": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["pattern", "supports", "factor_count", "score", "band_label", "statement", "evidence"]},
                        "wealth": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array"}, "score": {"type": "null"}, "band_label": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "score", "band_label", "statement", "evidence", "factor_count"]},
                        "inherited": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "supports": {"type": "array"}, "factor_count": {"type": "integer"}, "forms": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["indicated", "supports", "factor_count", "forms", "statement", "evidence"]},
                        "financing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "routes": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}}, "primary": {"type": "string"}, "statement": {"type": "string"}}, "required": ["emitted", "routes", "primary", "statement"]},
                        "timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "windows": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "confidence", "theme", "theme_text", "opportunity", "caution"]}}, "timeline": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "confidence": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "score", "theme", "confidence", "opportunity", "caution"]}}, "peak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "confidence", "theme", "theme_text", "opportunity", "caution"]}, "secondary": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "confidence", "theme", "theme_text", "opportunity", "caution"]}, "selling": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "entries": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}}, "required": ["start", "end", "age_from", "age_to"]}, "statement": {"type": "string"}}, "required": ["key", "label", "window", "statement"]}}, "statement": {"type": "string"}}, "required": ["emitted", "entries", "statement"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "windows", "timeline", "peak", "secondary", "selling", "statement", "note", "evidence", "factor_count"]},
                        "selling": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "entries": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}}, "required": ["start", "end", "age_from", "age_to"]}, "statement": {"type": "string"}}, "required": ["key", "label", "window", "statement"]}}, "statement": {"type": "string"}}, "required": ["emitted", "entries", "statement"]},
                        "challenges": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "challenges": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "title": {"type": "string"}, "what": {"type": "string"}, "do": {"type": "string"}}, "required": ["key", "title", "what", "do"]}}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["emitted", "challenges", "statement", "evidence", "factor_count"]},
                        "relocation": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}}, "required": ["stay", "domestic", "foreign"]}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "move_supports": {"type": "integer"}, "reasons": {"type": "array", "items": {"type": "string"}}, "dimensions": {"type": "object", "properties": {"home_stability": {"type": "number"}, "property_wealth": {"type": "number"}, "asset_growth": {"type": "number"}, "long_term_settlement": {"type": "number"}}, "required": ["home_stability", "property_wealth", "asset_growth", "long_term_settlement"]}, "order": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}, "questions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "answer": {"type": "string"}}, "required": ["key", "question", "score", "band_label", "answer"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "scores", "ranked", "move_supports", "reasons", "dimensions", "order", "questions", "statement", "note", "evidence", "factor_count"]},
                        "cities": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}}, "required": ["city", "state", "country", "score", "distance_km", "confidence"]}}, "comparison": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "property": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}, "home": {"type": "number"}, "wealth": {"type": "number"}, "commercial": {"type": "null"}, "long_term": {"type": "null"}, "international": {"type": "null"}, "land": {"type": "number"}, "rental": {"type": "number"}, "asset_growth": {"type": "number"}, "timing": {"type": "string"}}, "required": ["city", "country", "property", "distance_km", "confidence", "home", "wealth", "commercial", "long_term", "international", "land", "rental", "asset_growth", "timing"]}}, "by_goal": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "question", "goal", "goal_label", "city", "country", "score"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "comparison", "by_goal", "statement", "note", "evidence", "factor_count"]},
                        "foreign": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "supports": {"type": "array"}, "factor_count": {"type": "integer"}, "forms": {"type": "array"}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["indicated", "score", "band_label", "supports", "factor_count", "forms", "statement", "note", "evidence"]},
                        "settlement": {"type": "object", "properties": {"pattern": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["pattern", "label", "statement"]},
                        "combined_timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "recommendations": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}}, "required": ["start", "end", "age_from", "age_to"]}, "statement": {"type": "string"}}, "required": ["key", "label", "window", "statement"]}}, "statement": {"type": "string"}}, "required": ["emitted", "recommendations", "statement"]},
                        "career_location": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "career_score": {"type": "number"}, "property_score": {"type": "number"}, "compatibility": {"type": "number"}, "band_label": {"type": "string"}, "supports": {"type": "array"}, "aligned": {"type": "boolean"}, "best_city": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "career_score", "property_score", "compatibility", "band_label", "supports", "aligned", "best_city", "statement", "evidence"]},
                        "family": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "connections": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "connections", "window", "statement", "evidence"]},
                        "strategy": {"type": "object", "properties": {"entries": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "answer": {"type": "string"}}, "required": ["key", "question", "answer"]}}, "statement": {"type": "string"}}, "required": ["entries", "statement"]},
                        "remedies": {"type": "object", "properties": {"entries": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "practice": {"type": "string"}, "why": {"type": "string"}}, "required": ["name", "practice", "why"]}}, "note": {"type": "string"}}, "required": ["entries", "note"]},
                        "summary": {"type": "object", "properties": {"property_score": {"type": "number"}, "outlook": {"type": "string"}, "home_ownership": {"type": "number"}, "land": {"type": "number"}, "property_wealth": {"type": "number"}, "multiple_potential": {"type": "number"}, "foreign_property": {"type": "number"}, "long_term_settlement": {"type": "number"}, "relocation_property_score": {"type": "number"}, "relocation_scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}}, "required": ["stay", "domestic", "foreign"]}, "best_property_type": {"type": "string"}, "best_location": {"type": "string"}, "best_purchase_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "best_relocation_period": {"type": "string"}, "best_city_for_wealth": {"type": "string"}, "settlement_pattern": {"type": "string"}, "career_property_fit": {"type": "number"}, "main_strength": {"type": "string"}, "main_challenge": {"type": "string"}, "conclusion": {"type": "string"}}, "required": ["property_score", "outlook", "home_ownership", "land", "property_wealth", "multiple_potential", "foreign_property", "long_term_settlement", "relocation_property_score", "relocation_scores", "best_property_type", "best_location", "best_purchase_period", "best_relocation_period", "best_city_for_wealth", "settlement_pattern", "career_property_fit", "main_strength", "main_challenge", "conclusion"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "disclaimer",
                        "overview",
                        "home_ownership",
                        "property_types",
                        "multiple",
                        "wealth",
                        "inherited",
                        "financing",
                        "timing",
                        "selling",
                        "challenges",
                        "relocation",
                        "cities",
                        "foreign",
                        "settlement",
                        "combined_timing",
                        "career_location",
                        "family",
                        "strategy",
                        "remedies",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "property",
                        "title": "Property Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "disclaimer": "This is an astrological reading about property and assets. It is not legal, financial, mortgage, tax or investment advice, and it is not a substitute for a qualified professional. No reading can promise that a property will be acquired, that a value will rise, that rent will be earned or that anythi [... 77 more characters]",
                        "overview": {"score": 48.3, "band": "mixed", "band_label": "Mixed indications — route matters more than timing", "band_note": "Your chart shows mixed indications for property. How and where you buy appears to matter more here than when.", "unmeasured": false, "scores": {"ownership": {"key": "ownership", "label": "Property ownership potential", "score": 51.1, "band_label": "Moderate"}, "wealth": {"key": "wealth", "label": "Property wealth potential", "score": 48.3, "band_label": "Moderate"}, "home": {"key": "home", "label": "Home ownership potential", "score": 48.6, "band_label": "Moderate"}, "land": {"key": "land", "label": "Land potential", "score": 50.8, "band_label": "Moderate"}, "commercial": {"key": "commercial", "label": "Commercial property potential", "score": 46.1, "band_label": "Moderate"}, "accumulation": {"key": "accumulation", "label": "Asset accumulation", "score": 41.8, "band_label": "Moderate"}, "stability": {"key": "stability", "label": "Property stability", "score": 42.7, "band_label": "Moderate"}, "growth": {"key": "growth", "label": "Long-term asset growth", "score": 52.4, "band_label": "Moderate"}}, "strongest": "growth", "weakest": "accumulation", "is_wealth_theme": {"indicated": false, "links": ["property_to_gains"], "statement": "Property reads more as somewhere to live than as a wealth strategy in your chart. That is not a limitation — it usually means a home matters to you for its own sake, and that your financial picture is likely to be built somewhere other than in bricks."}, "pace": {"key": "ordinary", "statement": "Your chart does not point to property arriving notably early or late. The timing is likely to follow your circumstances rather than any particular pattern."}, "strengths": {"top": [], "statement": "No single area stands far above the others in your chart. In practice that usually means an even profile rather than a weak one — the decision will rest on your circumstances more than on any particular aptitude."}, "challenges": {"areas": ["property stability"], "statement": "The areas worth planning around are property stability and asset accumulation. These are not obstacles so much as the parts that will take deliberate attention, and attention is something you control."}, "evidence": [{"factor": "land_significator", "impact": "positive", "strength": 60.0, "method": "d1", "detail": "The influence classically governing land and immovable property is well placed."}], "factor_count": 4},
                        "home_ownership": {"unmeasured": false, "score": 51.4, "band_label": "Moderate", "supports": ["property_gains_link"], "factor_count": 3, "statement": "Home ownership potential reads as moderate, supported by 3 independent indications rather than one. That describes what your chart supports — whether it happens rests on income, savings and timing, which no reading can see.", "evidence": []},
                        "property_types": {"emitted": true, "ranked": [{"key": "independent_house", "label": "Independent house", "score": 61.0, "categories": ["residential"], "supports": ["property_ruler"], "factor_count": 5}], "all_qualified": [{"key": "independent_house", "label": "Independent house", "score": 61.0, "categories": ["residential"], "supports": ["property_ruler"], "factor_count": 5}], "categories": [{"key": "land", "label": "Land", "score": 79.4, "types": ["Agricultural land"]}], "considered": 9, "gated_out": 2, "statement": "The kinds of property your chart supports most clearly are Independent house, Agricultural land and Property development or real-estate business. Each is backed by several independent indications rather than a single one, which is the bar worth applying to a decision this size. A further 2 were cons [... 47 more characters]", "evidence": [{"factor": "property_type_independent_house", "impact": "positive", "strength": 63.3, "method": "d4", "detail": "Independent house is supported by 5 independent indications in your chart."}], "factor_count": 3},
                        "multiple": {"pattern": "one_home", "supports": ["property_to_gains"], "factor_count": 1, "score": 53.0, "band_label": "Moderate", "statement": "Your chart points toward one main property rather than several. That is a perfectly ordinary reading and often the better position — a single home held well tends to cause considerably less trouble than a portfolio managed thinly.", "evidence": [{"factor": "property_gains_linked", "impact": "positive", "strength": 60.0, "method": "d1", "detail": "What you own and what you gain are connected in your chart, which classically describes property held for return rather than only for use."}]},
                        "wealth": {"emitted": false, "ranked": [], "score": null, "band_label": "Not clearly indicated", "statement": "No particular route stands out for building wealth through property. That usually means property is likely to be somewhere you live rather than the engine of your finances, which is an ordinary and perfectly comfortable position.", "evidence": [], "factor_count": 0},
                        "inherited": {"indicated": false, "supports": [], "factor_count": 0, "forms": [], "statement": "Family or inherited property is not clearly indicated in your chart. Note what that does and does not mean: it is not a statement that nothing will come, and it is certainly not one about anyone's health or intentions. It means nothing in your chart points there, so the sensible assumption is that w [... 117 more characters]", "evidence": []},
                        "financing": {"emitted": true, "routes": [{"key": "borrowing", "label": "Borrowing-supported", "statement": "Your chart leans toward property acquired with borrowing rather than outright. That is an ordinary route and says nothing about whether any particular application would succeed, which is not something a chart can assess."}], "primary": "Borrowing-supported", "statement": "Your chart leans toward borrowing-supported as the likely shape of how property gets paid for. This describes a tendency in your chart and nothing more. It is not a view on whether any application would succeed, what any arrangement should cost, or whether borrowing suits you — those are questions f [... 56 more characters]"},
                        "timing": {"emitted": true, "windows": [{"start": "2041-12-02", "end": "2043-01-11", "age_from": 51, "age_to": 52, "maha_lord": "Saturn", "antar_lord": "Mars", "score": 60.9, "independent_factors": 4, "strength": "strongly indicated", "confidence": "Good", "theme": "Action and land", "theme_text": "an active period classically associated with land and with getting things done", "opportunity": "The stretch where decisions actually get made rather than deferred.", "caution": "Haste is the characteristic risk; the paperwork still matters."}], "timeline": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "score": 56.9, "theme": "Action and land", "confidence": "Good", "opportunity": "The stretch where decisions actually get made rather than deferred.", "caution": "Haste is the characteristic risk; the paperwork still matters."}], "peak": {"start": "2041-12-02", "end": "2043-01-11", "age_from": 51, "age_to": 52, "maha_lord": "Saturn", "antar_lord": "Mars", "score": 60.9, "independent_factors": 4, "strength": "strongly indicated", "confidence": "Good", "theme": "Action and land", "theme_text": "an active period classically associated with land and with getting things done", "opportunity": "The stretch where decisions actually get made rather than deferred.", "caution": "Haste is the characteristic risk; the paperwork still matters."}, "secondary": {"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "maha_lord": "Jupiter", "antar_lord": "Mars", "score": 56.9, "independent_factors": 4, "strength": "strongly indicated", "confidence": "Good", "theme": "Action and land", "theme_text": "an active period classically associated with land and with getting things done", "opportunity": "The stretch where decisions actually get made rather than deferred.", "caution": "Haste is the characteristic risk; the paperwork still matters."}, "selling": {"emitted": true, "entries": [{"key": "sell", "label": "Selling or simplifying", "window": {"start": "2029-05-30", "end": "2032-06-02", "age_from": 38, "age_to": 41}, "statement": "The stretch around 30/05/2029 to 02/06/2032 (age 38 to 41) classically suits releasing rather than acquiring — selling, consolidating, or letting go of something that has served its purpose."}], "statement": "These stretches suit moving property on rather than acquiring. They describe when conditions look more supportive and nothing about what any sale would achieve."}, "statement": "The stretch from 02/12/2041 to 11/01/2043 (age 51 to 52) looks the most supportive period for property. Its theme is action and land: an active period classically associated with land and with getting things done. Confidence in this window is good. A secondary period runs 28/01/2026 to 04/01/2027 (a [... 160 more characters]", "note": "These are favourable periods, not dates. A chart can suggest when conditions look more supportive; it cannot say when a purchase will happen, and no honest reading gives a date for one. The rows below show the actual periods your chart identifies rather than a year-by-year figure, because the method [... 31 more characters]", "evidence": [{"factor": "property_windows", "impact": "positive", "strength": 58.0, "method": "dasha", "detail": "Periods engaging your property significators were identified."}], "factor_count": 1},
                        "selling": {"emitted": true, "entries": [{"key": "sell", "label": "Selling or simplifying", "window": {"start": "2029-05-30", "end": "2032-06-02", "age_from": 38, "age_to": 41}, "statement": "The stretch around 30/05/2029 to 02/06/2032 (age 38 to 41) classically suits releasing rather than acquiring — selling, consolidating, or letting go of something that has served its purpose."}], "statement": "These stretches suit moving property on rather than acquiring. They describe when conditions look more supportive and nothing about what any sale would achieve."},
                        "challenges": {"emitted": true, "challenges": [{"key": "paperwork", "title": "Transactions may move slowly", "what": "Your chart suggests the administrative side — documents, approvals, the parts nobody enjoys — takes more time and attention than average for you.", "do": "Get documents checked by a qualified professional before you are under time pressure, not after. It is the cheapest step in the whole process and the one most often skipped."}], "statement": "These are the parts of a property decision most likely to need deliberate attention for you. They are possibilities drawn from your chart, not forecasts — nothing here says a dispute or a delay will happen, only that these are the areas worth planning around. Each one has something practical attache [... 2 more characters]", "evidence": [], "factor_count": 0},
                        "relocation": {"verdict": "stay", "label": "Property well supported where you are", "scores": {"stay": 66.1, "domestic": 70.0, "foreign": 37.0}, "ranked": [{"key": "domestic", "label": "Another city or region", "score": 70.0, "band_label": "Strong"}], "move_supports": 2, "reasons": ["work and residence pulling in the same direction"], "dimensions": {"home_stability": 43.4, "property_wealth": 42.0, "asset_growth": 52.4, "long_term_settlement": 41.5}, "order": {"key": "buy_where_you_are", "label": "Buy where you are", "statement": "Since your chart does not favour a move for property, the question of sequence does not really arise. Buy where you are when the timing and the finances line up."}, "questions": [{"key": "current", "question": "Can you build a property base where you are now?", "score": 66.1, "band_label": "Good", "answer": "How well your current location supports acquiring and holding. A high number here is worth more than it looks — the option that costs nothing to choose is also a good one."}], "statement": "Your chart does not show a strong property advantage from moving. Where you already are looks at least as supportive, which is worth knowing before making a decision this size for a reason this uncertain.", "note": "These compare how well each option suits you, not how good any property market is. A place your chart supports and a purchase you cannot afford is still the wrong decision — the reading is one input among several, and the smallest one.", "evidence": [{"factor": "d4_residence", "impact": "neutral", "strength": 52.0, "method": "d4", "detail": "The supporting chart for property and residence was read alongside your main chart."}], "factor_count": 1},
                        "cities": {"emitted": true, "ranked": [{"city": "Medina", "state": null, "country": "Saudi Arabia", "score": 77.2, "distance_km": 3755.6, "confidence": "Moderate"}], "comparison": [{"city": "Medina", "country": "Saudi Arabia", "property": 77.2, "distance_km": 3755.6, "confidence": "Moderate", "home": 77.2, "wealth": 82.7, "commercial": null, "long_term": null, "international": null, "land": 77.2, "rental": 82.7, "asset_growth": 82.7, "timing": "Moderate"}], "by_goal": [{"key": "home", "question": "Best city for buying a home", "goal": "property", "goal_label": "Property", "city": "Medina", "country": "Saudi Arabia", "score": 77.2}], "statement": "For property your chart favours Medina, Mombasa and Moscow. These were scored from your own birth chart for each place rather than from any market ranking, which is why the list may not match the one you would expect.", "note": "These are scored for how each place suits YOU — not for how good any property market is, which is not something a chart can assess and not something this report is qualified to comment on. Read them alongside proper local research rather than instead of it.", "evidence": [{"factor": "property_cities_ranked", "impact": "neutral", "strength": 58.0, "method": "relocation", "detail": "Locations were scored against your own birth chart for how they support residence and holding, not taken from any market ranking."}], "factor_count": 1},
                        "foreign": {"indicated": false, "score": 40.0, "band_label": "Moderate", "supports": [], "factor_count": 0, "forms": [], "statement": "Property or long-term residence abroad is not clearly indicated in your chart. That is not a barrier and it does not say a move would go badly — it means nothing in your chart specifically points there, so the decision should rest on work, family and cost, which is where it belongs anyway.", "note": "Buying property in another country raises legal, tax and residency questions that are entirely outside what any chart can speak to. Those need a qualified professional in that country, and this reading is not a substitute for one.", "evidence": []},
                        "settlement": {"pattern": "birthplace", "label": "Near where you started", "statement": "Your chart leans toward settling close to where you began — the same city or region, even after time away. That is a genuine preference rather than a lack of ambition, and people who fight it tend to end up back there anyway."},
                        "combined_timing": {"emitted": true, "recommendations": [{"key": "buy", "label": "Best period to buy", "window": {"start": "2041-12-02", "end": "2043-01-11", "age_from": 51, "age_to": 52}, "statement": "Your strongest property stretch runs 02/12/2041 to 11/01/2043 (age 51 to 52). If a purchase is going to be made, this is the period your chart supports most."}], "statement": "These combine the property periods with the location reading. Direction and year are separate questions, and a purchase that is right in principle can still be wrong this year."},
                        "career_location": {"emitted": true, "career_score": 44.3, "property_score": 70.0, "compatibility": 48.2, "band_label": "Moderate", "supports": [], "aligned": false, "best_city": "Medina, Saudi Arabia", "statement": "Career and property alignment reads as moderate. Your chart supports holding more strongly than earning, which is the common case and worth naming: the city where you earn best and the one where you would build best are not always the same, and choosing between them is a real decision rather than an [... 11 more characters]", "evidence": []},
                        "family": {"emitted": true, "connections": [{"key": "children", "label": "Property and family expansion", "statement": "Your chart connects residence with family growth — the pattern behind moving because the household needs more room rather than because the property itself was the goal."}], "window": {"start": "2041-12-02", "end": "2043-01-11"}, "statement": "Property does not happen in isolation for you — your chart ties it to family expansion. Worth reading alongside the relevant reports rather than on its own, since the timing of one tends to move the other.", "evidence": []},
                        "strategy": {"entries": [{"key": "stability_or_mobility", "question": "Should you prioritise stability or flexibility?", "answer": "Stability looks worth more to you than flexibility. Your chart supports settling, which means the usual advice to keep options open is worth less here than committing properly to one place."}], "statement": "This guidance comes from the readings above and concerns sequence and priority — the order to decide things in, and what to weigh against what. It is deliberately not advice about what to buy, what to borrow or what anything will be worth. Those are questions for a qualified professional, and a char [... 46 more characters]"},
                        "remedies": {"entries": [{"name": "Practice associated with the home", "practice": "Traditional practice is keeping the home clean and uncluttered, offering food to those without one, and marking a new residence with whatever observance your family keeps.", "why": "Classical texts associate care for a dwelling with this part of the chart."}], "note": "These are traditional astrological practices, offered as practice and nothing more. No practice produces a property, a sale or a gain, and anyone who tells you otherwise is selling something. Gemstones are deliberately not recommended here — they carry a real cost and should only ever follow a prope [... 15 more characters]"},
                        "summary": {"property_score": 48.3, "outlook": "Mixed indications — route matters more than timing", "home_ownership": 51.4, "land": 50.8, "property_wealth": 48.3, "multiple_potential": 53.0, "foreign_property": 40.0, "long_term_settlement": 41.5, "relocation_property_score": 70.0, "relocation_scores": {"stay": 66.1, "domestic": 70.0, "foreign": 37.0}, "best_property_type": "Independent house", "best_location": "Where you are now", "best_purchase_period": {"start": "2041-12-02", "end": "2043-01-11"}, "best_relocation_period": "Not clearly indicated", "best_city_for_wealth": "Addis Ababa, Ethiopia", "settlement_pattern": "Near where you started", "career_property_fit": 48.2, "main_strength": "Long-term asset growth", "main_challenge": "Asset accumulation", "conclusion": "Overall, your chart is mixed indications — route matters more than timing where property and assets are concerned. The kinds of property your chart supports most clearly are Independent house, Agricultural land and Property development or real-estate business. Each is backed by several independent i [... 2293 more characters]"},
                        "confidence": {"level": "High", "note": "Several independent methods agree, which is the most dependable kind of reading.", "method_count": 5, "methods_resolved": ["d1"], "conflicting_indicators": true},
                        "evidence": [{"factor": "property_type_independent_house", "impact": "positive", "strength": 63.3, "method": "d4", "detail": "Independent house is supported by 5 independent indications in your chart."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-health": {
      "post": {
        "operationId": "report-health",
        "summary": "Health Report",
        "description": "In-depth health reading: an overview score, scored sections with the chart evidence behind each, timing windows, remedies, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "disclaimer": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "scores": {"type": "object", "properties": {"vitality": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "energy": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "stress": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "emotional": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "recovery": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "lifestyle": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "calmness": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "resilience": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}, "long_term": {"type": "object", "properties": {"label": {"type": "string"}, "score": {"type": "number"}, "unmeasured": {"type": "boolean"}}, "required": ["label", "score", "unmeasured"]}}, "required": ["vitality", "energy", "stress", "emotional", "recovery", "lifestyle", "calmness", "resilience", "long_term"]}, "measured_layers": {"type": "array", "items": {"type": "string"}}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "lifestyle": {"type": "object", "properties": {"style": {"type": "string"}, "text": {"type": "string"}}, "required": ["style", "text"]}, "statement": {"type": "string"}, "disclaimer": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "scores", "measured_layers", "strongest", "weakest", "lifestyle", "statement", "disclaimer", "evidence", "factor_count"]},
                        "vitality": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "vitality_score": {"type": "number"}, "energy_stability_score": {"type": "number"}, "recovery_score": {"type": "number"}, "statement": {"type": "string"}, "energy_statement": {"type": "string"}, "recovery_statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "vitality_score", "energy_stability_score", "recovery_score", "statement", "energy_statement", "recovery_statement", "evidence", "factor_count"]},
                        "stress": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "statement": {"type": "string"}, "solitude": {"type": "string"}, "guidance": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "band", "band_label", "band_note", "statement", "solitude", "guidance"]},
                        "rest": {"type": "object", "properties": {"score": {"type": "number"}, "statement": {"type": "string"}, "suggestions": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "statement", "suggestions"]},
                        "routine": {"type": "object", "properties": {"style": {"type": "string"}, "statement": {"type": "string"}, "suggestions": {"type": "array", "items": {"type": "string"}}}, "required": ["style", "statement", "suggestions"]},
                        "fitness": {"type": "object", "properties": {"styles": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["styles", "statement"]},
                        "food": {"type": "object", "properties": {"statement": {"type": "string"}, "suggestions": {"type": "array", "items": {"type": "string"}}}, "required": ["statement", "suggestions"]},
                        "themes": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "themes": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "title": {"type": "string"}, "text": {"type": "string"}}, "required": ["key", "title", "text"]}}, "statement": {"type": "string"}}, "required": ["emitted", "themes", "statement"]},
                        "timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "timeline": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "supportive_focus": {"type": "string"}, "caution": {"type": "null"}}, "required": ["start", "end", "age_from", "age_to", "score", "theme", "supportive_focus", "caution"]}}, "attention_periods": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "theme": {"type": "string"}, "statement": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "theme", "statement"]}}, "peak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "focus": {"type": "array", "items": {"type": "string"}}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "theme", "theme_text", "focus"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "timeline", "attention_periods", "peak", "statement", "note", "evidence", "factor_count"]},
                        "relocation": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}}, "required": ["stay", "domestic", "foreign"]}, "move_supports": {"type": "integer"}, "reasons": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "environment": {"type": "object", "properties": {"qualities": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["qualities", "statement"]}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "scores", "move_supports", "reasons", "statement", "environment", "note", "evidence", "factor_count"]},
                        "cities": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}}, "required": ["city", "state", "country", "score", "distance_km", "confidence"]}}, "comparison": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "wellbeing": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}, "calmness": {"type": ["number", "null"]}, "inner_peace": {"type": "null"}, "home_life": {"type": "null"}, "work_balance": {"type": "null"}}, "required": ["city", "country", "wellbeing", "distance_km", "confidence", "calmness", "inner_peace", "home_life", "work_balance"]}}, "by_goal": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "question", "goal", "goal_label", "city", "country", "score"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "comparison", "by_goal", "statement", "note", "evidence", "factor_count"]},
                        "spiritual": {"type": "object", "properties": {"score": {"type": "number"}, "meditative": {"type": "boolean"}, "practices": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["score", "meditative", "practices", "statement", "evidence", "factor_count"]},
                        "plan": {"type": "object", "properties": {"daily": {"type": "array", "items": {"type": "string"}}, "weekly": {"type": "array", "items": {"type": "string"}}, "monthly": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["daily", "weekly", "monthly", "statement"]},
                        "remedies": {"type": "object", "properties": {"entries": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "practice": {"type": "string"}, "why": {"type": "string"}}, "required": ["name", "practice", "why"]}}, "note": {"type": "string"}}, "required": ["entries", "note"]},
                        "supporting_charts": {"type": "object", "properties": {"d6_score": {"type": "number"}, "d30_score": {"type": "number"}, "statement": {"type": "string"}}, "required": ["d6_score", "d30_score", "statement"]},
                        "summary": {"type": "object", "properties": {"wellbeing_score": {"type": "number"}, "outlook": {"type": "string"}, "vitality": {"type": "number"}, "energy_stability": {"type": "number"}, "energy": {"type": "number"}, "stress_balance": {"type": "number"}, "emotional_balance": {"type": "number"}, "recovery": {"type": "number"}, "stress_band": {"type": "string"}, "rest_score": {"type": "number"}, "routine_style": {"type": "string"}, "relocation_wellbeing": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}}, "required": ["stay", "domestic", "foreign"]}, "relocation_verdict": {"type": "string"}, "best_environment": {"type": "string"}, "best_city": {"type": "string"}, "best_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "lifestyle_stability": {"type": "number"}, "lifestyle_style": {"type": "string"}, "main_strength": {"type": "string"}, "main_watch": {"type": "string"}, "conclusion": {"type": "string"}}, "required": ["wellbeing_score", "outlook", "vitality", "energy_stability", "energy", "stress_balance", "emotional_balance", "recovery", "stress_band", "rest_score", "routine_style", "relocation_wellbeing", "relocation_verdict", "best_environment", "best_city", "best_period", "lifestyle_stability", "lifestyle_style", "main_strength", "main_watch", "conclusion"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "disclaimer",
                        "overview",
                        "vitality",
                        "stress",
                        "rest",
                        "routine",
                        "fitness",
                        "food",
                        "themes",
                        "timing",
                        "relocation",
                        "cities",
                        "spiritual",
                        "plan",
                        "remedies",
                        "supporting_charts",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "health",
                        "title": "Health Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "disclaimer": "This is an astrological wellbeing reading, not medical advice. It cannot diagnose anything, and it is not a substitute for a doctor. If you have a health concern, or you are already under treatment, speak to a qualified medical professional — and never change or stop treatment on the basis of a chart.",
                        "overview": {"score": 42.1, "band": "mixed", "band_label": "Mixed — routine matters more for you than most", "band_note": "Your chart suggests a mixed picture where consistency makes a noticeable difference. Regular habits are likely to repay you more than occasional effort.", "unmeasured": false, "scores": {"vitality": {"label": "Vitality", "score": 49.8, "unmeasured": false}, "energy": {"label": "Energy", "score": 60.4, "unmeasured": false}, "stress": {"label": "Stress management", "score": 47.1, "unmeasured": false}, "emotional": {"label": "Emotional balance", "score": 50.6, "unmeasured": false}, "recovery": {"label": "Rest and recovery", "score": 56.1, "unmeasured": false}, "lifestyle": {"label": "Lifestyle stability", "score": 48.2, "unmeasured": false}, "calmness": {"label": "Mental calmness", "score": 59.0, "unmeasured": false}, "resilience": {"label": "Physical resilience", "score": 53.7, "unmeasured": false}, "long_term": {"label": "Long-term wellbeing", "score": 52.8, "unmeasured": false}}, "measured_layers": ["calmness", "emotional", "energy"], "strongest": "energy", "weakest": "stress", "lifestyle": {"style": "balanced", "text": "A balanced lifestyle suits you — neither rigidly scheduled nor entirely unstructured. Consistency in a few things matters more than discipline in everything."}, "statement": "Your chart suggests a mixed picture where consistency makes a noticeable difference. Regular habits are likely to repay you more than occasional effort.", "disclaimer": "This is an astrological wellbeing reading, not medical advice. It cannot diagnose anything, and it is not a substitute for a doctor. If you have a health concern, or you are already under treatment, speak to a qualified medical professional — and never change or stop treatment on the basis of a chart.", "evidence": [{"factor": "constitution_demanding", "impact": "negative", "strength": 55.0, "method": "d1", "detail": "Your chart suggests your energy responds noticeably to how well you look after it — pacing matters more for you than for most."}, {"factor": "vitality_needs_rest", "impact": "negative", "strength": 55.0, "method": "d1", "detail": "Your chart suggests you benefit from more deliberate rest than average, particularly during demanding stretches."}], "factor_count": 2},
                        "vitality": {"score": 49.3, "band": "variable", "band_label": "Energy varies with how you look after it", "band_note": "Your chart suggests energy that responds noticeably to how you look after it. The difference between a good week and a hard one is larger for you than for many people.", "unmeasured": false, "vitality_score": 49.3, "energy_stability_score": 40.0, "recovery_score": 47.8, "statement": "Your chart suggests energy that responds noticeably to how you look after it. The difference between a good week and a hard one is larger for you than for many people.", "energy_statement": "Your energy is likely to come in waves — strong stretches and flatter ones. Planning demanding work for the good stretches, rather than assuming every day is the same, tends to suit you.", "recovery_statement": "Your chart suggests recovery takes you a little longer than it takes others, which makes rest something to schedule rather than hope for. That is about pacing, not about anything being wrong.", "evidence": [{"factor": "vitality_supported", "impact": "positive", "strength": 60.0, "method": "karaka", "detail": "Your chart suggests a naturally reasonable reserve of energy."}, {"factor": "recovery_supported", "impact": "positive", "strength": 58.0, "method": "karaka", "detail": "Your chart suggests you tend to bounce back reasonably well after a demanding stretch."}], "factor_count": 2},
                        "stress": {"score": 50.0, "band": "reactive", "band_label": "Stress registers, and passes with rest", "band_note": "Your chart suggests pressure registers with you and then clears once you get proper rest. The rest is the part that matters — it does not clear on its own.", "statement": "Your chart suggests pressure registers with you and then clears once you get proper rest. The rest is the part that matters — it does not clear on its own.", "solitude": "You are likely to recharge in company as much as in quiet. Isolation for long stretches tends to cost you more than it gives.", "guidance": ["Build in recovery after demanding periods rather than moving straight to the next thing.", "Physical movement tends to clear mental pressure faster than rest alone for most people.", "Keep one part of the week genuinely free of obligations. A fixed boundary is easier to hold than a flexible one."]},
                        "rest": {"score": 44.0, "statement": "Your chart suggests a mind that stays active into the evening, which can make winding down take longer than you would like. This is a tendency, not a condition, and routine helps it more than anything else does.", "suggestions": ["Keep the same sleep and waking times, including at weekends.", "Put screens away well before bed — the light and the stimulation both matter.", "Give yourself a wind-down routine rather than going straight from activity to lying down."]},
                        "routine": {"style": "flexible", "statement": "A varied routine suits you better than a rigid one. You are more likely to keep up habits that change shape than ones that repeat identically.", "suggestions": ["Keep the habit and vary the form — walk one day, swim another.", "Anchor one fixed point in the day and build around it."]},
                        "fitness": {"styles": ["steady repeatable exercise — walking, swimming, or the same routine done consistently", "regular outdoor activity, ideally earlier in the day"], "statement": "Your chart leans toward steady repeatable exercise — walking, swimming, or the same routine done consistently or regular outdoor activity, ideally earlier in the day. These are suggestions about what tends to suit you, not instructions — the best exercise is the one you keep doing."},
                        "food": {"statement": "Your chart suggests reasonably settled eating habits. Keeping them regular is the main thing.", "suggestions": ["Eat at roughly the same times each day.", "Keep hydration steady rather than catching up late in the day.", "Aim for moderation rather than restriction — extremes in either direction tend not to last."]},
                        "themes": {"emitted": true, "themes": [{"key": "consistency", "title": "Consistency counts double for you", "text": "Your chart suggests that discipline and a regular routine play an especially important part in keeping you well. The gains come from repetition rather than from intensity."}, {"key": "environment", "title": "Your surroundings matter more than average", "text": "Your living environment can have a noticeable effect on your ability to rest and recharge, so a comfortable and peaceful home may be especially important for you."}], "statement": "The wellbeing themes your chart points to most clearly are consistency counts double for you and your surroundings matter more than average. These describe what supports you rather than anything being wrong."},
                        "timing": {"emitted": true, "timeline": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "score": 25.9, "theme": "Activity and recovery", "supportive_focus": "an active stretch that rewards building in proper recovery", "caution": null}, {"start": "2027-01-04", "end": "2029-05-30", "age_from": 36, "age_to": 38, "score": 27.2, "theme": "Irregularity", "supportive_focus": "a stretch where routine can slip, which is exactly when holding it repays you", "caution": null}, {"start": "2029-05-30", "end": "2032-06-02", "age_from": 38, "age_to": 41, "score": 46.5, "theme": "Routine and consistency", "supportive_focus": "a stretch where regular habits and adequate rest matter most", "caution": null}], "attention_periods": [{"start": "2039-05-22", "end": "2040-05-03", "age_from": 48, "age_to": 49, "theme": "Energy and pacing", "statement": "This stretch rewards attention to pacing yourself and keeping up routine checkups."}, {"start": "2029-05-30", "end": "2032-06-02", "age_from": 38, "age_to": 41, "theme": "Routine and consistency", "statement": "This stretch rewards attention to a consistent daily routine and adequate sleep."}, {"start": "2032-06-02", "end": "2035-02-10", "age_from": 41, "age_to": 44, "theme": "Mental load", "statement": "This stretch rewards attention to mental rest and doing fewer things at once."}], "peak": {"start": "2039-05-22", "end": "2040-05-03", "age_from": 48, "age_to": 49, "maha_lord": "Saturn", "antar_lord": "Sun", "score": 47.8, "independent_factors": 3, "theme": "Energy and pacing", "theme_text": "a stretch that rewards pacing yourself rather than pushing", "focus": ["pacing yourself", "keeping up routine checkups"]}, "statement": "The stretch from 22/05/2039 to 03/05/2040 — around age 48 to 49 is the one your chart suggests rewards the most attention, particularly to pacing yourself and keeping up routine checkups. That is a suggestion about where to be deliberate, not a prediction about your health.", "note": "These are stretches that reward extra attention to rest and routine. A period appearing here is not a warning about your health — it is a suggestion about when being deliberate pays most.", "evidence": [{"factor": "wellbeing_periods", "impact": "neutral", "strength": 58.0, "method": "dasha", "detail": "Periods engaging your wellbeing significators were identified and read for what they ask of your routine."}], "factor_count": 1},
                        "relocation": {"verdict": "stay", "label": "Wellbeing supported where you are", "scores": {"stay": 51.0, "domestic": 62.0, "foreign": 66.0}, "move_supports": 1, "reasons": ["a calmer home environment", "a genuine change of scene"], "statement": "Your chart does not show a strong wellbeing advantage from relocation. A healthier routine within your current environment may be more beneficial.", "environment": {"qualities": ["somewhere with easy access to green space or open country"], "statement": "Your chart leans toward somewhere with easy access to green space or open country. This is about what tends to suit your routine and your temperament — it says nothing about climate or geography affecting anyone's health."}, "note": "This is about routine and surroundings, not about medicine. A place cannot treat anything — what it can change is how easily you rest, move and keep a routine.", "evidence": [{"factor": "home_under_pressure", "impact": "neutral", "strength": 58.0, "method": "d1", "detail": "Your chart suggests your surroundings have a noticeable effect on how well you rest, so where you live matters more for you than for most."}, {"factor": "d4_environment", "impact": "neutral", "strength": 52.0, "method": "d4", "detail": "The chart governing home and surroundings was read alongside your main chart."}], "factor_count": 2},
                        "cities": {"emitted": true, "ranked": [{"city": "Buenos Aires", "state": null, "country": "Argentina", "score": 52.8, "distance_km": 15791.1, "confidence": "Low"}, {"city": "Brasilia", "state": null, "country": "Brazil", "score": 44.7, "distance_km": 14240.7, "confidence": "Low"}, {"city": "Addis Ababa", "state": null, "country": "Ethiopia", "score": 44.2, "distance_km": 4565.4, "confidence": "Low"}], "comparison": [{"city": "Buenos Aires", "country": "Argentina", "wellbeing": 52.8, "distance_km": 15791.1, "confidence": "Low", "calmness": null, "inner_peace": null, "home_life": null, "work_balance": null}, {"city": "Brasilia", "country": "Brazil", "wellbeing": 44.7, "distance_km": 14240.7, "confidence": "Low", "calmness": null, "inner_peace": null, "home_life": null, "work_balance": null}, {"city": "Addis Ababa", "country": "Ethiopia", "wellbeing": 44.2, "distance_km": 4565.4, "confidence": "Low", "calmness": 61.5, "inner_peace": null, "home_life": null, "work_balance": null}], "by_goal": [{"key": "peace", "question": "Best city for peace", "goal": "peace", "goal_label": "Peace of mind", "city": "Sydney", "country": "Australia", "score": 72.5}, {"key": "emotional", "question": "Best city for emotional balance", "goal": "peace", "goal_label": "Peace of mind", "city": "Sydney", "country": "Australia", "score": 72.5}, {"key": "lifestyle", "question": "Best city for lifestyle", "goal": "health", "goal_label": "Wellbeing", "city": "Buenos Aires", "country": "Argentina", "score": 52.8}], "statement": "For the kind of routine that suits you, your chart favours Buenos Aires, Brasilia and Addis Ababa. These were scored from your own birth chart for each place rather than from any general ranking.", "note": "These are scored for the kind of routine and pace a place tends to support for you. None of it is a claim about any city being healthier than another — that is not something a chart can speak to.", "evidence": [{"factor": "wellbeing_cities_ranked", "impact": "neutral", "strength": 58.0, "method": "relocation", "detail": "Cities were scored against your own birth chart for the kind of routine they support, not taken from a general list."}], "factor_count": 1},
                        "spiritual": {"score": 50.3, "meditative": false, "practices": ["time in places that feel settled — temples, mountains, or anywhere that quietens you"], "statement": "A formal inner practice is not strongly indicated for you. Short regular pauses are likely to serve you better than anything elaborate.", "evidence": [], "factor_count": 0},
                        "plan": {"daily": ["Keep sleep and waking times steady — it does more than any single other change.", "Move every day, even briefly. Consistency beats intensity here.", "Drink water through the day rather than catching up in the evening."], "weekly": ["Build the week around steady repeatable exercise — walking, swimming, or the same routine done consistently or regular outdoor activity, ideally earlier in the day.", "One longer stretch of movement or outdoor time.", "One evening that belongs to people you like."], "monthly": ["Look back at whether the routine is still fitting your life, and adjust it rather than abandoning it.", "Notice what has been draining you and change one thing about it.", "Make room for time in places that feel settled — temples, mountains, or anywhere that quietens you."], "statement": "These are general wellbeing suggestions drawn from the readings above. They are not medical advice, and nothing here should replace what a doctor tells you."},
                        "remedies": {"entries": [{"name": "Practice for steadiness", "practice": "Traditional practice is service to those in need on Saturdays, and simple, disciplined habits kept up without drama.", "why": "Your chart suggests consistency repays you more than intensity."}, {"name": "General practice", "practice": "Traditional practice across most rulesets is some combination of quiet reflection, charity, and moderation in habits.", "why": "This suits every chart and costs nothing."}], "note": "These are traditional astrological remedies, offered as practice. They are not medical care and not a substitute for seeing a doctor. Gemstones are deliberately not recommended here — they carry a real cost and should only ever follow a proper consultation."},
                        "supporting_charts": {"d6_score": 46.4, "d30_score": 57.8, "statement": "Supporting charts were read alongside your main chart. They confirm or temper the main reading rather than replacing it — no wellbeing conclusion here rests on a divisional chart by itself."},
                        "summary": {"wellbeing_score": 42.1, "outlook": "Mixed — routine matters more for you than most", "vitality": 49.3, "energy_stability": 40.0, "energy": 60.4, "stress_balance": 47.1, "emotional_balance": 50.6, "recovery": 47.8, "stress_band": "Stress registers, and passes with rest", "rest_score": 44.0, "routine_style": "flexible", "relocation_wellbeing": {"stay": 51.0, "domestic": 62.0, "foreign": 66.0}, "relocation_verdict": "Wellbeing supported where you are", "best_environment": "somewhere with easy access to green space or open country", "best_city": "Buenos Aires", "best_period": {"start": "2039-05-22", "end": "2040-05-03"}, "lifestyle_stability": 48.2, "lifestyle_style": "balanced", "main_strength": "Energy", "main_watch": "Stress management", "conclusion": "Overall, your chart is mixed — routine matters more for you than most where wellbeing is concerned. The area most worth your attention is stress management — that is where consistent habits are likely to make the clearest difference. A varied routine suits you better than a rigid one. You are more likely to keep up habits that change shape than ones that repeat identically. Your chart suggests recovery takes you a little longer than it takes others, which makes rest something to schedule rather than hope for. That is about pacing, not about anything being wrong. Your chart does not show a strong wellbeing advantage from relocation. A healthier routine within your current environment may be more beneficial. The stretch from 22/05/2039 to 03/05/2040 — around age 48 to 49 is the one your chart suggests rewards the most attention, particularly to pacing yourself and keeping up routine checkups. That is a suggestion about where to be deliberate, not a prediction about your health. This is an astrological wellbeing reading, not medical advice. It cannot diagnose anything, and it is not a substitute for a doctor. If you have a health concern, or you are already under treatment, speak to a qualified medical professional — and never change or stop treatment on the basis of a chart."},
                        "confidence": {"level": "High", "note": "Several independent methods agree, which is the most dependable kind of reading.", "method_count": 7, "methods_resolved": ["d1", "d30", "d4"], "conflicting_indicators": true},
                        "evidence": [{"factor": "vitality_supported", "impact": "positive", "strength": 60.0, "method": "karaka", "detail": "Your chart suggests a naturally reasonable reserve of energy."}, {"factor": "recovery_supported", "impact": "positive", "strength": 58.0, "method": "karaka", "detail": "Your chart suggests you tend to bounce back reasonably well after a demanding stretch."}, {"factor": "settled_temperament", "impact": "positive", "strength": 58.0, "method": "d1", "detail": "Your chart suggests a reasonably settled emotional temperament."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-foreign-travel": {
      "post": {
        "operationId": "report-foreign-travel",
        "summary": "Foreign Travel Report",
        "description": "In-depth foreign travel reading: an overview score, scored sections with the chart evidence behind each, timing windows, remedies, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "disclaimer": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "rootedness": {"type": "number"}, "scores": {"type": "object", "properties": {"travel": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "long_distance": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "work": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "education": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "business": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "residence": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "settlement": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "return_home": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "required": ["travel", "long_distance", "work", "education", "business", "residence", "settlement", "return_home"]}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "is_theme": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "areas": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["indicated", "areas", "statement"]}, "duration": {"type": "object", "properties": {"key": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "statement"]}, "reasons": {"type": "object", "properties": {"areas": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["areas", "statement"]}, "versus_home": {"type": "object", "properties": {"stronger": {"type": "string"}, "statement": {"type": "string"}}, "required": ["stronger", "statement"]}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "rootedness", "scores", "strongest", "weakest", "is_theme", "duration", "reasons", "versus_home", "evidence", "factor_count"]},
                        "travel": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "supports", "factor_count"]}}, "all_qualified": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "supports", "factor_count"]}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_qualified", "statement", "evidence", "factor_count"]},
                        "purposes": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "supports", "factor_count"]}}, "all_qualified": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "supports", "factor_count"]}}, "gated_out": {"type": "integer"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_qualified", "gated_out", "statement", "evidence", "factor_count"]},
                        "frequency": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "supports": {"type": "integer"}, "statement": {"type": "string"}}, "required": ["key", "label", "supports", "statement"]},
                        "first_opportunity": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "route": {"type": "string"}, "confidence": {"type": "string"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "statement": {"type": "string"}}, "required": ["emitted", "route", "confidence", "window", "statement"]},
                        "domains": {"type": "object", "properties": {"career": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "indicated": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "residence_supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "forms": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["key", "label", "indicated", "score", "band_label", "supports", "residence_supports", "factor_count", "forms", "statement", "evidence"]}, "education": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "indicated": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "residence_supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "forms": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["key", "label", "indicated", "score", "band_label", "supports", "residence_supports", "factor_count", "forms", "statement", "evidence"]}, "business": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "indicated": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "residence_supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "forms": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["key", "label", "indicated", "score", "band_label", "supports", "residence_supports", "factor_count", "forms", "statement", "evidence"]}, "relationship": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "indicated": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "residence_supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "forms": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "why": {"type": "string"}}, "required": ["key", "label", "why"]}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["key", "label", "indicated", "score", "band_label", "supports", "residence_supports", "factor_count", "forms", "statement", "evidence"]}}, "required": ["career", "education", "business", "relationship"]},
                        "ladder": {"type": "object", "properties": {"reached": {"type": "string"}, "label": {"type": "string"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "effective_factors": {"type": "integer"}, "rootedness": {"type": "number"}, "rungs": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "reached": {"type": "boolean"}, "needed": {"type": "integer"}}, "required": ["key", "label", "reached", "needed"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array"}, "factor_count_evidence": {"type": "integer"}}, "required": ["reached", "label", "supports", "factor_count", "effective_factors", "rootedness", "rungs", "statement", "note", "evidence", "factor_count_evidence"]},
                        "home_vs_foreign": {"type": "object", "properties": {"home_score": {"type": "number"}, "foreign_score": {"type": "number"}, "home_band": {"type": "string"}, "foreign_band": {"type": "string"}, "stronger": {"type": "string"}, "dimensions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "home": {"type": "number"}, "foreign": {"type": "number"}}, "required": ["key", "label", "home", "foreign"]}}, "statement": {"type": "string"}}, "required": ["home_score", "foreign_score", "home_band", "foreign_band", "stronger", "dimensions", "statement"]},
                        "return_home": {"type": "object", "properties": {"pattern": {"type": "string"}, "label": {"type": "string"}, "rootedness": {"type": "number"}, "statement": {"type": "string"}}, "required": ["pattern", "label", "rootedness", "statement"]},
                        "domestic_vs_foreign": {"type": "object", "properties": {"verdict": {"type": "string"}, "scores": {"type": "object", "properties": {"home": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}}, "required": ["home", "domestic", "foreign"]}, "permanent_score": {"type": "number"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["verdict", "scores", "permanent_score", "statement", "evidence"]},
                        "two_homes": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "supports": {"type": "array"}, "factor_count": {"type": "integer"}, "forms": {"type": "array"}, "statement": {"type": "string"}}, "required": ["indicated", "supports", "factor_count", "forms", "statement"]},
                        "timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "windows": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "kind": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "confidence", "theme", "theme_text", "kind", "opportunity", "caution"]}}, "timeline": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "confidence": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "score", "theme", "confidence", "opportunity", "caution"]}}, "milestones": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}}, "required": ["start", "end", "age_from", "age_to"]}, "start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "confidence": {"type": "string"}, "theme": {"type": "string"}}, "required": ["key", "label", "window", "start", "end", "age_from", "age_to", "score", "confidence", "theme"]}}, "peak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "kind": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "confidence", "theme", "theme_text", "kind", "opportunity", "caution"]}, "secondary": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "strength": {"type": "string"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "kind": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "strength", "confidence", "theme", "theme_text", "kind", "opportunity", "caution"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "windows", "timeline", "milestones", "peak", "secondary", "statement", "note", "evidence", "factor_count"]},
                        "combined_timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "recommendations": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}}, "required": ["start", "end", "age_from", "age_to"]}, "statement": {"type": "string"}}, "required": ["key", "label", "window", "statement"]}}, "statement": {"type": "string"}}, "required": ["emitted", "recommendations", "statement"]},
                        "cities": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}}, "required": ["city", "state", "country", "score", "distance_km", "confidence"]}}, "comparison": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "overall": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}, "career": {"type": "null"}, "wealth": {"type": "null"}, "family": {"type": "null"}, "lifestyle": {"type": "null"}, "property": {"type": "null"}, "relationship": {"type": "number"}, "education": {"type": "null"}, "settlement": {"type": "null"}, "business": {"type": "null"}, "timing": {"type": "string"}}, "required": ["city", "country", "overall", "distance_km", "confidence", "career", "wealth", "family", "lifestyle", "property", "relationship", "education", "settlement", "business", "timing"]}}, "by_goal": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "question", "goal", "goal_label", "city", "country", "score"]}}, "quality": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "dimensions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "null"}}, "required": ["key", "label", "score"]}}, "overall": {"type": "number"}, "statement": {"type": "string"}}, "required": ["city", "country", "dimensions", "overall", "statement"]}}, "against_home": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "rows": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "label", "city", "country", "score"]}}, "statement": {"type": "string"}}, "required": ["emitted", "rows", "statement"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "comparison", "by_goal", "quality", "against_home", "statement", "note", "evidence", "factor_count"]},
                        "foreign_property": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "forms": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["indicated", "supports", "factor_count", "forms", "statement", "evidence"]},
                        "family": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "connections": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["emitted", "connections", "statement", "evidence"]},
                        "integrated": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "links": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "value": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "label", "value", "score"]}}, "strength": {"type": "number"}, "band_label": {"type": "string"}, "improves": {"type": "boolean"}, "statement": {"type": "string"}}, "required": ["emitted", "links", "strength", "band_label", "improves", "statement"]},
                        "guidance": {"type": "object", "properties": {"entries": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "answer": {"type": "string"}}, "required": ["key", "question", "answer"]}}, "statement": {"type": "string"}}, "required": ["entries", "statement"]},
                        "remedies": {"type": "object", "properties": {"entries": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "practice": {"type": "string"}, "why": {"type": "string"}}, "required": ["name", "practice", "why"]}}, "note": {"type": "string"}}, "required": ["entries", "note"]},
                        "summary": {"type": "object", "properties": {"foreign_score": {"type": "number"}, "outlook": {"type": "string"}, "travel": {"type": "number"}, "career": {"type": "number"}, "wealth": {"type": "number"}, "education": {"type": "number"}, "relationship": {"type": "number"}, "family": {"type": "number"}, "property": {"type": "number"}, "settlement": {"type": "number"}, "return_home": {"type": "number"}, "best_country": {"type": "string"}, "best_city": {"type": "string"}, "best_purpose": {"type": "string"}, "best_travel_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "best_relocation_period": {"type": "string"}, "first_opportunity": {"type": "string"}, "settlement_potential": {"type": "string"}, "relocation_verdict": {"type": "string"}, "main_advantage": {"type": "string"}, "main_challenge": {"type": "string"}, "conclusion": {"type": "string"}}, "required": ["foreign_score", "outlook", "travel", "career", "wealth", "education", "relationship", "family", "property", "settlement", "return_home", "best_country", "best_city", "best_purpose", "best_travel_period", "best_relocation_period", "first_opportunity", "settlement_potential", "relocation_verdict", "main_advantage", "main_challenge", "conclusion"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "disclaimer",
                        "overview",
                        "travel",
                        "purposes",
                        "frequency",
                        "first_opportunity",
                        "domains",
                        "ladder",
                        "home_vs_foreign",
                        "return_home",
                        "domestic_vs_foreign",
                        "two_homes",
                        "timing",
                        "combined_timing",
                        "cities",
                        "foreign_property",
                        "family",
                        "integrated",
                        "guidance",
                        "remedies",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "foreign_travel",
                        "title": "Foreign Travel Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "disclaimer": "This is an astrological reading about travel and living abroad. It is not immigration, visa or legal advice, and it is not a substitute for a qualified professional. No reading can promise a visa, a residency, a citizenship, a job abroad or a property overseas — those are decisions made by governmen [... 160 more characters]",
                        "overview": {"score": 80.3, "band": "central", "band_label": "Foreign places are a central theme in your chart", "band_note": "Your chart makes distant places a central theme, with several independent factors agreeing. International experience is likely to shape a good deal of how your life develops.", "unmeasured": false, "rootedness": 43.6, "scores": {"travel": {"key": "travel", "label": "Foreign travel", "score": 65.1, "band_label": "Good"}, "long_distance": {"key": "long_distance", "label": "Long-distance travel", "score": 53.8, "band_label": "Moderate"}, "work": {"key": "work", "label": "Foreign work", "score": 54.0, "band_label": "Moderate"}, "education": {"key": "education", "label": "Foreign education", "score": 54.0, "band_label": "Moderate"}, "business": {"key": "business", "label": "Foreign business", "score": 54.0, "band_label": "Moderate"}, "residence": {"key": "residence", "label": "Foreign residence", "score": 43.4, "band_label": "Moderate"}, "settlement": {"key": "settlement", "label": "Permanent settlement", "score": 42.9, "band_label": "Moderate"}, "return_home": {"key": "return_home", "label": "Return to home country", "score": 43.6, "band_label": "Moderate"}}, "strongest": "travel", "weakest": "settlement", "is_theme": {"indicated": true, "areas": ["work"], "statement": "Distant places are a genuine theme in your chart rather than an incidental one. Several different parts of your life connect to somewhere other than where you started, which is the pattern behind people for whom international experience becomes significant."}, "duration": {"key": "temporary", "statement": "Where foreign opportunities arise, your chart points toward travel and temporary stays rather than relocation. That is not a smaller version of the same thing — it is a different and perfectly good shape for a life with international experience in it."}, "reasons": {"areas": ["your working life"], "statement": "The parts of your life that connect to distant places are your working life, study or children and a partner or a business relationship. That is where any foreign chapter is most likely to come from, and it is worth more than a general inclination toward travel."}, "versus_home": {"stronger": "foreign", "statement": "Taken together, your chart supports life away from your birthplace somewhat more than it supports staying. That is a reading about fit rather than a recommendation — the practical questions still decide it."}, "evidence": [{"factor": "distance_links", "impact": "positive", "strength": 62.0, "method": "d1", "detail": "2 genuine connections were found between your chart's main areas of life and the parts governing distance and living away."}], "factor_count": 3},
                        "travel": {"emitted": true, "ranked": [{"key": "business_travel", "label": "Travel for business", "score": 67.0, "supports": ["short_journeys_ruler"], "factor_count": 5}], "all_qualified": [{"key": "business_travel", "label": "Travel for business", "score": 67.0, "supports": ["short_journeys_ruler"], "factor_count": 5}], "statement": "The kinds of foreign travel your chart supports most are travel for business, frequent travel and short international trips. Note that travel and living abroad are different readings — a chart full of journeys is not thereby a chart that points toward emigrating.", "evidence": [{"factor": "travel_kinds", "impact": "positive", "strength": 58.0, "method": "d1", "detail": "Several independent indications support travel for business and frequent travel."}], "factor_count": 1},
                        "purposes": {"emitted": true, "ranked": [{"key": "marriage", "label": "A relationship or marriage", "score": 51.0, "supports": ["lord_of_3_in_7"], "factor_count": 3}], "all_qualified": [{"key": "marriage", "label": "A relationship or marriage", "score": 51.0, "supports": ["lord_of_3_in_7"], "factor_count": 3}], "gated_out": 7, "statement": "If a foreign chapter happens for you, your chart points most clearly to a relationship or marriage or business as the reason. Each rests on several independent connections rather than a single placement.", "evidence": [{"factor": "purpose_marriage", "impact": "positive", "strength": 59.3, "method": "d1", "detail": "A relationship or marriage is supported by 3 independent connections between that part of your life and the parts governing distance."}], "factor_count": 2},
                        "frequency": {"key": "frequent", "label": "Frequent travel", "supports": 4, "statement": "Your chart supports genuinely frequent international movement. That is a real pattern rather than an aspiration, and it is worth building a life that accommodates it rather than one it keeps interrupting."},
                        "first_opportunity": {"emitted": true, "route": "A relationship or marriage", "confidence": "Moderate", "window": {"start": "2060-06-13", "end": "2062-09-19"}, "statement": "A first significant foreign connection is likeliest to come through a relationship or marriage, with the supporting period running 13/06/2060 to 19/09/2062. Confidence here is moderate — it rests on 3 independent indications. It describes the likeliest route rather than a forecast that anything will [... 8 more characters]"},
                        "domains": {"career": {"key": "career", "label": "Foreign career", "indicated": false, "score": 54.0, "band_label": "Moderate", "supports": ["lord_of_10_in_9"], "residence_supports": ["lord_of_10_in_9"], "factor_count": 2, "forms": [], "statement": "Your working life does not read as particularly connected to other countries. That is not a barrier to working abroad — it means nothing in your chart is pointing there, so it would be a decision rather than a direction.", "evidence": []}, "education": {"key": "education", "label": "Foreign education", "indicated": false, "score": 54.0, "band_label": "Moderate", "supports": ["lord_of_5_in_9"], "residence_supports": ["lord_of_5_in_9"], "factor_count": 1, "forms": [], "statement": "Study abroad is not clearly indicated in your chart. Note what that does not mean: it says nothing about whether a course abroad would go well, only that nothing here specifically points there.", "evidence": []}, "business": {"key": "business", "label": "Foreign business", "indicated": false, "score": 54.0, "band_label": "Moderate", "supports": ["lord_of_3_in_7"], "residence_supports": ["lord_of_7_in_9"], "factor_count": 2, "forms": [], "statement": "International business is not clearly indicated in your chart. Where business happens it is more likely to be domestic, which is where most business is.", "evidence": []}, "relationship": {"key": "relationship", "label": "Foreign connection through a relationship", "indicated": true, "score": 72.0, "band_label": "Strong", "supports": ["lord_of_3_in_7"], "residence_supports": ["lord_of_7_in_9"], "factor_count": 3, "forms": [{"key": "partner", "label": "A partner from elsewhere", "why": "Your chart connects partnership with distant places."}], "statement": "Foreign connection through a relationship is genuinely indicated in your chart, resting on several independent connections rather than a single placement. The forms it is most likely to take are a partner from elsewhere or a marriage that involves a move. This is a direction your chart allows for, n [... 90 more characters]", "evidence": [{"factor": "foreign_relationship", "impact": "positive", "strength": 62.0, "method": "d1", "detail": "3 independent connections link this part of your life with distant places."}]}},
                        "ladder": {"reached": "repeated", "label": "Repeated foreign travel", "supports": ["lord_of_1_in_12"], "factor_count": 2, "effective_factors": 2, "rootedness": 43.6, "rungs": [{"key": "travel", "label": "Temporary travel", "reached": true, "needed": 1}], "statement": "Your chart supports repeated foreign travel — going more than once, possibly regularly — rather than relocation. The distinction matters: this is a pattern of trips, not the beginning of a move.", "note": "These five are different claims, not degrees of one. A chart that supports travelling does not thereby support emigrating, and each step up this list needs more independent evidence than the one below it. Nothing here can promise a visa, a residency or a right to remain — those are decisions made by [... 13 more characters]", "evidence": [], "factor_count_evidence": 0},
                        "home_vs_foreign": {"home_score": 43.6, "foreign_score": 80.3, "home_band": "Moderate", "foreign_band": "Strong", "stronger": "foreign", "dimensions": [{"key": "career", "label": "Career", "home": 42.0, "foreign": 54.0}], "statement": "A foreign environment reads as more supportive than your home one in your chart. The support comes specifically through foreign connection through a relationship. That is a reading about fit rather than a recommendation to go, and it says nothing about whether any particular move would be possible."},
                        "return_home": {"pattern": "unclear", "label": "Not clearly indicated", "rootedness": 43.6, "statement": "Whether a stay abroad would last is not clearly indicated in your chart. That is an honest answer rather than a gap — it usually means the decision would stay genuinely open."},
                        "domestic_vs_foreign": {"verdict": "domestic", "scores": {"home": 52.0, "domestic": 58.0, "foreign": 48.0}, "permanent_score": 50.6, "statement": "Your chart supports relocation, but the stronger indication is for another city in your own country rather than permanent foreign settlement. Those are genuinely different answers, and confusing them is how people end up making the larger move when the smaller one would have done.", "evidence": []},
                        "two_homes": {"indicated": false, "supports": [], "factor_count": 0, "forms": [], "statement": "A two-country life is not particularly indicated in your chart. Where a move happens it is more likely to be a move than an arrangement."},
                        "timing": {"emitted": true, "windows": [{"start": "2060-06-13", "end": "2062-09-19", "age_from": 69, "age_to": 71, "maha_lord": "Mercury", "antar_lord": "Jupiter", "score": 65.7, "independent_factors": 4, "strength": "strongly indicated", "confidence": "Good", "theme": "Expansion", "theme_text": "a period favouring growth, study and going further", "kind": "opportunity", "opportunity": "The clearest stretch for an opportunity that widens your options.", "caution": "Optimism can outrun what has actually been arranged."}], "timeline": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "score": 55.2, "theme": "Action", "confidence": "Good", "opportunity": "The stretch to act on something already prepared.", "caution": "Haste is the characteristic risk; the paperwork still matters."}], "milestones": [{"key": "first", "label": "First major foreign opportunity", "window": {"start": "2060-06-13", "end": "2062-09-19", "age_from": 69, "age_to": 71}, "start": "2060-06-13", "end": "2062-09-19", "age_from": 69, "age_to": 71, "score": 65.7, "confidence": "Good", "theme": "Expansion"}], "peak": {"start": "2060-06-13", "end": "2062-09-19", "age_from": 69, "age_to": 71, "maha_lord": "Mercury", "antar_lord": "Jupiter", "score": 65.7, "independent_factors": 4, "strength": "strongly indicated", "confidence": "Good", "theme": "Expansion", "theme_text": "a period favouring growth, study and going further", "kind": "opportunity", "opportunity": "The clearest stretch for an opportunity that widens your options.", "caution": "Optimism can outrun what has actually been arranged."}, "secondary": {"start": "2048-05-30", "end": "2050-10-27", "age_from": 57, "age_to": 60, "maha_lord": "Mercury", "antar_lord": "Mercury", "score": 63.1, "independent_factors": 2, "strength": "moderately indicated", "confidence": "Moderate", "theme": "Movement and paperwork", "theme_text": "a period favouring journeys, applications and the practical machinery", "kind": "travel", "opportunity": "Well suited to applications, arrangements and short trips.", "caution": "Detail can absorb the whole period if you let it."}, "statement": "The stretch from 13/06/2060 to 19/09/2062 (age 69 to 71) looks the most supportive period for foreign matters. Its theme is expansion: a period favouring growth, study and going further. Confidence in this window is good. A secondary period runs 30/05/2048 to 27/10/2050 (age 57 to 60). These describ [... 149 more characters]", "note": "These are favourable periods, not dates. A chart can suggest when conditions look more supportive; it cannot say when anything will happen, and it certainly cannot see an immigration decision. The rows below show the actual periods your chart identifies rather than a year-by-year figure, because the [... 38 more characters]", "evidence": [{"factor": "foreign_windows", "impact": "positive", "strength": 58.0, "method": "dasha", "detail": "Periods engaging the parts of your chart governing distance were identified."}], "factor_count": 1},
                        "combined_timing": {"emitted": true, "recommendations": [{"key": "apply", "label": "Best period to apply or explore", "window": {"start": "2060-06-13", "end": "2062-09-19", "age_from": 69, "age_to": 71}, "statement": "Applications, enquiries and putting yourself forward suit 13/06/2060 to 19/09/2062 (age 69 to 71). Processes abroad run long, so the work starts well before the window you actually want to land in."}], "statement": "These combine the foreign periods with the location reading. Direction and year are separate questions, and a move that is right in principle can still be wrong this year."},
                        "cities": {"emitted": true, "ranked": [{"city": "Karachi", "state": null, "country": "Pakistan", "score": 83.3, "distance_km": 1095.7, "confidence": "Moderate"}], "comparison": [{"city": "Karachi", "country": "Pakistan", "overall": 83.3, "distance_km": 1095.7, "confidence": "Moderate", "career": null, "wealth": null, "family": null, "lifestyle": null, "property": null, "relationship": 78.2, "education": null, "settlement": null, "business": null, "timing": "Moderate"}], "by_goal": [{"key": "career", "question": "Best place for career", "goal": "career", "goal_label": "Career", "city": "Mecca", "country": "Saudi Arabia", "score": 89.7}], "quality": [{"city": "Karachi", "country": "Pakistan", "dimensions": [{"key": "career", "label": "Career opportunity", "score": null}], "overall": 78.2, "statement": "For Karachi the strongest dimensions are social environment. This describes how the place suits your chart. It says nothing about cost of living, healthcare, safety or the rules for going there, none of which a reading can assess."}], "against_home": {"emitted": true, "rows": [{"key": "foreign_1", "label": "Strongest option abroad", "city": "Karachi", "country": "Pakistan", "score": 83.3}], "statement": "This puts the options side by side. It is worth looking at the gap rather than the ranking — where a nearer option scores close to a distant one, the nearer one is almost always the better decision once cost and disruption are counted."}, "statement": "For life abroad your chart favours Karachi, Sapporo and Melbourne. Each was scored from your own birth chart for that specific place rather than chosen from a list, which is why the ranking may not be the one you expected.", "note": "Every place here was scored against your own birth details rather than picked from a list of popular destinations, which is why the ranking may not match the one you expected. These describe how a place suits YOU — not how easy it is to move there, which is a legal question no chart can answer.", "evidence": [{"factor": "foreign_cities_ranked", "impact": "neutral", "strength": 58.0, "method": "relocation", "detail": "Locations were scored against your own birth chart for how they support life abroad, not taken from any general list of destinations."}], "factor_count": 1},
                        "foreign_property": {"indicated": false, "supports": ["wealth_abroad"], "factor_count": 1, "forms": [], "statement": "Property abroad is not clearly indicated in your chart. Renting keeps the options open and avoids a foreign purchase's legal and tax questions entirely, which is usually the right first move in any case.", "evidence": []},
                        "family": {"emitted": true, "connections": [{"key": "marriage", "label": "A move connected with partnership", "statement": "Your chart ties partnership to distant places, so a move may come through a relationship rather than through work."}], "statement": "A foreign chapter does not stand alone for you — your chart ties it to partnership, children's education and a family move rather than an individual one. Worth reading alongside the relevant reports, since the timing of one tends to move the other.", "evidence": [{"factor": "partnership_abroad", "impact": "neutral", "strength": 56.0, "method": "d1", "detail": "Partnership and distance are connected in your chart."}]},
                        "integrated": {"emitted": true, "links": [{"key": "location", "label": "Foreign location", "value": "Karachi, Pakistan", "score": 83.3}], "strength": 57.6, "band_label": "Good", "improves": false, "statement": "Following the chain through, moving abroad reads as a lateral move rather than an improvement — some links stronger, some weaker, netting out close to where you are. Where that is the case the decision should rest on what you want rather than on what is optimal, because nothing here says one is."},
                        "guidance": {"entries": [{"key": "career_first", "question": "Should career come before relocation?", "answer": "Your chart does not particularly connect work with going abroad, so a move would need its own justification. Arriving without one already arranged is a considerably harder position than it sounds from home."}], "statement": "This guidance concerns sequence and priority — the order to decide things in. It is deliberately not advice about visas, eligibility or immigration process: those are legal questions with real consequences, and they need a qualified professional rather than a reading."},
                        "remedies": {"entries": [{"name": "Traditional travel practice", "practice": "Traditional practice before a journey is a small offering, a moment's stillness before leaving, and charity toward travellers or those far from home.", "why": "Classical texts associate care for travellers with safe passage."}], "note": "These are traditional astrological practices, offered as practice and nothing more. No practice produces a visa, a job abroad or a right to remain anywhere, and anyone who tells you otherwise is selling something. Gemstones are deliberately not recommended here — they carry a real cost and should on [... 37 more characters]"},
                        "summary": {"foreign_score": 80.3, "outlook": "Foreign places are a central theme in your chart", "travel": 65.1, "career": 54.0, "wealth": 54.0, "education": 54.0, "relationship": 72.0, "family": 86.0, "property": 54.0, "settlement": 42.9, "return_home": 43.6, "best_country": "Pakistan", "best_city": "Karachi, Pakistan", "best_purpose": "A relationship or marriage", "best_travel_period": {"start": "2060-06-13", "end": "2062-09-19"}, "best_relocation_period": "Not clearly indicated", "first_opportunity": "A relationship or marriage", "settlement_potential": "Temporary", "relocation_verdict": "domestic", "main_advantage": "Foreign travel", "main_challenge": "Permanent settlement", "conclusion": "Overall, your chart reads as: foreign places are a central theme in your chart. Distant places are a genuine theme in your chart rather than an incidental one. Several different parts of your life connect to somewhere other than where you started, which is the pattern behind people for whom internat [... 2115 more characters]"},
                        "confidence": {"level": "High", "note": "Several independent methods agree, which is the most dependable kind of reading.", "method_count": 4, "methods_resolved": ["d1"], "conflicting_indicators": false},
                        "evidence": [{"factor": "distance_links", "impact": "positive", "strength": 62.0, "method": "d1", "detail": "2 genuine connections were found between your chart's main areas of life and the parts governing distance and living away."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-relocation": {
      "post": {
        "operationId": "report-relocation",
        "summary": "Relocation Report",
        "description": "Relocation reading: relocation potential, stay-or-move verdict, foreign settlement, best directions, house and D4 analysis, dasha support, ranked places, timing and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "relocation_potential": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "components": {"type": "object", "properties": {"ninth_twelfth": {"type": "number"}, "third": {"type": "number"}, "fourth_disp": {"type": "number"}, "seventh": {"type": "number"}, "d4": {"type": "number"}, "nodes": {"type": "number"}, "dasha": {"type": "number"}}, "required": ["ninth_twelfth", "third", "fourth_disp", "seventh", "d4", "nodes", "dasha"]}, "weights": {"type": "object", "properties": {"ninth_twelfth": {"type": "number"}, "third": {"type": "number"}, "fourth_disp": {"type": "number"}, "seventh": {"type": "number"}, "d4": {"type": "number"}, "nodes": {"type": "number"}, "dasha": {"type": "number"}, "transit": {"type": "number"}}, "required": ["ninth_twelfth", "third", "fourth_disp", "seventh", "d4", "nodes", "dasha", "transit"]}, "unavailable_components": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "band", "band_label", "components", "weights", "unavailable_components"]},
                        "stay_or_move": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "relocation_pull": {"type": "number"}, "rootedness": {"type": "number"}, "difference": {"type": "number"}}, "required": ["verdict", "label", "relocation_pull", "rootedness", "difference"]},
                        "foreign_settlement": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "components": {"type": "object", "properties": {"twelfth": {"type": "number"}, "ninth": {"type": "number"}, "seventh": {"type": "number"}, "fourth": {"type": "number"}, "rahu": {"type": "number"}, "d4": {"type": "number"}}, "required": ["twelfth", "ninth", "seventh", "fourth", "rahu", "d4"]}, "agreeing_indicators": {"type": "integer"}, "capped_for_lack_of_corroboration": {"type": "boolean"}, "rahu_house": {"type": "integer"}}, "required": ["score", "band", "band_label", "components", "agreeing_indicators", "capped_for_lack_of_corroboration", "rahu_house"]},
                        "relocation_types": {"type": "array", "items": {"type": "object", "properties": {"type": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["type", "label", "score", "houses"]}},
                        "directions": {"type": "object", "properties": {"available": {"type": "boolean"}, "goal": {"type": "null"}, "primary": {"type": "object", "properties": {"direction": {"type": "string"}, "score": {"type": "number"}, "theme": {"type": "string"}, "lords": {"type": "array", "items": {"type": "string"}}, "components": {"type": "object", "properties": {"lord_condition": {"type": "number"}, "goal_house": {"type": "null"}, "lagna_support": {"type": "number"}, "sign_hint": {"type": "number"}}, "required": ["lord_condition", "goal_house", "lagna_support", "sign_hint"]}}, "required": ["direction", "score", "theme", "lords", "components"]}, "secondary": {"type": "object", "properties": {"direction": {"type": "string"}, "score": {"type": "number"}, "theme": {"type": "string"}, "lords": {"type": "array", "items": {"type": "string"}}, "components": {"type": "object", "properties": {"lord_condition": {"type": "number"}, "goal_house": {"type": "null"}, "lagna_support": {"type": "number"}, "sign_hint": {"type": "number"}}, "required": ["lord_condition", "goal_house", "lagna_support", "sign_hint"]}}, "required": ["direction", "score", "theme", "lords", "components"]}, "caution": {"type": "object", "properties": {"direction": {"type": "string"}, "score": {"type": "number"}, "theme": {"type": "string"}, "lords": {"type": "array", "items": {"type": "string"}}, "components": {"type": "object", "properties": {"lord_condition": {"type": "number"}, "goal_house": {"type": "null"}, "lagna_support": {"type": "number"}, "sign_hint": {"type": "number"}}, "required": ["lord_condition", "goal_house", "lagna_support", "sign_hint"]}}, "required": ["direction", "score", "theme", "lords", "components"]}, "spread": {"type": "number"}, "lead_over_median": {"type": "number"}, "runner_up_gap": {"type": "number"}, "meaningful_difference": {"type": "boolean"}, "all": {"type": "array", "items": {"type": "object", "properties": {"direction": {"type": "string"}, "score": {"type": "number"}, "theme": {"type": "string"}, "lords": {"type": "array", "items": {"type": "string"}}, "components": {"type": "object", "properties": {"lord_condition": {"type": "number"}, "goal_house": {"type": "null"}, "lagna_support": {"type": "number"}, "sign_hint": {"type": "number"}}, "required": ["lord_condition", "goal_house", "lagna_support", "sign_hint"]}}, "required": ["direction", "score", "theme", "lords", "components"]}}, "weights": {"type": "object", "properties": {"lord_condition": {"type": "number"}, "goal_house": {"type": "number"}, "lagna_support": {"type": "number"}, "sign_hint": {"type": "number"}}, "required": ["lord_condition", "goal_house", "lagna_support", "sign_hint"]}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["available", "goal", "primary", "secondary", "caution", "spread", "lead_over_median", "runner_up_gap", "meaningful_difference", "all", "weights", "evidence"]},
                        "house_analyses": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "role": {"type": "string"}, "sign": {"type": "string"}, "lord": {"type": "string"}, "lord_house": {"type": "integer"}, "lord_dignity": {"type": "string"}, "occupants": {"type": "array", "items": {"type": "string"}}, "score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["house", "role", "sign", "lord", "lord_house", "lord_dignity", "occupants", "score", "band"]}},
                        "d4": {"type": "object", "properties": {"available": {"type": "boolean"}, "lagna": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_no": {"type": "integer"}, "lord": {"type": "string"}, "lord_house": {"type": "integer"}}, "required": ["sign", "sign_no", "lord", "lord_house"]}, "score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "houses": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "lord": {"type": "string"}, "lord_house": {"type": "integer"}, "lord_dignity": {"type": "string"}, "occupants": {"type": "array", "items": {"type": "string"}}, "balance": {"type": "number"}, "score": {"type": "number"}, "house": {"type": "integer"}, "weight": {"type": "number"}, "role": {"type": "string"}}, "required": ["sign", "lord", "lord_house", "lord_dignity", "occupants", "balance", "score", "house", "weight", "role"]}}, "placements": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "sign": {"type": "string"}, "sign_no": {"type": "integer"}, "house": {"type": "integer"}, "dignity": {"type": "string"}, "d1_sign": {"type": "string"}}, "required": ["planet", "sign", "sign_no", "house", "dignity", "d1_sign"]}}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "confirmation_cap": {"type": "integer"}}, "required": ["available", "lagna", "score", "band", "band_label", "houses", "placements", "evidence", "confirmation_cap"]},
                        "dasha_support": {"type": "object", "properties": {"available": {"type": "boolean"}, "mahadasha": {"type": "string"}, "antardasha": {"type": "string"}, "mahadasha_end": {"type": "string"}, "antardasha_end": {"type": "string"}, "supporting_lords": {"type": "array", "items": {"type": "string"}}}, "required": ["available", "mahadasha", "antardasha", "mahadasha_end", "antardasha_end", "supporting_lords"]},
                        "cities": {"type": "object", "properties": {"ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "practical_available": {"type": "boolean"}, "practical_note": {"type": "string"}, "components": {"type": "object", "properties": {"astro_location": {"type": "number"}, "relocation_chart": {"type": "number"}, "goal": {"type": "number"}, "timing": {"type": "number"}}, "required": ["astro_location", "relocation_chart", "goal", "timing"]}, "unavailable_components": {"type": "array", "items": {"type": "string"}}, "weights": {"type": "object", "properties": {"astro_location": {"type": "number"}, "relocation_chart": {"type": "number"}, "goal": {"type": "number"}, "timing": {"type": "number"}, "practical": {"type": "number"}}, "required": ["astro_location", "relocation_chart", "goal", "timing", "practical"]}, "angular": {"type": "object", "properties": {"score": {"type": "number"}, "hits": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}, "angle_role": {"type": "string"}, "orb": {"type": "number"}, "strength": {"type": "number"}, "weighted_strength": {"type": "number"}, "house": {"type": "integer"}, "themes": {"type": "array", "items": {"type": "string"}}, "caution": {"type": "null"}}, "required": ["planet", "angle", "angle_role", "orb", "strength", "weighted_strength", "house", "themes", "caution"]}}, "strongest": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}, "angle_role": {"type": "string"}, "orb": {"type": "number"}, "strength": {"type": "number"}, "weighted_strength": {"type": "number"}, "house": {"type": "integer"}, "themes": {"type": "array", "items": {"type": "string"}}, "caution": {"type": "null"}}, "required": ["planet", "angle", "angle_role", "orb", "strength", "weighted_strength", "house", "themes", "caution"]}}, "required": ["score", "hits", "strongest"]}, "acg": {"type": "object", "properties": {"score": {"type": "number"}, "hits": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}, "angle_role": {"type": "string"}, "distance_km": {"type": "number"}, "strength": {"type": "number"}, "closest_point": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}}, "required": ["latitude", "longitude"]}, "themes": {"type": "array", "items": {"type": "string"}}, "caution": {"type": "null"}, "goal_weight": {"type": "number"}, "weighted_strength": {"type": "number"}}, "required": ["planet", "angle", "angle_role", "distance_km", "strength", "closest_point", "themes", "caution", "goal_weight", "weighted_strength"]}}, "strongest": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}, "angle_role": {"type": "string"}, "distance_km": {"type": "number"}, "strength": {"type": "number"}, "closest_point": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}}, "required": ["latitude", "longitude"]}, "themes": {"type": "array", "items": {"type": "string"}}, "caution": {"type": "null"}, "goal_weight": {"type": "number"}, "weighted_strength": {"type": "number"}}, "required": ["planet", "angle", "angle_role", "distance_km", "strength", "closest_point", "themes", "caution", "goal_weight", "weighted_strength"]}}, "required": ["score", "hits", "strongest"]}, "varga": {"type": "object", "properties": {"available": {"type": "boolean"}, "varga": {"type": "string"}, "label": {"type": "string"}, "of": {"type": "string"}, "lagna": {"type": "string"}, "score": {"type": "number"}, "reason": {"type": "null"}}, "required": ["available", "varga", "label", "of", "lagna", "score", "reason"]}, "relocated_summary": {"type": "object", "properties": {"asc_sign": {"type": "string"}, "asc_lord": {"type": "string"}, "mc_sign": {"type": "string"}, "mc_lord": {"type": "string"}}, "required": ["asc_sign", "asc_lord", "mc_sign", "mc_lord"]}, "distance_km": {"type": "number"}, "cautions": {"type": "array"}, "classification": {"type": "string"}, "confidence": {"type": "object", "properties": {"score": {"type": "number"}, "level": {"type": "string"}, "level_key": {"type": "string"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "methods_missing": {"type": "array", "items": {"type": "string"}}, "method_count": {"type": "integer"}, "conflicting_indicators": {"type": "boolean"}, "birth_time_accuracy": {"type": "string"}, "birth_time_factor": {"type": "number"}, "evidence_count": {"type": "integer"}}, "required": ["score", "level", "level_key", "methods_resolved", "methods_missing", "method_count", "conflicting_indicators", "birth_time_accuracy", "birth_time_factor", "evidence_count"]}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "goal_scores": {"type": "object", "properties": {"career": {"type": "number"}, "business": {"type": "number"}, "wealth": {"type": "number"}, "marriage": {"type": "number"}, "romance": {"type": "number"}, "education": {"type": "number"}, "children": {"type": "number"}, "health": {"type": "number"}, "spiritual": {"type": "number"}, "peace": {"type": "number"}, "foreign": {"type": "number"}, "fame": {"type": "number"}}, "required": ["career", "business", "wealth", "marriage", "romance", "education", "children", "health", "spiritual", "peace", "foreign", "fame"]}, "best_for": {"type": "array", "items": {"type": "string"}}, "weakest_for": {"type": "array", "items": {"type": "string"}}, "rank": {"type": "integer"}, "position": {"type": "integer"}}, "required": ["city", "state", "country", "latitude", "longitude", "goal", "goal_label", "overall_score", "astrology_score", "practical_score", "practical_available", "practical_note", "components", "unavailable_components", "weights", "angular", "acg", "varga", "relocated_summary", "distance_km", "cautions", "classification", "confidence", "evidence", "goal_scores", "best_for", "weakest_for", "rank", "position"]}}, "also_strong": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "best_for": {"type": "array", "items": {"type": "string"}}, "weakest_for": {"type": "array", "items": {"type": "string"}}, "goal_scores": {"type": "object", "properties": {"career": {"type": "number"}, "business": {"type": "number"}, "wealth": {"type": "number"}, "marriage": {"type": "number"}, "romance": {"type": "number"}, "education": {"type": "number"}, "children": {"type": "number"}, "health": {"type": "number"}, "spiritual": {"type": "number"}, "peace": {"type": "number"}, "foreign": {"type": "number"}, "fame": {"type": "number"}}, "required": ["career", "business", "wealth", "marriage", "romance", "education", "children", "health", "spiritual", "peace", "foreign", "fame"]}, "cautions": {"type": "array"}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "best_for", "weakest_for", "goal_scores", "cautions", "confidence"]}}, "scored_count": {"type": "integer"}, "returned_count": {"type": "integer"}, "truncated_count": {"type": "integer"}, "crowded_out_count": {"type": "integer"}, "diversified": {"type": "boolean"}}, "required": ["ranked", "also_strong", "scored_count", "returned_count", "truncated_count", "crowded_out_count", "diversified"]},
                        "states": {"type": "object", "properties": {"available": {"type": "boolean"}, "country": {"type": "string"}, "reason": {"type": "null"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"state": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}, "city_count": {"type": "integer"}, "top_cities": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "score": {"type": "number"}}, "required": ["city", "score"]}}, "best_city": {"type": "string"}, "derived_from_single_city": {"type": "boolean"}, "rank": {"type": "integer"}}, "required": ["state", "country", "score", "city_count", "top_cities", "best_city", "derived_from_single_city", "rank"]}}, "state_count": {"type": "integer"}, "returned_count": {"type": "integer"}, "truncated_count": {"type": "integer"}, "unmapped_cities": {"type": "array"}, "coverage": {"type": "object", "properties": {"cities_total": {"type": "integer"}, "cities_with_state": {"type": "integer"}, "countries_complete": {"type": "array", "items": {"type": "string"}}, "countries_partial": {"type": "array"}, "state_ranking_countries": {"type": "array", "items": {"type": "string"}}}, "required": ["cities_total", "cities_with_state", "countries_complete", "countries_partial", "state_ranking_countries"]}, "method": {"type": "string"}}, "required": ["available", "country", "reason", "ranked", "state_count", "returned_count", "truncated_count", "unmapped_cities", "coverage", "method"]},
                        "countries": {"type": "object", "properties": {"ranked": {"type": "array", "items": {"type": "object", "properties": {"country": {"type": "string"}, "score": {"type": "number"}, "city_count": {"type": "integer"}, "top_cities": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "score": {"type": "number"}}, "required": ["city", "score"]}}, "best_city": {"type": "string"}, "derived_from_single_city": {"type": "boolean"}, "rank": {"type": "integer"}}, "required": ["country", "score", "city_count", "top_cities", "best_city", "derived_from_single_city", "rank"]}}, "single_city_countries": {"type": "array", "items": {"type": "object", "properties": {"country": {"type": "string"}, "score": {"type": "number"}, "city_count": {"type": "integer"}, "top_cities": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "score": {"type": "number"}}, "required": ["city", "score"]}}, "best_city": {"type": "string"}, "derived_from_single_city": {"type": "boolean"}}, "required": ["country", "score", "city_count", "top_cities", "best_city", "derived_from_single_city"]}}, "country_count": {"type": "integer"}, "returned_count": {"type": "integer"}, "truncated_count": {"type": "integer"}, "method": {"type": "string"}}, "required": ["ranked", "single_city_countries", "country_count", "returned_count", "truncated_count", "method"]},
                        "goals": {"type": "object", "properties": {"career": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array"}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "business": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array", "items": {"type": "string"}}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "wealth": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array", "items": {"type": "string"}}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "marriage": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array", "items": {"type": "string"}}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "romance": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array", "items": {"type": "string"}}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "education": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array"}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "children": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array", "items": {"type": "string"}}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "health": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array", "items": {"type": "string"}}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "spiritual": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "string"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array", "items": {"type": "string"}}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "peace": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "string"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array", "items": {"type": "string"}}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "foreign": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array", "items": {"type": "string"}}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}, "fame": {"type": "object", "properties": {"label": {"type": "string"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "null"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "cautions": {"type": "array"}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "cautions", "confidence"]}}, "best": {"type": "string"}, "caution_count": {"type": "integer"}}, "required": ["label", "ranked", "best", "caution_count"]}}, "required": ["career", "business", "wealth", "marriage", "romance", "education", "children", "health", "spiritual", "peace", "foreign", "fame"]},
                        "caution_locations": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "state": {"type": "string"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "overall_score": {"type": "number"}, "astrology_score": {"type": "number"}, "practical_score": {"type": "null"}, "classification": {"type": "string"}, "best_for": {"type": "array", "items": {"type": "string"}}, "weakest_for": {"type": "array", "items": {"type": "string"}}, "goal_scores": {"type": "object", "properties": {"career": {"type": "number"}, "business": {"type": "number"}, "wealth": {"type": "number"}, "marriage": {"type": "number"}, "romance": {"type": "number"}, "education": {"type": "number"}, "children": {"type": "number"}, "health": {"type": "number"}, "spiritual": {"type": "number"}, "peace": {"type": "number"}, "foreign": {"type": "number"}, "fame": {"type": "number"}}, "required": ["career", "business", "wealth", "marriage", "romance", "education", "children", "health", "spiritual", "peace", "foreign", "fame"]}, "cautions": {"type": "array"}, "confidence": {"type": "string"}}, "required": ["rank", "city", "state", "country", "latitude", "longitude", "distance_km", "overall_score", "astrology_score", "practical_score", "classification", "best_for", "weakest_for", "goal_scores", "cautions", "confidence"]}},
                        "timing": {"type": "object", "properties": {"available": {"type": "boolean"}, "current_year": {"type": "object", "properties": {"year": {"type": "integer"}, "score": {"type": "number"}, "band": {"type": "string"}, "components": {"type": "object", "properties": {"mahadasha": {"type": "number"}, "antardasha": {"type": "number"}, "jupiter_transit": {"type": "number"}, "saturn_transit": {"type": "number"}, "node_transit": {"type": "number"}}, "required": ["mahadasha", "antardasha", "jupiter_transit", "saturn_transit", "node_transit"]}, "unavailable_components": {"type": "array"}, "periods": {"type": "array", "items": {"type": "string"}}, "transits": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "sign": {"type": "string"}, "house": {"type": "integer"}, "activates_relocation_house": {"type": "boolean"}, "dignity": {"type": "string"}, "score": {"type": "number"}}, "required": ["planet", "sign", "house", "activates_relocation_house", "dignity", "score"]}}}, "required": ["year", "score", "band", "components", "unavailable_components", "periods", "transits"]}, "current_score": {"type": "number"}, "years": {"type": "array", "items": {"type": "object", "properties": {"year": {"type": "integer"}, "score": {"type": "number"}, "band": {"type": "string"}, "components": {"type": "object", "properties": {"mahadasha": {"type": "number"}, "antardasha": {"type": "number"}, "jupiter_transit": {"type": "number"}, "saturn_transit": {"type": "number"}, "node_transit": {"type": "number"}}, "required": ["mahadasha", "antardasha", "jupiter_transit", "saturn_transit", "node_transit"]}, "unavailable_components": {"type": "array"}, "periods": {"type": "array", "items": {"type": "string"}}, "transits": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "sign": {"type": "string"}, "house": {"type": "integer"}, "activates_relocation_house": {"type": "boolean"}, "dignity": {"type": "string"}, "score": {"type": "number"}}, "required": ["planet", "sign", "house", "activates_relocation_house", "dignity", "score"]}}}, "required": ["year", "score", "band", "components", "unavailable_components", "periods", "transits"]}}, "best_window": {"type": "object", "properties": {"start_year": {"type": "integer"}, "end_year": {"type": "integer"}, "label": {"type": "string"}, "score": {"type": "number"}, "years": {"type": "array", "items": {"type": "integer"}}, "below_threshold": {"type": "boolean"}}, "required": ["start_year", "end_year", "label", "score", "years", "below_threshold"]}, "second_window": {"type": "object", "properties": {"start_year": {"type": "integer"}, "end_year": {"type": "integer"}, "label": {"type": "string"}, "score": {"type": "number"}, "years": {"type": "array", "items": {"type": "integer"}}, "below_threshold": {"type": "boolean"}}, "required": ["start_year", "end_year", "label", "score", "years", "below_threshold"]}, "caution_periods": {"type": "array", "items": {"type": "object", "properties": {"year": {"type": "integer"}, "label": {"type": "string"}, "score": {"type": "number"}}, "required": ["year", "label", "score"]}}, "months": {"type": "array", "items": {"type": "object", "properties": {"year": {"type": "integer"}, "month": {"type": "integer"}, "label": {"type": "string"}, "score": {"type": "number"}, "band": {"type": "string"}}, "required": ["year", "month", "label", "score", "band"]}}, "weights": {"type": "object", "properties": {"mahadasha": {"type": "number"}, "antardasha": {"type": "number"}, "jupiter_transit": {"type": "number"}, "saturn_transit": {"type": "number"}, "node_transit": {"type": "number"}}, "required": ["mahadasha", "antardasha", "jupiter_transit", "saturn_transit", "node_transit"]}, "houses_watched": {"type": "array", "items": {"type": "integer"}}, "unavailable_components": {"type": "array"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["available", "current_year", "current_score", "years", "best_window", "second_window", "caution_periods", "months", "weights", "houses_watched", "unavailable_components", "evidence"]},
                        "confidence": {"type": "object", "properties": {"score": {"type": "number"}, "level": {"type": "string"}, "level_key": {"type": "string"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "methods_missing": {"type": "array"}, "method_count": {"type": "integer"}, "conflicting_indicators": {"type": "boolean"}, "birth_time_accuracy": {"type": "string"}, "birth_time_factor": {"type": "number"}, "evidence_count": {"type": "integer"}}, "required": ["score", "level", "level_key", "methods_resolved", "methods_missing", "method_count", "conflicting_indicators", "birth_time_accuracy", "birth_time_factor", "evidence_count"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}},
                        "meta": {"type": "object", "properties": {"cities_scored": {"type": "integer"}, "cities_in_catalog": {"type": "integer"}, "goals_scored": {"type": "array", "items": {"type": "string"}}, "state_coverage": {"type": "object", "properties": {"cities_total": {"type": "integer"}, "cities_with_state": {"type": "integer"}, "countries_complete": {"type": "array", "items": {"type": "string"}}, "countries_partial": {"type": "array"}, "state_ranking_countries": {"type": "array", "items": {"type": "string"}}}, "required": ["cities_total", "cities_with_state", "countries_complete", "countries_partial", "state_ranking_countries"]}, "practical_available": {"type": "boolean"}, "practical_note": {"type": "string"}, "diversified_headline": {"type": "boolean"}, "vargas_gated": {"type": "array", "items": {"type": "string"}}, "birth_time_accuracy": {"type": "string"}}, "required": ["cities_scored", "cities_in_catalog", "goals_scored", "state_coverage", "practical_available", "practical_note", "diversified_headline", "vargas_gated", "birth_time_accuracy"]}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "relocation_potential",
                        "stay_or_move",
                        "foreign_settlement",
                        "relocation_types",
                        "directions",
                        "house_analyses",
                        "d4",
                        "dasha_support",
                        "cities",
                        "states",
                        "countries",
                        "goals",
                        "caution_locations",
                        "timing",
                        "confidence",
                        "evidence",
                        "meta"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "relocation",
                        "title": "Relocation Report",
                        "ascendant": {"sign": "Capricorn"},
                        "relocation_potential": {"score": 74.2, "band": "strong", "band_label": "Strong relocation indication", "components": {"ninth_twelfth": 92.0, "third": 92.0, "fourth_disp": 38.0, "seventh": 64.0, "d4": 60.3, "nodes": 45.0, "dasha": 82.5}, "weights": {"ninth_twelfth": 0.3, "third": 0.2, "fourth_disp": 0.15, "seventh": 0.1, "d4": 0.1, "nodes": 0.05, "dasha": 0.05, "transit": 0.05}, "unavailable_components": ["transit"]},
                        "stay_or_move": {"verdict": "lean_stay", "label": "Staying is mildly favoured, but a move is workable", "relocation_pull": 74.2, "rootedness": 68.0, "difference": 6.2},
                        "foreign_settlement": {"score": 74.2, "band": "strong", "band_label": "Strong support", "components": {"twelfth": 86.0, "ninth": 98.0, "seventh": 64.0, "fourth": 38.0, "rahu": 45.0, "d4": 60.3}, "agreeing_indicators": 3, "capped_for_lack_of_corroboration": false, "rahu_house": 1},
                        "relocation_types": [{"type": "temporary", "label": "Temporary", "score": 92.0, "houses": [3]}],
                        "directions": {"available": true, "goal": null, "primary": {"direction": "North", "score": 78.7, "theme": "trade, learning and communication", "lords": ["Mercury"], "components": {"lord_condition": 100.0, "goal_house": null, "lagna_support": 45.0, "sign_hint": 50.0}}, "secondary": {"direction": "North-East", "score": 68.8, "theme": "learning, stability and inner growth", "lords": ["Jupiter"], "components": {"lord_condition": 83.5, "goal_house": null, "lagna_support": 45.0, "sign_hint": 50.0}}, "caution": {"direction": "South-East", "score": 39.9, "theme": "comfort, relationships and creative work", "lords": ["Venus"], "components": {"lord_condition": 34.0, "goal_house": null, "lagna_support": 45.0, "sign_hint": 56.0}}, "spread": 38.8, "lead_over_median": 19.8, "runner_up_gap": 9.9, "meaningful_difference": true, "all": [{"direction": "North", "score": 78.7, "theme": "trade, learning and communication", "lords": ["Mercury"], "components": {"lord_condition": 100.0, "goal_house": null, "lagna_support": 45.0, "sign_hint": 50.0}}], "weights": {"lord_condition": 0.45, "goal_house": 0.25, "lagna_support": 0.2, "sign_hint": 0.1}, "evidence": [{"factor": "direction_north", "impact": "positive", "strength": 78.7, "method": "d1", "detail": "North appears most supportive for trade, learning and communication."}]},
                        "house_analyses": [{"house": 1, "role": "the self and how you are received", "sign": "Capricorn", "lord": "Saturn", "lord_house": 12, "lord_dignity": "neutral", "occupants": ["Rahu"], "score": 32, "band": "challenged"}],
                        "d4": {"available": true, "lagna": {"sign": "Libra", "sign_no": 7, "lord": "Venus", "lord_house": 9}, "score": 60.3, "band": "supportive", "band_label": "D4 supports establishing a new base", "houses": [{"sign": "Capricorn", "lord": "Saturn", "lord_house": 12, "lord_dignity": "neutral", "occupants": ["Jupiter"], "balance": 100.0, "score": 46.0, "house": 4, "weight": 0.32, "role": "residence, land and domestic base"}], "placements": [{"planet": "Sun", "sign": "Libra", "sign_no": 7, "house": 1, "dignity": "debilitated", "d1_sign": "Libra"}], "evidence": [{"factor": "d4_house_9_strong", "impact": "positive", "strength": 98.0, "method": "d4", "detail": "In D4, the house of fortune away from the birthplace is well supported."}], "confirmation_cap": 20},
                        "dasha_support": {"available": true, "mahadasha": "Jupiter", "antardasha": "Mars", "mahadasha_end": "2029-05-30", "antardasha_end": "2027-01-04", "supporting_lords": ["Jupiter"]},
                        "cities": {"ranked": [{"city": "Medina", "state": null, "country": "Saudi Arabia", "latitude": 24.5247, "longitude": 39.5692, "goal": "overall", "goal_label": "Overall", "overall_score": 75.9, "astrology_score": 75.9, "practical_score": null, "practical_available": false, "practical_note": "Practical suitability data unavailable.", "components": {"astro_location": 95.0, "relocation_chart": 86.5, "goal": 94.9, "timing": 64.3}, "unavailable_components": ["practical"], "weights": {"astro_location": 0.45, "relocation_chart": 0.2, "goal": 0.15, "timing": 0.1, "practical": 0.1}, "angular": {"score": 95.0, "hits": [{"planet": "Mercury", "angle": "MC", "angle_role": "career, visibility and public standing", "orb": 0.81, "strength": 97.43, "weighted_strength": 97.43, "house": 9, "themes": ["technology"], "caution": null}], "strongest": {"planet": "Mercury", "angle": "MC", "angle_role": "career, visibility and public standing", "orb": 0.81, "strength": 97.43, "weighted_strength": 97.43, "house": 9, "themes": ["technology"], "caution": null}}, "acg": {"score": 94.9, "hits": [{"planet": "Sun", "angle": "MC", "angle_role": "career, visibility and public standing", "distance_km": 176.1, "strength": 90.45, "closest_point": {"latitude": 24.5347, "longitude": 41.3104}, "themes": ["visibility"], "caution": null, "goal_weight": 1.0, "weighted_strength": 90.45}], "strongest": {"planet": "Sun", "angle": "MC", "angle_role": "career, visibility and public standing", "distance_km": 176.1, "strength": 90.45, "closest_point": {"latitude": 24.5347, "longitude": 41.3104}, "themes": ["visibility"], "caution": null, "goal_weight": 1.0, "weighted_strength": 90.45}}, "varga": {"available": true, "varga": "D10", "label": "D10 Dashamsha", "of": "career and professional standing", "lagna": "Taurus", "score": 71.0, "reason": null}, "relocated_summary": {"asc_sign": "Sagittarius", "asc_lord": "Jupiter", "mc_sign": "Virgo", "mc_lord": "Mercury"}, "distance_km": 3755.6, "cautions": [], "classification": "highly_favourable", "confidence": {"score": 65.7, "level": "Moderate", "level_key": "moderate", "methods_resolved": ["relocation_chart"], "methods_missing": ["d1"], "method_count": 4, "conflicting_indicators": false, "birth_time_accuracy": "rounded", "birth_time_factor": 0.9, "evidence_count": 11}, "evidence": [{"factor": "acg_mercury_mc", "impact": "positive", "strength": 99.6, "method": "astrocartography", "detail": "A line of technology and communication runs directly through this place, bringing those qualities into career, visibility and public standing."}], "goal_scores": {"career": 89.7, "business": 86.1, "wealth": 82.7, "marriage": 77.3, "romance": 76.7, "education": 83.1, "children": 74.2, "health": 44.2, "spiritual": 76.6, "peace": 61.5, "foreign": 74.8, "fame": 83.9}, "best_for": ["Career"], "weakest_for": ["Peace of mind"], "rank": 1, "position": 1}], "also_strong": [{"rank": 2, "city": "Jeddah", "state": null, "country": "Saudi Arabia", "latitude": 21.4858, "longitude": 39.1925, "distance_km": 3894.0, "overall_score": 75.6, "astrology_score": 75.6, "practical_score": null, "classification": "highly_favourable", "best_for": ["Career"], "weakest_for": ["Peace of mind"], "goal_scores": {"career": 89.1, "business": 86.1, "wealth": 83.0, "marriage": 77.3, "romance": 76.7, "education": 81.1, "children": 74.2, "health": 44.2, "spiritual": 76.2, "peace": 61.5, "foreign": 74.8, "fame": 83.4}, "cautions": [], "confidence": "Moderate"}], "scored_count": 246, "returned_count": 5, "truncated_count": 204, "crowded_out_count": 4, "diversified": true},
                        "states": {"available": true, "country": "India", "reason": null, "ranked": [{"state": "Jammu & Kashmir", "country": "India", "score": 66.5, "city_count": 1, "top_cities": [{"city": "Srinagar", "score": 66.5}], "best_city": "Srinagar", "derived_from_single_city": true, "rank": 1}], "state_count": 25, "returned_count": 5, "truncated_count": 20, "unmapped_cities": [], "coverage": {"cities_total": 246, "cities_with_state": 85, "countries_complete": ["Australia"], "countries_partial": [], "state_ranking_countries": ["India"]}, "method": "weighted average of each state's top 3 cities"},
                        "countries": {"ranked": [{"country": "Saudi Arabia", "score": 75.7, "city_count": 4, "top_cities": [{"city": "Medina", "score": 75.9}], "best_city": "Medina", "derived_from_single_city": false, "rank": 1}], "single_city_countries": [{"country": "Ethiopia", "score": 75.4, "city_count": 1, "top_cities": [{"city": "Addis Ababa", "score": 75.4}], "best_city": "Addis Ababa", "derived_from_single_city": true}], "country_count": 31, "returned_count": 5, "truncated_count": 26, "method": "weighted average of each country's top 3 cities"},
                        "goals": {"career": {"label": "Career", "ranked": [{"rank": 1, "city": "Mecca", "state": null, "country": "Saudi Arabia", "latitude": 21.3891, "longitude": 39.8579, "distance_km": 3832.7, "overall_score": 89.7, "astrology_score": 89.7, "practical_score": null, "classification": "highly_favourable", "cautions": [], "confidence": "Moderate"}], "best": "Mecca", "caution_count": 37}, "business": {"label": "Business", "ranked": [{"rank": 1, "city": "Addis Ababa", "state": null, "country": "Ethiopia", "latitude": 9.032, "longitude": 38.7469, "distance_km": 4565.4, "overall_score": 87.6, "astrology_score": 87.6, "practical_score": null, "classification": "highly_favourable", "cautions": ["a heavier, more demanding personal environment"], "confidence": "Moderate"}], "best": "Addis Ababa", "caution_count": 37}, "wealth": {"label": "Wealth", "ranked": [{"rank": 1, "city": "Addis Ababa", "state": null, "country": "Ethiopia", "latitude": 9.032, "longitude": 38.7469, "distance_km": 4565.4, "overall_score": 83.1, "astrology_score": 83.1, "practical_score": null, "classification": "highly_favourable", "cautions": ["a heavier, more demanding personal environment"], "confidence": "Moderate"}], "best": "Addis Ababa", "caution_count": 37}, "marriage": {"label": "Marriage", "ranked": [{"rank": 1, "city": "Shanghai", "state": null, "country": "China", "latitude": 31.2304, "longitude": 121.4737, "distance_km": 4247.6, "overall_score": 85.8, "astrology_score": 85.8, "practical_score": null, "classification": "highly_favourable", "cautions": ["long hours and slow-building recognition"], "confidence": "Moderate"}], "best": "Shanghai", "caution_count": 37}, "romance": {"label": "Love", "ranked": [{"rank": 1, "city": "Shanghai", "state": null, "country": "China", "latitude": 31.2304, "longitude": 121.4737, "distance_km": 4247.6, "overall_score": 88.2, "astrology_score": 88.2, "practical_score": null, "classification": "highly_favourable", "cautions": ["long hours and slow-building recognition"], "confidence": "Moderate"}], "best": "Shanghai", "caution_count": 37}, "education": {"label": "Education", "ranked": [{"rank": 1, "city": "Medina", "state": null, "country": "Saudi Arabia", "latitude": 24.5247, "longitude": 39.5692, "distance_km": 3755.6, "overall_score": 83.1, "astrology_score": 83.1, "practical_score": null, "classification": "highly_favourable", "cautions": [], "confidence": "Moderate"}], "best": "Medina", "caution_count": 37}, "children": {"label": "Family", "ranked": [{"rank": 1, "city": "Addis Ababa", "state": null, "country": "Ethiopia", "latitude": 9.032, "longitude": 38.7469, "distance_km": 4565.4, "overall_score": 75.0, "astrology_score": 75.0, "practical_score": null, "classification": "highly_favourable", "cautions": ["a heavier, more demanding personal environment"], "confidence": "Moderate"}], "best": "Addis Ababa", "caution_count": 37}, "health": {"label": "Wellbeing", "ranked": [{"rank": 1, "city": "Buenos Aires", "state": null, "country": "Argentina", "latitude": -34.6037, "longitude": -58.3816, "distance_km": 15791.1, "overall_score": 52.8, "astrology_score": 52.8, "practical_score": null, "classification": "neutral", "cautions": ["a sober, isolating home life"], "confidence": "Low"}], "best": "Buenos Aires", "caution_count": 199}, "spiritual": {"label": "Spiritual growth", "ranked": [{"rank": 1, "city": "Sydney", "state": "New South Wales", "country": "Australia", "latitude": -33.8688, "longitude": 151.2093, "distance_km": 10428.2, "overall_score": 88.0, "astrology_score": 88.0, "practical_score": null, "classification": "highly_favourable", "cautions": ["fast but unsteady professional change"], "confidence": "Moderate"}], "best": "Sydney", "caution_count": 37}, "peace": {"label": "Peace of mind", "ranked": [{"rank": 1, "city": "Sydney", "state": "New South Wales", "country": "Australia", "latitude": -33.8688, "longitude": 151.2093, "distance_km": 10428.2, "overall_score": 72.5, "astrology_score": 72.5, "practical_score": null, "classification": "favourable", "cautions": ["fast but unsteady professional change"], "confidence": "Low"}], "best": "Sydney", "caution_count": 37}, "foreign": {"label": "Foreign settlement", "ranked": [{"rank": 1, "city": "Karachi", "state": null, "country": "Pakistan", "latitude": 24.8607, "longitude": 67.0011, "distance_km": 1095.7, "overall_score": 83.3, "astrology_score": 83.3, "practical_score": null, "classification": "highly_favourable", "cautions": ["distance in close relationships"], "confidence": "Moderate"}], "best": "Karachi", "caution_count": 37}, "fame": {"label": "Social recognition", "ranked": [{"rank": 1, "city": "Mecca", "state": null, "country": "Saudi Arabia", "latitude": 21.3891, "longitude": 39.8579, "distance_km": 3832.7, "overall_score": 84.2, "astrology_score": 84.2, "practical_score": null, "classification": "highly_favourable", "cautions": [], "confidence": "Low"}], "best": "Mecca", "caution_count": 37}},
                        "caution_locations": [{"rank": 210, "city": "Los Angeles", "state": "California", "country": "USA", "latitude": 34.0522, "longitude": -118.2437, "distance_km": 12859.8, "overall_score": 51.7, "astrology_score": 51.7, "practical_score": null, "classification": "caution", "best_for": ["Spiritual growth"], "weakest_for": ["Peace of mind"], "goal_scores": {"career": 53.1, "business": 54.4, "wealth": 52.5, "marriage": 55.6, "romance": 57.1, "education": 51.9, "children": 52.3, "health": 29.6, "spiritual": 63.0, "peace": 44.0, "foreign": 55.6, "fame": 51.2}, "cautions": [], "confidence": "Moderate"}],
                        "timing": {"available": true, "current_year": {"year": 2026, "score": 64.3, "band": "mixed", "components": {"mahadasha": 90.8, "antardasha": 68.6, "jupiter_transit": 40.0, "saturn_transit": 52.6, "node_transit": 40.0}, "unavailable_components": [], "periods": ["main period Jupiter"], "transits": [{"planet": "Jupiter", "sign": "Leo", "house": 8, "activates_relocation_house": false, "dignity": "neutral", "score": 40.0}]}, "current_score": 64.3, "years": [{"year": 2026, "score": 64.3, "band": "mixed", "components": {"mahadasha": 90.8, "antardasha": 68.6, "jupiter_transit": 40.0, "saturn_transit": 52.6, "node_transit": 40.0}, "unavailable_components": [], "periods": ["main period Jupiter"], "transits": [{"planet": "Jupiter", "sign": "Leo", "house": 8, "activates_relocation_house": false, "dignity": "neutral", "score": 40.0}]}], "best_window": {"start_year": 2029, "end_year": 2029, "label": "2029", "score": 68.5, "years": [2029], "below_threshold": false}, "second_window": {"start_year": 2033, "end_year": 2034, "label": "2033–2034", "score": 66.8, "years": [2033], "below_threshold": false}, "caution_periods": [{"year": 2030, "label": "2030", "score": 59.8}], "months": [{"year": 2029, "month": 1, "label": "Jan 2029", "score": 68.5, "band": "favourable"}], "weights": {"mahadasha": 0.3, "antardasha": 0.25, "jupiter_transit": 0.2, "saturn_transit": 0.15, "node_transit": 0.1}, "houses_watched": [4], "unavailable_components": [], "evidence": [{"factor": "timing_best_window", "impact": "positive", "strength": 68.5, "method": "dasha", "detail": "2029 looks like your strongest stretch for making a move."}]},
                        "confidence": {"score": 74.7, "level": "Moderate", "level_key": "moderate", "methods_resolved": ["d1"], "methods_missing": [], "method_count": 7, "conflicting_indicators": true, "birth_time_accuracy": "rounded", "birth_time_factor": 0.9, "evidence_count": 13},
                        "evidence": [{"factor": "d4_house_9_strong", "impact": "positive", "strength": 98.0, "method": "d4", "detail": "In D4, the house of fortune away from the birthplace is well supported."}],
                        "meta": {"cities_scored": 246, "cities_in_catalog": 246, "goals_scored": ["career"], "state_coverage": {"cities_total": 246, "cities_with_state": 85, "countries_complete": ["Australia"], "countries_partial": [], "state_ranking_countries": ["India"]}, "practical_available": false, "practical_note": "Practical suitability data unavailable.", "diversified_headline": true, "vargas_gated": ["D30"], "birth_time_accuracy": "rounded"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/report-spiritual": {
      "post": {
        "operationId": "report-spiritual",
        "summary": "Spiritual Report",
        "description": "In-depth spiritual reading: an overview score, scored sections with the chart evidence behind each, timing windows, remedies, a summary and a confidence statement.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "topic": {"type": "string"},
                        "title": {"type": "string"},
                        "ascendant": {"type": "object", "properties": {"sign": {"type": "string"}}, "required": ["sign"]},
                        "ruleset": {"type": "string"},
                        "disclaimer": {"type": "string"},
                        "overview": {"type": "object", "properties": {"score": {"type": "number"}, "band": {"type": "string"}, "band_label": {"type": "string"}, "band_note": {"type": "string"}, "unmeasured": {"type": "boolean"}, "worldly_engagement": {"type": "number"}, "scores": {"type": "object", "properties": {"inclination": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "inner_growth": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "meditation": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "introspection": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "devotion": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "knowledge": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "renunciation": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "pilgrimage": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}, "moksha": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "required": ["inclination", "inner_growth", "meditation", "introspection", "devotion", "knowledge", "renunciation", "pilgrimage", "moksha"]}, "strongest": {"type": "string"}, "weakest": {"type": "string"}, "orientation": {"type": "object", "properties": {"statement": {"type": "string"}}, "required": ["statement"]}, "motivation": {"type": "object", "properties": {"statement": {"type": "string"}}, "required": ["statement"]}, "with_age": {"type": "object", "properties": {"key": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "statement"]}, "mode": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}, "strengths": {"type": "object", "properties": {"top": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["top", "statement"]}, "challenges": {"type": "object", "properties": {"areas": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["areas", "statement"]}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["score", "band", "band_label", "band_note", "unmeasured", "worldly_engagement", "scores", "strongest", "weakest", "orientation", "motivation", "with_age", "mode", "strengths", "challenges", "evidence", "factor_count"]},
                        "paths": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "practices": {"type": "array", "items": {"type": "string"}}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "practices", "supports", "factor_count"]}}, "all_qualified": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "practices": {"type": "array", "items": {"type": "string"}}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "practices", "supports", "factor_count"]}}, "tied": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}}, "required": ["key", "label"]}}, "is_tie": {"type": "boolean"}, "primary": {"type": "string"}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "all_qualified", "tied", "is_tie", "primary", "statement", "evidence", "factor_count"]},
                        "intelligence": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "qualities": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "score", "band_label", "qualities", "statement", "evidence"]},
                        "dharma": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "route": {"type": "string"}, "route_label": {"type": "string"}, "structured": {"type": "boolean"}, "statement": {"type": "string"}, "teacher_note": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "score", "band_label", "route", "route_label", "structured", "statement", "teacher_note", "evidence"]},
                        "withdrawal": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "tendencies": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["emitted", "score", "band_label", "tendencies", "statement", "note", "evidence"]},
                        "moksha": {"type": "object", "properties": {"band": {"type": "string"}, "score": {"type": "number"}, "links": {"type": "array"}, "markers": {"type": "array", "items": {"type": "string"}}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["band", "score", "links", "markers", "supports", "factor_count", "statement", "note", "evidence"]},
                        "soul_path": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "statement", "evidence"]},
                        "karmic_themes": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "themes": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["emitted", "themes", "statement", "evidence"]},
                        "practices": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "string"}}, "by_path": {"type": "array", "items": {"type": "object", "properties": {"practice": {"type": "string"}, "path": {"type": "string"}}, "required": ["practice", "path"]}}, "daily": {"type": "array", "items": {"type": "string"}}, "weekly": {"type": "array", "items": {"type": "string"}}, "monthly": {"type": "array", "items": {"type": "string"}}, "statement": {"type": "string"}}, "required": ["emitted", "ranked", "by_path", "daily", "weekly", "monthly", "statement"]},
                        "pilgrimage": {"type": "object", "properties": {"indicated": {"type": "boolean"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "supports": {"type": "array"}, "factor_count": {"type": "integer"}, "forms": {"type": "array"}, "statement": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["indicated", "score", "band_label", "supports", "factor_count", "forms", "statement", "evidence"]},
                        "timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "windows": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "kind": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}, "phase": {"type": "string"}, "phase_label": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "confidence", "theme", "theme_text", "kind", "opportunity", "caution", "phase", "phase_label"]}}, "timeline": {"type": "array", "items": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "phase": {"type": "string"}, "phase_label": {"type": "string"}, "confidence": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "score", "theme", "phase", "phase_label", "confidence", "opportunity", "caution"]}}, "milestones": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}}, "required": ["start", "end", "age_from", "age_to"]}, "start": {"type": "string"}, "end": {"type": "string"}, "score": {"type": "number"}, "confidence": {"type": "string"}, "theme": {"type": "string"}}, "required": ["key", "label", "window", "start", "end", "score", "confidence", "theme"]}}, "phases": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "score": {"type": "number"}, "theme": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}}, "required": ["key", "label", "start", "end", "age_from", "age_to", "score", "theme", "opportunity", "caution"]}}, "peak": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "kind": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}, "phase": {"type": "string"}, "phase_label": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "confidence", "theme", "theme_text", "kind", "opportunity", "caution", "phase", "phase_label"]}, "secondary": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}, "maha_lord": {"type": "string"}, "antar_lord": {"type": "string"}, "score": {"type": "number"}, "independent_factors": {"type": "integer"}, "confidence": {"type": "string"}, "theme": {"type": "string"}, "theme_text": {"type": "string"}, "kind": {"type": "string"}, "opportunity": {"type": "string"}, "caution": {"type": "string"}, "phase": {"type": "string"}, "phase_label": {"type": "string"}}, "required": ["start", "end", "age_from", "age_to", "maha_lord", "antar_lord", "score", "independent_factors", "confidence", "theme", "theme_text", "kind", "opportunity", "caution", "phase", "phase_label"]}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "windows", "timeline", "milestones", "phases", "peak", "secondary", "statement", "note", "evidence", "factor_count"]},
                        "combined_timing": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "recommendations": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "window": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}, "age_from": {"type": "integer"}, "age_to": {"type": "integer"}}, "required": ["start", "end", "age_from", "age_to"]}, "statement": {"type": "string"}}, "required": ["key", "label", "window", "statement"]}}, "statement": {"type": "string"}}, "required": ["emitted", "recommendations", "statement"]},
                        "relocation": {"type": "object", "properties": {"verdict": {"type": "string"}, "label": {"type": "string"}, "scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "retreat": {"type": "number"}}, "required": ["stay", "domestic", "foreign", "retreat"]}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}}, "required": ["key", "label", "score", "band_label"]}}, "move_supports": {"type": "integer"}, "reasons": {"type": "array", "items": {"type": "string"}}, "questions": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "score": {"type": "number"}, "band_label": {"type": "string"}, "answer": {"type": "string"}}, "required": ["key", "question", "score", "band_label", "answer"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array"}, "factor_count": {"type": "integer"}}, "required": ["verdict", "label", "scores", "ranked", "move_supports", "reasons", "questions", "statement", "note", "evidence", "factor_count"]},
                        "cities": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "state": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}}, "required": ["city", "state", "country", "score", "distance_km", "confidence"]}}, "comparison": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "overall": {"type": "number"}, "distance_km": {"type": "number"}, "confidence": {"type": "string"}, "meditation": {"type": "number"}, "devotion": {"type": "number"}, "learning": {"type": "null"}, "retreat": {"type": "null"}, "long_term": {"type": "number"}, "inner_peace": {"type": "number"}, "pilgrimage": {"type": "null"}, "teacher": {"type": "null"}, "timing": {"type": "string"}}, "required": ["city", "country", "overall", "distance_km", "confidence", "meditation", "devotion", "learning", "retreat", "long_term", "inner_peace", "pilgrimage", "teacher", "timing"]}}, "by_goal": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "question": {"type": "string"}, "goal": {"type": "string"}, "goal_label": {"type": "string"}, "city": {"type": "string"}, "country": {"type": "string"}, "score": {"type": "number"}}, "required": ["key", "question", "goal", "goal_label", "city", "country", "score"]}}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}, "factor_count": {"type": "integer"}}, "required": ["emitted", "ranked", "comparison", "by_goal", "statement", "note", "evidence", "factor_count"]},
                        "balance": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "worldly_engagement": {"type": "number"}, "renunciation_supported": {"type": "boolean"}, "statement": {"type": "string"}, "note": {"type": "string"}, "evidence": {"type": "array"}}, "required": ["key", "label", "worldly_engagement", "renunciation_supported", "statement", "note", "evidence"]},
                        "family": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "routes": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "statement": {"type": "string"}}, "required": ["key", "label", "statement"]}}, "statement": {"type": "string"}}, "required": ["emitted", "routes", "statement"]},
                        "career": {"type": "object", "properties": {"emitted": {"type": "boolean"}, "ranked": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "score": {"type": "number"}, "supports": {"type": "array", "items": {"type": "string"}}, "factor_count": {"type": "integer"}}, "required": ["key", "label", "score", "supports", "factor_count"]}}, "statement": {"type": "string"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}}, "required": ["emitted", "ranked", "statement", "evidence"]},
                        "remedies": {"type": "object", "properties": {"entries": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "practice": {"type": "string"}, "why": {"type": "string"}}, "required": ["name", "practice", "why"]}}, "note": {"type": "string"}}, "required": ["entries", "note"]},
                        "summary": {"type": "object", "properties": {"spiritual_potential": {"type": "number"}, "outlook": {"type": "string"}, "inner_growth": {"type": "number"}, "meditation": {"type": "number"}, "devotion": {"type": "number"}, "knowledge": {"type": "number"}, "detachment": {"type": "number"}, "pilgrimage": {"type": "number"}, "moksha_band": {"type": "string"}, "relocation_score": {"type": "number"}, "relocation_scores": {"type": "object", "properties": {"stay": {"type": "number"}, "domestic": {"type": "number"}, "foreign": {"type": "number"}, "retreat": {"type": "number"}}, "required": ["stay", "domestic", "foreign", "retreat"]}, "primary_path": {"type": "string"}, "path_is_tie": {"type": "boolean"}, "best_practice": {"type": "string"}, "best_location": {"type": "string"}, "best_period": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "best_relocation_period": {"type": "string"}, "life_shape": {"type": "string"}, "main_strength": {"type": "string"}, "main_challenge": {"type": "string"}, "conclusion": {"type": "string"}}, "required": ["spiritual_potential", "outlook", "inner_growth", "meditation", "devotion", "knowledge", "detachment", "pilgrimage", "moksha_band", "relocation_score", "relocation_scores", "primary_path", "path_is_tie", "best_practice", "best_location", "best_period", "best_relocation_period", "life_shape", "main_strength", "main_challenge", "conclusion"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "method_count": {"type": "integer"}, "methods_resolved": {"type": "array", "items": {"type": "string"}}, "conflicting_indicators": {"type": "boolean"}}, "required": ["level", "note", "method_count", "methods_resolved", "conflicting_indicators"]},
                        "evidence": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "impact": {"type": "string"}, "strength": {"type": "number"}, "method": {"type": "string"}, "detail": {"type": "string"}}, "required": ["factor", "impact", "strength", "method", "detail"]}}
                      },
                      "required": [
                        "topic",
                        "title",
                        "ascendant",
                        "ruleset",
                        "disclaimer",
                        "overview",
                        "paths",
                        "intelligence",
                        "dharma",
                        "withdrawal",
                        "moksha",
                        "soul_path",
                        "karmic_themes",
                        "practices",
                        "pilgrimage",
                        "timing",
                        "combined_timing",
                        "relocation",
                        "cities",
                        "balance",
                        "family",
                        "career",
                        "remedies",
                        "summary",
                        "confidence",
                        "evidence"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "topic": "spiritual",
                        "title": "Spiritual Report",
                        "ascendant": {"sign": "Capricorn"},
                        "ruleset": "BPHS_PARASHARI",
                        "disclaimer": "This is an astrological reading about inner life and practice. No reading can promise liberation, enlightenment or any spiritual attainment, and nothing here is a claim about a past life, a future teacher or any ability beyond the ordinary. Where traditional themes are described they are offered as  [... 181 more characters]",
                        "overview": {"score": 42.6, "band": "quiet", "band_label": "A quiet inner thread alongside an outward life", "band_note": "Your chart carries a quiet inner thread running alongside an outward-facing life. It tends to surface at particular times rather than being constant, which is worth recognising rather than dismissing.", "unmeasured": false, "worldly_engagement": 42.0, "scores": {"inclination": {"key": "inclination", "label": "Spiritual inclination", "score": 46.2, "band_label": "Moderate"}, "inner_growth": {"key": "inner_growth", "label": "Inner growth", "score": 49.3, "band_label": "Moderate"}, "meditation": {"key": "meditation", "label": "Meditation", "score": 42.6, "band_label": "Moderate"}, "introspection": {"key": "introspection", "label": "Introspection", "score": 44.8, "band_label": "Moderate"}, "devotion": {"key": "devotion", "label": "Devotion", "score": 46.6, "band_label": "Moderate"}, "knowledge": {"key": "knowledge", "label": "Philosophical inclination", "score": 60.5, "band_label": "Good"}, "renunciation": {"key": "renunciation", "label": "Renunciation tendency", "score": 50.2, "band_label": "Moderate"}, "pilgrimage": {"key": "pilgrimage", "label": "Pilgrimage and spiritual travel", "score": 54.7, "band_label": "Moderate"}, "moksha": {"key": "moksha", "label": "Traditional moksha indicators", "score": 54.0, "band_label": "Moderate"}}, "strongest": "knowledge", "weakest": "meditation", "orientation": {"statement": "You are oriented practically rather than mystically. Inner life for you is likely to show up as ordinary decency and attention rather than as anything that announces itself, which is a perfectly complete version of it."}, "motivation": {"statement": "What tends to move you inward is difficulty rather than curiosity — periods where the ordinary answers stop working. That is a common pattern and not a flaw in it, though it does mean practice started in calm weather is worth more than it feels like at the time."}, "with_age": {"key": "later", "statement": "Your chart suggests inner life deepens considerably with age. The influences involved mature late by tradition, which in practice means the second half tends to be where this becomes real — and that a quiet decade now says very little about what follows."}, "mode": {"key": "solitude", "label": "Solitude", "statement": "Your inner life is likeliest to open when you are alone and unhurried. Group practice may be pleasant but is unlikely to be where the actual movement happens for you."}, "strengths": {"top": ["philosophical inclination"], "statement": "Your clearest strengths here are philosophical inclination. These are the directions where practice tends to return most, which is worth knowing before you commit years to one that does not suit you."}, "challenges": {"areas": ["introspection"], "statement": "The areas that will take more deliberate effort are introspection and meditation. These are not deficiencies. They are the parts that will need method rather than inclination, and method is learnable."}, "evidence": [{"factor": "dharma_supported", "impact": "positive", "strength": 60.0, "method": "d1", "detail": "The part of your chart governing philosophy, teachers and meaning carries supportive influences."}], "factor_count": 3},
                        "paths": {"emitted": true, "ranked": [{"key": "mantra", "label": "Mantra practice", "score": 81.5, "practices": ["Daily repetition of a chosen phrase"], "supports": ["dharma_ruler"], "factor_count": 6}], "all_qualified": [{"key": "mantra", "label": "Mantra practice", "score": 81.5, "practices": ["Daily repetition of a chosen phrase"], "supports": ["dharma_ruler"], "factor_count": 6}], "tied": [{"key": "mantra", "label": "Mantra practice"}], "is_tie": false, "primary": "Mantra practice", "statement": "The approach your chart supports most clearly is mantra practice, followed by knowledge and traditional learning. This describes temperament rather than level — none of these is a more advanced version of another, and practising against your own is how people conclude they are bad at this.", "evidence": [{"factor": "path_mantra", "impact": "positive", "strength": 70.1, "method": "d20", "detail": "Mantra practice is supported by 6 independent indications in your chart."}], "factor_count": 2},
                        "intelligence": {"emitted": true, "score": 46.1, "band_label": "Moderate", "qualities": [{"key": "learning_practices", "label": "Picking practices up quickly", "statement": "You are likely to learn a practice faster than most, which is a mixed blessing: the difficulty is continuing, not starting."}], "statement": "Your chart supports picking practices up quickly as ways in. These describe what you can readily take up rather than what you are obliged to.", "evidence": []},
                        "dharma": {"emitted": true, "score": 63.6, "band_label": "Good", "route": "practice", "route_label": "Your own practice", "structured": false, "statement": "Your chart supports working it out through doing rather than through instruction. Guidance is useful to you but unlikely to be where the movement happens.", "teacher_note": "On teachers specifically: your chart leans toward working things out yourself rather than through a person. That is not a warning against teachers — it means one would be useful to you as a reference rather than as an authority. No chart can identify a particular person, and any reading that claims  [... 15 more characters]", "evidence": []},
                        "withdrawal": {"emitted": true, "score": 54.8, "band_label": "Moderate", "tendencies": [{"key": "retreat", "label": "Extended quiet suits you", "statement": "Longer periods of quiet are likely to do more for you than frequent short ones. A weekend does more than seven mornings."}], "statement": "Your chart shows a genuine inclination toward quiet and inward attention.", "note": "Worth being precise about what this section is: an inclination toward solitude, retreat and reduced attachment. None of those is liberation, and traditional astrology does not treat them as the same thing however often they are run together. The traditional indicators associated with liberation are  [... 50 more characters]", "evidence": [{"factor": "withdrawal_tendencies", "impact": "neutral", "strength": 54.0, "method": "d1", "detail": "2 indications of inward attention and a preference for quiet."}]},
                        "moksha": {"band": "Weak", "score": 54.0, "links": [], "markers": ["saturn_disciplined"], "supports": ["saturn_disciplined"], "factor_count": 2, "statement": "Your chart contains a few traditional indicators associated with inner inquiry. They are present rather than prominent, which describes most charts and most people.", "note": "This describes traditional indicators in a chart. It is not a statement about an outcome — no reading can promise liberation, and traditional astrology does not claim to identify who reaches it. A chart with few of these indicators is not a chart with a lesser inner life, and one with many is not a  [... 29 more characters]", "evidence": [{"factor": "detachment_markers", "impact": "neutral", "strength": 54.0, "method": "d1", "detail": "1 traditional markers of detachment are present."}]},
                        "soul_path": {"emitted": false, "statement": "The classical soul-significator could not be resolved from your chart, so this section is left out rather than filled with something general. It needs a precise birth time to compute.", "evidence": []},
                        "karmic_themes": {"emitted": false, "themes": [], "statement": "No particular karmic theme stands out in your chart. That is an ordinary result — most charts do not carry a single dominant thread of this kind, and its absence says nothing about anyone's inner life.", "evidence": []},
                        "practices": {"emitted": true, "ranked": ["Daily repetition of a chosen phrase"], "by_path": [{"practice": "Daily repetition of a chosen phrase", "path": "Mantra practice"}], "daily": ["Daily repetition of a chosen phrase"], "weekly": ["Study within one tradition"], "monthly": ["A longer period of quiet — half a day if you can manage it"], "statement": "These follow from the approaches above rather than from a general list. Start with one, not four — the practice you actually continue is worth more than the one that suits you best on paper. None of this is a treatment for anything, and none of it needs to displace anything else in your life."},
                        "pilgrimage": {"indicated": false, "score": 44.0, "band_label": "Moderate", "supports": [], "factor_count": 0, "forms": [], "statement": "Pilgrimage is not particularly indicated in your chart. That is not an argument against going anywhere — it means your practice is likely to develop where you already are, which is cheaper and usually more durable.", "evidence": []},
                        "timing": {"emitted": true, "windows": [{"start": "2045-11-17", "end": "2048-05-30", "age_from": 55, "age_to": 57, "maha_lord": "Saturn", "antar_lord": "Jupiter", "score": 59.7, "independent_factors": 4, "confidence": "Good", "theme": "Meaning and guidance", "theme_text": "a period favouring study, teachers and the sense that things cohere", "kind": "learning", "opportunity": "The strongest stretch for finding a teacher or a tradition.", "caution": "Enthusiasm can outrun what you have actually practised.", "phase": "mature", "phase_label": "Mature practice"}], "timeline": [{"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36, "score": 48.0, "theme": "Effort", "phase": "deepening", "phase_label": "Deepening", "confidence": "Moderate", "opportunity": "Good for starting something that requires effort.", "caution": "Force is rarely what this area responds to."}], "milestones": [{"key": "awakening", "label": "Spiritual awakening", "window": {"start": "2027-01-04", "end": "2029-05-30", "age_from": 36, "age_to": 38}, "start": "2027-01-04", "end": "2029-05-30", "score": 48.0, "confidence": "Moderate", "theme": "Seeking"}], "phases": [{"key": "deepening", "label": "Deepening", "start": "2026-01-28", "end": "2032-06-02", "age_from": 35, "age_to": 36, "score": 48.0, "theme": "Effort", "opportunity": "Good for starting something that requires effort.", "caution": "Force is rarely what this area responds to."}], "peak": {"start": "2045-11-17", "end": "2048-05-30", "age_from": 55, "age_to": 57, "maha_lord": "Saturn", "antar_lord": "Jupiter", "score": 59.7, "independent_factors": 4, "confidence": "Good", "theme": "Meaning and guidance", "theme_text": "a period favouring study, teachers and the sense that things cohere", "kind": "learning", "opportunity": "The strongest stretch for finding a teacher or a tradition.", "caution": "Enthusiasm can outrun what you have actually practised.", "phase": "mature", "phase_label": "Mature practice"}, "secondary": {"start": "2060-06-13", "end": "2062-09-19", "age_from": 69, "age_to": 71, "maha_lord": "Mercury", "antar_lord": "Jupiter", "score": 57.7, "independent_factors": 3, "confidence": "Good", "theme": "Meaning and guidance", "theme_text": "a period favouring study, teachers and the sense that things cohere", "kind": "learning", "opportunity": "The strongest stretch for finding a teacher or a tradition.", "caution": "Enthusiasm can outrun what you have actually practised.", "phase": "mature", "phase_label": "Mature practice"}, "statement": "The stretch from 17/11/2045 to 30/05/2048 (age 55 to 57) looks the most supportive period for inner life. Its theme is meaning and guidance: a period favouring study, teachers and the sense that things cohere. Confidence in this window is good. A secondary period runs 13/06/2060 to 19/09/2062 (age 6 [... 152 more characters]", "note": "These are favourable periods, not events. A chart can suggest when conditions support turning inward; it cannot say what anyone will experience, and no period anywhere is a promise of any attainment. The rows show the actual periods your chart identifies rather than a year-by-year figure, because th [... 39 more characters]", "evidence": [{"factor": "spiritual_windows", "impact": "positive", "strength": 58.0, "method": "dasha", "detail": "Periods engaging the parts of your chart associated with inner life were identified."}], "factor_count": 1},
                        "combined_timing": {"emitted": true, "recommendations": [{"key": "begin", "label": "Best period to begin a practice", "window": {"start": "2026-01-28", "end": "2027-01-04", "age_from": 35, "age_to": 36}, "statement": "Taking something up suits 28/01/2026 to 04/01/2027 (age 35 to 36). Beginning in a supportive stretch matters less than continuing through an unsupportive one, but it does make the first months easier."}], "statement": "These combine the spiritual periods with the location reading. Direction and year are separate questions, and something right in principle can still be wrong this year."},
                        "relocation": {"verdict": "stay", "label": "Your practice is best built where you are", "scores": {"stay": 69.1, "domestic": 57.0, "foreign": 44.0, "retreat": 56.0}, "ranked": [{"key": "stay", "label": "Where you are now", "score": 69.1, "band_label": "Good"}], "move_supports": 1, "reasons": ["a home environment that has been more demanding than restful"], "questions": [{"key": "current", "question": "Can your practice grow where you are now?", "score": 69.1, "band_label": "Good", "answer": "How well your current situation supports an inner life. A high number here is worth more than it looks: continuity is most of what practice is made of, and the option that requires nothing is also the one you are most likely to keep."}], "statement": "Your chart does not show a spiritual advantage from moving. Where you already are looks at least as supportive, which is the more useful answer of the two — a practice that depends on being somewhere else is a fragile one.", "note": "Worth saying plainly: moving is the classic way of avoiding the part of practice that is actually difficult, which is doing it on an ordinary Tuesday in an ordinary room. A change of place can genuinely help, and it is also the most available form of postponement. If the answer here is to stay, that [... 44 more characters]", "evidence": [], "factor_count": 0},
                        "cities": {"emitted": true, "ranked": [{"city": "Sydney", "state": "New South Wales", "country": "Australia", "score": 88.0, "distance_km": 10428.2, "confidence": "Moderate"}], "comparison": [{"city": "Sydney", "country": "Australia", "overall": 88.0, "distance_km": 10428.2, "confidence": "Moderate", "meditation": 72.5, "devotion": 73.9, "learning": null, "retreat": null, "long_term": 88.0, "inner_peace": 72.5, "pilgrimage": null, "teacher": null, "timing": "Moderate"}], "by_goal": [{"key": "meditation", "question": "Best place for meditation", "goal": "peace", "goal_label": "Inner peace", "city": "Sydney", "country": "Australia", "score": 72.5}], "statement": "For inner life your chart favours Sydney, Sapporo and Karachi. Each was scored from your own birth chart for that specific place rather than chosen for its reputation, which is why the list may look nothing like the one you expected.", "note": "Every place here was scored against your own birth details. None was chosen for having a reputation — the famous places are famous for reasons that have nothing to do with your chart, and a list of them would tell you nothing you could not read anywhere. Expect this ranking to be unfamiliar; that is [... 17 more characters]", "evidence": [{"factor": "spiritual_cities_ranked", "impact": "neutral", "strength": 58.0, "method": "relocation", "detail": "Locations were scored against your own birth chart, not taken from any list of places with a spiritual reputation."}], "factor_count": 1},
                        "balance": {"key": "balanced", "label": "A balanced family and inner life", "worldly_engagement": 42.0, "renunciation_supported": false, "statement": "Your chart supports an inner life carried inside ordinary family and working life rather than apart from it. This is the commonest shape there is and it asks for no dramatic arrangements — practice on a Tuesday morning, not a departure.", "note": "Worth stating plainly, because the traditional literature often implies otherwise: inner development does not require leaving a career, a marriage, a family or any responsibility. The people who manage this well are overwhelmingly people who did none of those things. If a reading anywhere tells you  [... 70 more characters]", "evidence": []},
                        "family": {"emitted": true, "routes": [{"key": "solitude", "label": "Through solitude", "statement": "Your chart supports development through periods alone. Worth arranging deliberately rather than waiting for it to appear — it rarely does."}], "statement": "Your chart supports development through solitude. None of these requires stepping away from anything — they describe practice happening inside a life rather than instead of one."},
                        "career": {"emitted": true, "ranked": [{"key": "philosophy", "label": "Philosophy and writing", "score": 38.0, "supports": ["work_ruler_here"], "factor_count": 3}], "statement": "Where your working life and inner life meet, your chart supports philosophy and writing, teaching and traditional or symbolic disciplines. These are offered because the chart supports them specifically, not because they sound spiritual — and none is a suggestion to change what you do.", "evidence": [{"factor": "career_spiritual_link", "impact": "positive", "strength": 56.0, "method": "d1", "detail": "Several independent indications connect your working life with philosophy and writing and teaching."}]},
                        "remedies": {"entries": [{"name": "Practice associated with Saturn", "practice": "Traditional practice is service to those with less, on Saturdays in particular, and keeping a commitment that is inconvenient.", "why": "Saturn is the traditional significator for discipline and for what is earned slowly."}], "note": "These are traditional astrological practices, offered as practice and nothing more. None produces an attainment, a power or an experience, and anyone who tells you otherwise is selling something. They are also not treatments for anything — if you are unwell, that needs a doctor rather than a discipl [... 127 more characters]"},
                        "summary": {"spiritual_potential": 42.6, "outlook": "A quiet inner thread alongside an outward life", "inner_growth": 49.3, "meditation": 42.6, "devotion": 46.6, "knowledge": 60.5, "detachment": 50.2, "pilgrimage": 54.7, "moksha_band": "Weak", "relocation_score": 69.1, "relocation_scores": {"stay": 69.1, "domestic": 57.0, "foreign": 44.0, "retreat": 56.0}, "primary_path": "Mantra practice", "path_is_tie": false, "best_practice": "Daily repetition of a chosen phrase", "best_location": "Where you are now", "best_period": {"start": "2045-11-17", "end": "2048-05-30"}, "best_relocation_period": "Not clearly indicated", "life_shape": "A balanced family and inner life", "main_strength": "Philosophical inclination", "main_challenge": "Meditation", "conclusion": "Overall, your chart reads as: a quiet inner thread alongside an outward life. You are oriented practically rather than mystically. Inner life for you is likely to show up as ordinary decency and attention rather than as anything that announces itself, which is a perfectly complete version of it. The [... 2465 more characters]"},
                        "confidence": {"level": "High", "note": "Several independent methods agree, which is the most dependable kind of reading.", "method_count": 4, "methods_resolved": ["d1"], "conflicting_indicators": false},
                        "evidence": [{"factor": "path_mantra", "impact": "positive", "strength": 70.1, "method": "d20", "detail": "Mantra practice is supported by 6 independent indications in your chart."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/classical-kundli-report": {
      "post": {
        "operationId": "classical-kundli-report",
        "summary": "Classical Kundli Report Bundles",
        "description": "The extra chapters of a classical Kundli bundle: ascendant reading, gemstones, rudraksha, yogas, graha phala, dasha reading or a month-by-month annual reading, by bundle.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ClassicalInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "bundle": "large"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "bundle": {"type": "string"},
                        "nature": {"type": "string"},
                        "ascendant_reading": {"type": "object", "properties": {"ascendant": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_no": {"type": "integer"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "element": {"type": "string"}, "modality": {"type": "string"}, "lord": {"type": "string"}, "archetype": {"type": "string"}}, "required": ["sign", "sign_no", "degree", "nakshatra", "pada", "element", "modality", "lord", "archetype"]}, "lord": {"type": "object", "properties": {"planet": {"type": "string"}, "sign": {"type": "string"}, "house": {"type": "integer"}, "dignity": {"type": "string"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}, "strength_label": {"type": "string"}}, "required": ["planet", "sign", "house", "dignity", "retrograde", "combust", "strength_label"]}, "occupants": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "dignity": {"type": "string"}, "retrograde": {"type": "boolean"}, "nature": {"type": "string"}, "effect": {"type": "string"}}, "required": ["planet", "sign", "degree", "dignity", "retrograde", "nature", "effect"]}}, "aspects": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "from_house": {"type": "integer"}, "aspect": {"type": "string"}, "dignity": {"type": "string"}, "nature": {"type": "string"}}, "required": ["planet", "from_house", "aspect", "dignity", "nature"]}}, "reading": {"type": "array", "items": {"type": "string"}}, "physique": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "notes": {"type": "array", "items": {"type": "string"}}}, "required": ["nakshatra", "notes"]}, "strengths": {"type": "array", "items": {"type": "string"}}, "challenges": {"type": "array", "items": {"type": "string"}}}, "required": ["ascendant", "lord", "occupants", "aspects", "reading", "physique", "strengths", "challenges"]},
                        "gemstones": {"type": "object", "properties": {"ascendant": {"type": "string"}, "functional_nature": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "nature": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}, "why": {"type": "string"}}, "required": ["planet", "nature", "houses", "why"]}}, "stones": {"type": "array", "items": {"type": "object", "properties": {"role": {"type": "string"}, "planet": {"type": "string"}, "rules_house": {"type": "integer"}, "purpose": {"type": "string"}, "advised": {"type": "boolean"}, "verdict": {"type": "string"}, "placed_in_sign": {"type": "string"}, "placed_in_house": {"type": "integer"}, "dignity": {"type": "string"}, "retrograde": {"type": "boolean"}, "functional_nature": {"type": "string"}, "functional_why": {"type": "string"}, "rudraksha_mukhi": {"type": "integer"}, "gem": {"type": "string"}, "sanskrit": {"type": "string"}, "substitute": {"type": "string"}, "metal": {"type": "string"}, "finger": {"type": "string"}, "hand": {"type": "string"}, "weight": {"type": "string"}, "day": {"type": "string"}, "time": {"type": "string"}, "mantra": {"type": "string"}, "japa": {"type": "integer"}}, "required": ["role", "planet", "rules_house", "purpose", "advised", "verdict", "placed_in_sign", "placed_in_house", "dignity", "retrograde", "functional_nature", "functional_why", "rudraksha_mukhi", "gem", "sanskrit", "substitute", "metal", "finger", "hand", "weight", "day", "time", "mantra", "japa"]}}, "fortune_stone": {"type": "object", "properties": {"role": {"type": "string"}, "planet": {"type": "string"}, "rules_house": {"type": "integer"}, "purpose": {"type": "string"}, "advised": {"type": "boolean"}, "verdict": {"type": "string"}, "placed_in_sign": {"type": "string"}, "placed_in_house": {"type": "integer"}, "dignity": {"type": "string"}, "retrograde": {"type": "boolean"}, "functional_nature": {"type": "string"}, "functional_why": {"type": "string"}, "rudraksha_mukhi": {"type": "integer"}, "gem": {"type": "string"}, "sanskrit": {"type": "string"}, "substitute": {"type": "string"}, "metal": {"type": "string"}, "finger": {"type": "string"}, "hand": {"type": "string"}, "weight": {"type": "string"}, "day": {"type": "string"}, "time": {"type": "string"}, "mantra": {"type": "string"}, "japa": {"type": "integer"}, "reasoning": {"type": "array", "items": {"type": "string"}}, "charity": {"type": "string"}, "deity": {"type": "string"}}, "required": ["role", "planet", "rules_house", "purpose", "advised", "verdict", "placed_in_sign", "placed_in_house", "dignity", "retrograde", "functional_nature", "functional_why", "rudraksha_mukhi", "gem", "sanskrit", "substitute", "metal", "finger", "hand", "weight", "day", "time", "mantra", "japa", "reasoning", "charity", "deity"]}, "avoid": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "gem": {"type": "string"}, "sanskrit": {"type": "string"}, "reason": {"type": "string"}, "instead": {"type": "string"}}, "required": ["planet", "gem", "sanskrit", "reason", "instead"]}}, "favourable_points": {"type": "object", "properties": {"numbers": {"type": "array", "items": {"type": "integer"}}, "numbers_why": {"type": "string"}, "birth_number": {"type": "integer"}, "destiny_number": {"type": "integer"}, "days": {"type": "array", "items": {"type": "string"}}, "days_why": {"type": "string"}, "colours": {"type": "array", "items": {"type": "string"}}, "avoid_colours": {"type": "array", "items": {"type": "string"}}, "direction": {"type": "string"}, "direction_why": {"type": "string"}, "metal": {"type": "string"}, "deity": {"type": "string"}, "yogakaraka": {"type": "string"}, "yogakaraka_note": {"type": "string"}, "element": {"type": "string"}, "moon_sign": {"type": "string"}, "moon_nakshatra": {"type": "string"}, "charity": {"type": "string"}, "mantra": {"type": "string"}}, "required": ["numbers", "numbers_why", "birth_number", "destiny_number", "days", "days_why", "colours", "avoid_colours", "direction", "direction_why", "metal", "deity", "yogakaraka", "yogakaraka_note", "element", "moon_sign", "moon_nakshatra", "charity", "mantra"]}, "protocol": {"type": "array", "items": {"type": "string"}}}, "required": ["ascendant", "functional_nature", "stones", "fortune_stone", "avoid", "favourable_points", "protocol"]},
                        "rudraksha": {"type": "object", "properties": {"recommendations": {"type": "array", "items": {"type": "object", "properties": {"mukhi": {"type": "integer"}, "name": {"type": "string"}, "planet": {"type": "string"}, "deity": {"type": "string"}, "mantra": {"type": "string"}, "wearing_day": {"type": "string"}, "metal": {"type": "string"}, "color": {"type": "string"}, "rarity": {"type": "string"}, "benefits": {"type": "array", "items": {"type": "string"}}, "who_should_wear": {"type": "string"}, "caution": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["mukhi", "name", "planet", "deity", "mantra", "wearing_day", "metal", "color", "rarity", "benefits", "who_should_wear", "caution", "reasons"]}}, "total_recommended": {"type": "integer"}, "primary": {"type": "object", "properties": {"mukhi": {"type": "integer"}, "name": {"type": "string"}, "planet": {"type": "string"}, "deity": {"type": "string"}, "mantra": {"type": "string"}, "wearing_day": {"type": "string"}, "metal": {"type": "string"}, "color": {"type": "string"}, "rarity": {"type": "string"}, "benefits": {"type": "array", "items": {"type": "string"}}, "who_should_wear": {"type": "string"}, "caution": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["mukhi", "name", "planet", "deity", "mantra", "wearing_day", "metal", "color", "rarity", "benefits", "who_should_wear", "caution", "reasons"]}, "basis": {"type": "object", "properties": {"lagna_sign": {"type": "string"}, "moon_sign": {"type": "string"}, "sun_sign": {"type": "string"}, "dasha_lord": {"type": "string"}, "birth_date": {"type": "string"}, "weak_planets": {"type": "array", "items": {"type": "string"}}}, "required": ["lagna_sign", "moon_sign", "sun_sign", "dasha_lord", "birth_date", "weak_planets"]}}, "required": ["recommendations", "total_recommended", "primary", "basis"]},
                        "yogas": {"type": "object", "properties": {"detected": {"type": "integer"}, "principal": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "category": {"type": "string"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}, "strength": {"type": "string"}, "group": {"type": "string"}}, "required": ["name", "category", "detail", "description", "effects", "strength", "group"]}}, "supporting": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "category": {"type": "string"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}, "strength": {"type": "string"}, "group": {"type": "string"}}, "required": ["name", "category", "detail", "description", "effects", "strength", "group"]}}, "cautionary": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "category": {"type": "string"}, "detail": {"type": "string"}, "description": {"type": "string"}, "effects": {"type": "string"}, "strength": {"type": "string"}, "group": {"type": "string"}}, "required": ["name", "category", "detail", "description", "effects", "strength", "group"]}}, "omitted": {"type": "object", "properties": {"principal": {"type": "integer"}, "supporting": {"type": "integer"}, "cautionary": {"type": "integer"}}, "required": ["principal", "supporting", "cautionary"]}, "enumerated_count": {"type": "integer"}, "note": {"type": "string"}, "cautionary_note": {"type": "string"}}, "required": ["detected", "principal", "supporting", "cautionary", "omitted", "enumerated_count", "note", "cautionary_note"]},
                        "graha_phala": {"type": "object", "properties": {"ascendant": {"type": "string"}, "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "sign": {"type": "string"}, "house": {"type": "integer"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "dignity": {"type": "string"}, "retrograde": {"type": "boolean"}, "combust": {"type": "boolean"}, "rules": {"type": "array", "items": {"type": "integer"}}, "karaka": {"type": "string"}, "signifies": {"type": "string"}, "companions": {"type": "array", "items": {"type": "string"}}, "aspected_by": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "aspect": {"type": "string"}, "nature": {"type": "string"}}, "required": ["planet", "aspect", "nature"]}}, "strength": {"type": "integer"}, "strength_label": {"type": "string"}, "reading": {"type": "array", "items": {"type": "string"}}, "verdict": {"type": "string"}}, "required": ["planet", "sign", "house", "degree", "nakshatra", "pada", "dignity", "retrograde", "combust", "rules", "karaka", "signifies", "companions", "aspected_by", "strength", "strength_label", "reading", "verdict"]}}}, "required": ["ascendant", "planets"]}
                      },
                      "required": [
                        "bundle",
                        "nature",
                        "ascendant_reading",
                        "gemstones",
                        "rudraksha",
                        "yogas",
                        "graha_phala"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "bundle": "large",
                        "nature": "Classical textual reading: the yoga, graha phala, gemstone and rudraksha texts are quoted from the classical tradition for this chart. Statements about lifespan, illness or healing in them are not medical advice and not a prediction of lifespan or health.",
                        "ascendant_reading": {"ascendant": {"sign": "Capricorn", "sign_no": 10, "degree": 23.8936, "nakshatra": "Dhanishta", "pada": 1, "element": "Earth", "modality": "Movable", "lord": "Saturn", "archetype": "a climber who measures progress in decades"}, "lord": {"planet": "Saturn", "sign": "Sagittarius", "house": 12, "dignity": "neutral", "retrograde": false, "combust": false, "strength_label": "workable"}, "occupants": [{"planet": "Rahu", "sign": "Capricorn", "degree": 9.9383, "dignity": "neutral", "retrograde": true, "nature": "malefic", "effect": "adds ambition, an unconventional presence and an appetite for what is out of reach"}], "aspects": [{"planet": "Jupiter", "from_house": 7, "aspect": "7th aspect", "dignity": "exalted", "nature": "benefic"}, {"planet": "Ketu", "from_house": 7, "aspect": "7th aspect", "dignity": "neutral", "nature": "malefic"}], "reading": ["Capricorn was rising at your birth, which makes Saturn the ruler of your chart and sets the tone everything else is read against. An earth sign of the movable kind, it gives a temperament that is disciplined, realistic and prepared to wait — a climber who measures progress in decades.", "Your life moves in initiatives. You begin things readily, and the difficulty is finishing rather than starting.", "Saturn, your chart ruler, sits in the 12th house in Sagittarius. That places the centre of gravity of your life invested in what is out of sight: foreign places, seclusion, research, or the inner life. Ordinary visible achievement satisfies you less than it should."], "physique": {"nakshatra": "Dhanishta", "notes": ["The earth quality of Capricorn rising tends toward a solid, well-set build that holds condition and tires slowly.", "The ascendant rises in Dhanishta, which refines the general picture — the finer features of manner and appearance follow that nakshatra rather than the sign."]}, "strengths": ["The Capricorn signature itself is the asset here: the temperament is consistent, and consistency compounds over a life even where no single placement stands out."], "challenges": ["Rahu in the first house — adds ambition, an unconventional presence and an appetite for what is out of reach, which others read more sharply than you intend it."]},
                        "gemstones": {"ascendant": "Capricorn", "functional_nature": [{"planet": "Saturn", "nature": "benefic", "houses": [1, 2], "why": "rules the 1st, a trine — a functional benefic for you"}, {"planet": "Jupiter", "nature": "malefic", "houses": [3, 12], "why": "rules the 3rd — a functional malefic for you"}, {"planet": "Mars", "nature": "neutral", "houses": [4, 11], "why": "rules the 4th, an angle — neutralised for you, neither strongly helping nor harming"}], "stones": [{"role": "Life Stone", "planet": "Saturn", "rules_house": 1, "purpose": "strengthens the ruler of your ascendant — vitality, confidence and the self", "advised": true, "verdict": "Advised. Saturn is neither reinforced nor obstructed by its sign, so it takes its results from its surroundings — which is exactly the condition a gemstone is classically used to settle.", "placed_in_sign": "Sagittarius", "placed_in_house": 12, "dignity": "neutral", "retrograde": false, "functional_nature": "benefic", "functional_why": "rules the 1st, a trine — a functional benefic for you", "rudraksha_mukhi": 7, "gem": "Blue Sapphire", "sanskrit": "Neelam", "substitute": "Amethyst or Lapis Lazuli", "metal": "Silver or Iron", "finger": "Middle finger", "hand": "Right", "weight": "5–7 carats", "day": "Saturday", "time": "after sunset", "mantra": "Om Praam Preem Praum Sah Shanaye Namah", "japa": 23000}, {"role": "Lucky Stone", "planet": "Venus", "rules_house": 5, "purpose": "strengthens the ruler of your 5th — intelligence, creativity, children and the luck you make by acting", "advised": true, "verdict": "Advised, and this is the placement it helps most. Venus is debilitated in Virgo, so the house it rules operates below its capacity; the stone supplies what the sign denies it. Start with the substitute for six weeks before committing to the primary stone. Note also that Venus is the yogakaraka of your chart — the best-placed functional role any planet can hold here. Of the three stones, wear this one first.", "placed_in_sign": "Virgo", "placed_in_house": 9, "dignity": "debilitated", "retrograde": false, "functional_nature": "yogakaraka", "functional_why": "rules both a trine (the 5th) and an angle (the 10th) — the single most beneficial planet in a Capricorn chart", "rudraksha_mukhi": 6, "gem": "Diamond", "sanskrit": "Heera", "substitute": "White Sapphire or White Zircon", "metal": "Platinum, White Gold or Silver", "finger": "Middle finger", "hand": "Right", "weight": "0.5–1.5 carats", "day": "Friday", "time": "at sunrise", "mantra": "Om Draam Dreem Draum Sah Shukraya Namah", "japa": 16000}, {"role": "Fortune Stone", "planet": "Mercury", "rules_house": 9, "purpose": "strengthens the ruler of your 9th, the house of bhagya — fortune, teachers, belief and the support that arrives unasked", "advised": true, "verdict": "Advised, though less urgently. Mercury is already exalted in Virgo and functioning well; the stone sharpens an existing strength rather than repairing a weakness. A smaller stone is sufficient.", "placed_in_sign": "Virgo", "placed_in_house": 9, "dignity": "exalted", "retrograde": false, "functional_nature": "benefic", "functional_why": "rules the 9th, a trine — a functional benefic for you", "rudraksha_mukhi": 4, "gem": "Emerald", "sanskrit": "Panna", "substitute": "Green Onyx or Peridot", "metal": "Gold", "finger": "Little finger", "hand": "Right", "weight": "3–6 carats", "day": "Wednesday", "time": "at sunrise", "mantra": "Om Braam Breem Braum Sah Budhaya Namah", "japa": 9000}], "fortune_stone": {"role": "Fortune Stone", "planet": "Mercury", "rules_house": 9, "purpose": "strengthens the ruler of your 9th, the house of bhagya — fortune, teachers, belief and the support that arrives unasked", "advised": true, "verdict": "Advised, though less urgently. Mercury is already exalted in Virgo and functioning well; the stone sharpens an existing strength rather than repairing a weakness. A smaller stone is sufficient.", "placed_in_sign": "Virgo", "placed_in_house": 9, "dignity": "exalted", "retrograde": false, "functional_nature": "benefic", "functional_why": "rules the 9th, a trine — a functional benefic for you", "rudraksha_mukhi": 4, "gem": "Emerald", "sanskrit": "Panna", "substitute": "Green Onyx or Peridot", "metal": "Gold", "finger": "Little finger", "hand": "Right", "weight": "3–6 carats", "day": "Wednesday", "time": "at sunrise", "mantra": "Om Braam Breem Braum Sah Budhaya Namah", "japa": 9000, "reasoning": ["Your 9th house — bhagya, the classical house of fortune — is ruled by Mercury. Of all the remedial stones, the one tied to the 9th lord is the one traditionally worn for luck rather than for capability: it works on what comes to you, not on what you produce.", "In your chart Mercury sits in the 9th house in Virgo, which is where the fortune actually arrives from. Read that house's significations as the channel — that is the direction support tends to come from in your life.", "Mercury is exalted, so the 9th house is already well supported. The stone is worn to maintain rather than to repair, and a modest weight is enough."], "charity": "green gram, green cloth and books on Wednesday", "deity": "Vishnu (and Lord Ganesha)"}, "avoid": [{"planet": "Jupiter", "gem": "Yellow Sapphire", "sanskrit": "Pukhraj", "reason": "Jupiter rules the 3rd — a functional malefic for you. Wearing Yellow Sapphire would amplify it.", "instead": "chana dal, turmeric and yellow cloth on Thursday"}], "favourable_points": {"numbers": [5, 6, 8], "numbers_why": "Drawn from the ruler of your ascendant (Saturn) and of your 9th house of fortune (Mercury), together with the other functional benefics of your chart.", "birth_number": 9, "destiny_number": 2, "days": ["Wednesday", "Friday", "Saturday"], "days_why": "The weekdays ruled by those same planets — the natural days to begin things.", "colours": ["dark blue, black and charcoal", "green and turquoise"], "avoid_colours": ["yellow and gold"], "direction": "South", "direction_why": "The classical direction of Capricorn rising. Treat it as a tie-breaker, not a rule — where a relocation report has been computed for you, its ranked directions are based on far more of the chart and should win.", "metal": "Iron or Steel", "deity": "Vishnu (and Lord Ganesha)", "yogakaraka": "Venus", "yogakaraka_note": "Venus is the yogakaraka of a Capricorn ascendant — strengthening it helps more than any other single measure available to you.", "element": "Earth", "moon_sign": "Virgo", "moon_nakshatra": "Chitra", "charity": "green gram, green cloth and books on Wednesday", "mantra": "Om Braam Breem Braum Sah Budhaya Namah"}, "protocol": ["Buy natural and untreated. A heated or filled stone is a decorative object; classical practice holds that it carries no remedial effect at all, and most retail stones are treated.", "Have it certified by weight and origin before purchase, and keep the certificate.", "Energise before first wear: soak overnight in raw milk or Ganga jal, then recite the planet's mantra for the count given, on the planet's own weekday."]},
                        "rudraksha": {"recommendations": [{"mukhi": 1, "name": "Ek Mukhi (1 Face)", "planet": "Sun", "deity": "Lord Shiva (Supreme Consciousness)", "mantra": "Om Hreem Namah", "wearing_day": "Sunday", "metal": "Gold", "color": "Brown", "rarity": "Rare", "benefits": ["Enhances leadership qualities, confidence, and clarity of mind.", "Removes ego and connects the wearer to supreme consciousness.", "Bestows power, authority, and spiritual liberation (Moksha)."], "who_should_wear": "Suitable for people with weak Sun, Aries/Leo ascendant, or Leo Moon. Beneficial for those in leadership positions.", "caution": "Extremely powerful; consult a qualified astrologer before wearing. Traditionally worn as a pendant.", "reasons": ["Sun is weak or afflicted in the chart"]}, {"mukhi": 2, "name": "Do Mukhi (2 Face)", "planet": "Moon", "deity": "Ardhanarishwara (Shiva-Shakti Unity)", "mantra": "Om Namah", "wearing_day": "Monday", "metal": "Silver", "color": "Brown", "rarity": "Common", "benefits": ["Promotes unity, harmony, and emotional balance in relationships.", "Reduces anxiety, emotional instability, and mental restlessness.", "Strengthens relationships — marriage, family, business partnerships."], "who_should_wear": "Suitable for people with weak Moon, Cancer ascendant, or troubled emotional life.", "caution": "Best worn in pairs; represents duality and togetherness.", "reasons": ["Moon is weak or afflicted in the chart"]}, {"mukhi": 3, "name": "Teen Mukhi (3 Face)", "planet": "Mars", "deity": "Agni (Fire God) and Lord Brahma", "mantra": "Om Kleem Namah", "wearing_day": "Tuesday", "metal": "Gold or Copper", "color": "Brown", "rarity": "Common", "benefits": ["Liberates from the karmic cycle and past life burdens.", "Enhances energy, courage, ambition, and self-confidence.", "Alleviates depression, inferiority complex, and self-doubt."], "who_should_wear": "Suitable for Aries/Scorpio ascendant, weak Mars, or those suffering from Mars-related issues.", "caution": "Avoid if extremely aggressive; the bead further increases Mars energy.", "reasons": ["Numerological Moolank is 9 (planet: Mars)"]}], "total_recommended": 10, "primary": {"mukhi": 1, "name": "Ek Mukhi (1 Face)", "planet": "Sun", "deity": "Lord Shiva (Supreme Consciousness)", "mantra": "Om Hreem Namah", "wearing_day": "Sunday", "metal": "Gold", "color": "Brown", "rarity": "Rare", "benefits": ["Enhances leadership qualities, confidence, and clarity of mind.", "Removes ego and connects the wearer to supreme consciousness.", "Bestows power, authority, and spiritual liberation (Moksha)."], "who_should_wear": "Suitable for people with weak Sun, Aries/Leo ascendant, or Leo Moon. Beneficial for those in leadership positions.", "caution": "Extremely powerful; consult a qualified astrologer before wearing. Traditionally worn as a pendant.", "reasons": ["Sun is weak or afflicted in the chart"]}, "basis": {"lagna_sign": "Capricorn", "moon_sign": "Virgo", "sun_sign": "Libra", "dasha_lord": "Jupiter", "birth_date": "1990-10-18", "weak_planets": ["Sun", "Moon", "Mercury"]}},
                        "yogas": {"detected": 70, "principal": [{"name": "Hamsa Yoga", "category": "Panch Mahapurusha", "detail": "Jupiter in Cancer (house 7) — own/exalt, kendra.", "description": "Jupiter in own sign (Sagittarius/Pisces) or exaltation (Cancer) in a kendra house.", "effects": "Wise, virtuous, beautiful, lotus-like feet. Respected by royalty. Dharmic and prosperous. Lives 82 years.", "strength": "Strong", "group": "panch_maha"}, {"name": "Venus — Yoga Karaka", "category": "Yoga Karaka", "detail": "For Capricorn Lagna, Venus rules house(s) [10] (kendra) + [5] (trikona). Currently placed in Virgo (house 9).", "description": "A planet ruling both a kendra (4th/7th/10th) and a trikona (5th/9th) simultaneously becomes the supreme Yoga Karaka — the most beneficial planet for Capricorn Lagna.", "effects": "Most powerful Raj Yoga bestower. When Dasha of Yoga Karaka runs, tremendous rise in life, wealth, status, and fulfillment of desires.", "strength": "Strong", "group": "yoga_karakas"}, {"name": "Raj Yoga — Moon (7th lord) + Venus (5th lord)", "category": "Raj Yoga", "detail": "Moon (7th lord, in Virgo/H9) and Venus (5th lord, in Virgo/H9) are conjunct.", "description": "Lord of 7th house (kendra) associated with lord of 5th house (trikona) creates a classical Raj Yoga.", "effects": "Status, authority, wealth, recognition. Powerful during their joint Dasha periods.", "strength": "Strong", "group": "raj_yogas"}], "supporting": [{"name": "Karmajiva — Sun in 10th (Government/Authority)", "category": "Karmajiva Yoga", "detail": "Sun in H10 (Libra).", "description": "Sun occupies 10th house — career through government, administration, royalty, or authority.", "effects": "Government job, politics, administration, medicine (surgery), banking. Authority and leadership role.", "strength": "Strong", "group": "karmajiva_yogas"}, {"name": "Shubha-Karmajiva Yoga — 10th lord with benefic", "category": "Karmajiva Yoga", "detail": "10th lord Venus in H9 with ['Mercury'].", "description": "10th house lord conjunct a natural benefic — auspicious career yoga.", "effects": "Noble profession, respected career, financial gains through work. Dharmic livelihood.", "strength": "Strong", "group": "karmajiva_yogas"}, {"name": "Arishta-Bhanga Yoga (Benefic in Kendra from Moon)", "category": "Longevity Extended", "detail": "Benefics in kendra from Moon (sign 6): ['Merc', 'Venu'].", "description": "Natural benefic in kendra from Moon — primary Arishta cancellation.", "effects": "Danger or Balarishta greatly diminished. The benefic shields the Moon and the native. Life continues despite adverse indicators. Protective and life-sustaining.", "strength": "Strong", "group": "longevity_extended"}], "cautionary": [{"name": "Daridra Yoga — 1st/2nd lord in dusthana", "category": "Daridra Yoga", "detail": "L1 Saturn in H12 (dusthana), L2 Saturn in H12 (dusthana).", "description": "Lord of 1st or 2nd house placed in dusthana (6,8,12) — poverty indicating yoga.", "effects": "Financial struggles, debts, difficulty accumulating wealth. Must work hard for money.", "strength": "Challenging", "group": "daridra_yogas"}, {"name": "Lagna Lord in Dusthana", "category": "Arishta Yoga", "detail": "Lagna lord Saturn in H12 (dusthana).", "description": "Ascendant lord placed in 6th, 8th or 12th house — health and vitality challenges.", "effects": "Health issues, foreign travels or residence, spiritual seeking, hidden enemies.", "strength": "Challenging", "group": "arishta_yogas"}, {"name": "Graha Yuddha (Planetary War)", "category": "Arishta Yoga", "detail": "Planetary war pairs: ['Mercury vs Venus (1.00°)'].", "description": "Two planets within 1° of each other (excluding Sun/Moon) engage in war — loser is weakened.", "effects": "The losing planet (lower latitude or lower degree) gives reduced results in its period.", "strength": "Challenging", "group": "arishta_yogas"}], "omitted": {"principal": 0, "supporting": 2, "cautionary": 0}, "enumerated_count": 28, "note": "Over a thousand classical combinations were tested against this chart and 70 matched. That number is not a measure of fortune — most charts match several hundred, because the classical literature names a yoga for almost every planetary arrangement. What follows is the ones that carry weight, strongest first.", "cautionary_note": "Classical texts name adverse combinations as readily as favourable ones, and a chart almost always matches some of both — this one matches yogas for long life and for short life simultaneously. Read these as tendencies the rest of the chart either supports or cancels, never as verdicts on their own. Cancellation is the rule rather than the exception, and judging it is what an astrologer is for."},
                        "graha_phala": {"ascendant": "Capricorn", "planets": [{"planet": "Sun", "sign": "Libra", "house": 10, "degree": 0.995, "nakshatra": "Chitra", "pada": 3, "dignity": "debilitated", "retrograde": false, "combust": false, "rules": [8], "karaka": "the Atmakaraka, significator of the soul", "signifies": "the self, father, authority and vitality", "companions": [], "aspected_by": [], "strength": 30, "strength_label": "weak", "reading": ["Sun signifies the self, father, authority and vitality, and is the Atmakaraka, significator of the soul. In your chart it sits in Libra, in the 10th house.", "There it is in its weakest sign, and it acts diplomatically and comparatively. It works against the grain here. This does not cancel what it signifies — it means those results are built slowly and are often better in the second half of life than the first.", "The 10th house is where this planet spends itself, so what it governs reaches you through career, standing, superiors and public duty. That is the practical channel to watch."], "verdict": "Sun is weak (30/100). What it signifies is built rather than given here, and its periods are the ones to plan around rather than to expect gifts from."}, {"planet": "Moon", "sign": "Virgo", "house": 9, "degree": 27.8767, "nakshatra": "Chitra", "pada": 2, "dignity": "neutral", "retrograde": false, "combust": true, "rules": [7], "karaka": "the Manakaraka, significator of the mind", "signifies": "the mind, mother, emotion and the public", "companions": ["Mercury", "Venus"], "aspected_by": [{"planet": "Saturn", "aspect": "10th", "nature": "malefic"}, {"planet": "Rahu", "aspect": "9th", "nature": "malefic"}], "strength": 49, "strength_label": "under pressure", "reading": ["Moon signifies the mind, mother, emotion and the public, and is the Manakaraka, significator of the mind. In your chart it sits in Virgo, in the 9th house.", "There it is without special support or obstruction, and it acts precisely and critically. What it gives depends heavily on the company it keeps and on the periods it rules.", "The 9th house is where this planet spends itself, so what it governs reaches you through fortune, father, teachers, belief and long journeys. That is the practical channel to watch."], "verdict": "Moon is under pressure (49/100). What it signifies is built rather than given here, and its periods are the ones to plan around rather than to expect gifts from."}, {"planet": "Mars", "sign": "Taurus", "house": 5, "degree": 20.7878, "nakshatra": "Rohini", "pada": 4, "dignity": "neutral", "retrograde": false, "combust": false, "rules": [4, 11], "karaka": "the Bhratrikaraka, significator of brothers", "signifies": "courage, siblings, land, energy and conflict", "companions": [], "aspected_by": [{"planet": "Rahu", "aspect": "5th", "nature": "malefic"}], "strength": 61, "strength_label": "workable", "reading": ["Mars signifies courage, siblings, land, energy and conflict, and is the Bhratrikaraka, significator of brothers. In your chart it sits in Taurus, in the 5th house.", "There it is without special support or obstruction, and it acts steadily and possessively. What it gives depends heavily on the company it keeps and on the periods it rules.", "The 5th house is where this planet spends itself, so what it governs reaches you through children, intelligence, creativity and speculation. That is the practical channel to watch."], "verdict": "Mars is workable (61/100). It delivers when the periods it rules are running and is unremarkable otherwise."}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/matching-report": {
      "post": {
        "operationId": "matching-report",
        "summary": "Kundli Matching Report",
        "description": "Matching report: each side's nakshatra, ascendant and Mangal dosha, Ashtakoot and Dashakoot scores, Rajju and Vedha with readings, koota vetoes, personality notes and a verdict.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MatchingReportInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "groom": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                },
                "bride": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "groom": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "ascendant": {"type": "string"}, "mangal_dosha": {"type": "object", "properties": {"present": {"type": "boolean"}, "from_ascendant": {"type": "boolean"}, "from_moon": {"type": "boolean"}, "from_venus": {"type": "boolean"}, "mars_sign": {"type": "string"}}, "required": ["present", "from_ascendant", "from_moon", "from_venus", "mars_sign"]}}, "required": ["nakshatra", "pada", "moon_sign", "ascendant", "mangal_dosha"]},
                        "bride": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "moon_sign": {"type": "string"}, "ascendant": {"type": "string"}, "mangal_dosha": {"type": "object", "properties": {"present": {"type": "boolean"}, "from_ascendant": {"type": "boolean"}, "from_moon": {"type": "boolean"}, "from_venus": {"type": "boolean"}, "mars_sign": {"type": "string"}}, "required": ["present", "from_ascendant", "from_moon", "from_venus", "mars_sign"]}}, "required": ["nakshatra", "pada", "moon_sign", "ascendant", "mangal_dosha"]},
                        "score": {"type": "object", "properties": {"system": {"type": "string"}, "total": {"type": "number"}, "maximum": {"type": "integer"}, "percentage": {"type": "number"}, "verdict": {"type": "string"}, "kootas": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "score": {"type": "number"}, "maximum": {"type": "integer"}, "groom": {"type": "string"}, "bride": {"type": "string"}, "groom_to_bride": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}, "bride_to_groom": {"type": "object", "properties": {"tara": {"type": "string"}, "score": {"type": "integer"}}, "required": ["tara", "score"]}}, "required": ["id", "name", "score", "maximum", "groom", "bride"]}}, "doshas": {"type": "object", "properties": {"nadi": {"type": "boolean"}, "bhakoot": {"type": "boolean"}}, "required": ["nadi", "bhakoot"]}}, "required": ["system", "total", "maximum", "percentage", "verdict", "kootas", "doshas"]},
                        "combined": {"type": "object", "properties": {"total": {"type": "number"}, "maximum": {"type": "integer"}, "percentage": {"type": "number"}, "verdict": {"type": "string"}}, "required": ["total", "maximum", "percentage", "verdict"]},
                        "rajju": {"type": "object", "properties": {"groom": {"type": "object", "properties": {"cord": {"type": "string"}, "body_part": {"type": "string"}}, "required": ["cord", "body_part"]}, "bride": {"type": "object", "properties": {"cord": {"type": "string"}, "body_part": {"type": "string"}}, "required": ["cord", "body_part"]}, "same_cord": {"type": "boolean"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}, "explained": {"type": "string"}, "reading": {"type": "string"}}, "required": ["groom", "bride", "same_cord", "score", "maximum", "explained", "reading"]},
                        "vedha": {"type": "object", "properties": {"present": {"type": "boolean"}, "score": {"type": "integer"}, "maximum": {"type": "integer"}, "explained": {"type": "string"}, "reading": {"type": "string"}}, "required": ["present", "score", "maximum", "explained", "reading"]},
                        "vetoes": {"type": "array", "items": {"type": "object", "properties": {"koota": {"type": "string"}, "score": {"type": "integer"}, "max": {"type": "integer"}, "meaning": {"type": "string"}, "cancellation": {"type": "string"}}, "required": ["koota", "score", "max", "meaning", "cancellation"]}},
                        "mangal_dosha": {"type": "object", "properties": {"status": {"type": "string"}, "groom": {"type": "boolean"}, "bride": {"type": "boolean"}, "cancellations": {"type": "object", "properties": {"groom": {"type": "array"}, "bride": {"type": "array", "items": {"type": "object", "properties": {"condition": {"type": "string"}, "explanation": {"type": "string"}}, "required": ["condition", "explanation"]}}, "mutual": {"type": "array"}}, "required": ["groom", "bride", "mutual"]}, "reading": {"type": "string"}}, "required": ["status", "groom", "bride", "cancellations", "reading"]},
                        "personality": {"type": "object", "properties": {"notes": {"type": "array", "items": {"type": "string"}}}, "required": ["notes"]},
                        "verdict": {"type": "object", "properties": {"level": {"type": "string"}, "headline": {"type": "string"}, "body": {"type": "string"}, "blockers": {"type": "array", "items": {"type": "string"}}}, "required": ["level", "headline", "body", "blockers"]}
                      },
                      "required": [
                        "groom",
                        "bride",
                        "score",
                        "combined",
                        "rajju",
                        "vedha",
                        "vetoes",
                        "mangal_dosha",
                        "personality",
                        "verdict"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "groom": {"nakshatra": "Chitra", "pada": 2, "moon_sign": "Virgo", "ascendant": "Capricorn", "mangal_dosha": {"present": false, "from_ascendant": false, "from_moon": false, "from_venus": false, "mars_sign": "Taurus"}},
                        "bride": {"nakshatra": "Shravana", "pada": 3, "moon_sign": "Capricorn", "ascendant": "Capricorn", "mangal_dosha": {"present": true, "from_ascendant": true, "from_moon": true, "from_venus": true, "mars_sign": "Capricorn"}},
                        "score": {"system": "ashtakoot_rajju_vedha", "total": 19.0, "maximum": 36, "percentage": 52.8, "verdict": "Average", "kootas": [{"id": "varna", "name": "Varna", "score": 1, "maximum": 1, "groom": "Vaishya", "bride": "Vaishya"}, {"id": "vashya", "name": "Vashya", "score": 1, "maximum": 2, "groom": "Manava", "bride": "Chatushpada"}, {"id": "tara", "name": "Tara", "score": 3.0, "maximum": 3, "groom": "Param Mitra", "bride": "Sampat", "groom_to_bride": {"tara": "Param Mitra", "score": 3}, "bride_to_groom": {"tara": "Sampat", "score": 3}}], "doshas": {"nadi": false, "bhakoot": true}},
                        "combined": {"total": 24.0, "maximum": 41, "percentage": 58.5, "verdict": "Average"},
                        "rajju": {"groom": {"cord": "Siro", "body_part": "Head"}, "bride": {"cord": "Kantha", "body_part": "Neck"}, "same_cord": false, "score": 3, "maximum": 3, "explained": "Rajju groups the 27 nakshatras into five cords, each governing a part of the body and an area of married life. The classical rule is that the partners should NOT fall in the same cord.", "reading": "The two charts fall in different Rajjus (Siro (Head) and Kantha (Neck)), which is the favourable configuration. Each partner's strong area covers the other's weaker one."},
                        "vedha": {"present": false, "score": 2, "maximum": 2, "explained": "Vedha means obstruction. Fourteen nakshatra pairs are held to be mutually obstructing, and a match falling on one of those pairs is classically refused however well the rest of the chart scores.", "reading": "Chitra and Shravana do not form a Vedha pair, so this classical objection does not apply to the match."},
                        "vetoes": [{"koota": "Bhakoot", "score": 0, "max": 7, "meaning": "Bhakoot scores zero, which classically indicates an adverse Moon-sign axis between the two charts. It is traditionally read against prosperity and the longevity of the household rather than against compatibility of temperament.", "cancellation": "Classical practice also recognises specific cancellations for this — same Moon sign with different nakshatras, the same nakshatra lord on both sides, or the lords of the two Moon signs being mutual friends. Whether one applies here depends on placements this scoring does not weigh, and it is the single most common reason a match rejected on paper is approved in person."}],
                        "mangal_dosha": {"status": "one_sided", "groom": false, "bride": true, "cancellations": {"groom": [], "bride": [{"condition": "Moon-Mars Conjunction", "explanation": "Mars is in conjunction with Moon (1st house from Moon), which cancels the Kuja Dosha."}, {"condition": "Mars in Kendra from Moon", "explanation": "Mars in 1 house from Moon is in Kendra position, which cancels the Kuja Dosha."}], "mutual": []}, "reading": "Mangal dosha appears in the girl's chart (Mars counted from the Lagna, Moon and Venus) and not the other, which is the configuration the rule actually addresses. Whether it is cancelled depends on exact placements — Mars in its own or exaltation sign, the involvement of Saturn or Jupiter, or the age of the parties — and that is a judgement rather than a calculation. It is the single item on this report most worth putting to an astrologer."},
                        "personality": {"notes": ["Emotionally, the Moon signs are Virgo and Capricorn. Two earth signs — stable, practical and durable. The risk is inertia rather than conflict.", "In outward manner the ascendants are Capricorn and Capricorn. Two earth signs — stable, practical and durable. The risk is inertia rather than conflict."]},
                        "verdict": {"level": "needs_review", "headline": "There is more than the score to work through here", "body": "The Dashakoot total is 58.5% and the Ashtakoot total 52.8%, but Bhakoot at zero and Mangal dosha on one side only sit outside the point system. Classical practice treats those as capable of overriding an otherwise good total — and also recognises specific cancellations for them that depend on placements this scoring does not weigh. That judgement is what an astrologer is actually for, and it is the reason a match refused on paper is regularly approved in person.", "blockers": ["Bhakoot at zero", "Mangal dosha on one side only"]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/reports/longevity-analysis": {
      "post": {
        "operationId": "longevity-analysis",
        "summary": "Longevity & Arishta Analysis",
        "description": "Classical Balarishta, Arishta, maraka, badhaka and critical-transit factors with an explainable rule log; classical arithmetic, explicitly not a medical or death prediction.",
        "tags": [
          "reports"
        ],
        "x-credits": 10,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LongevityInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "nature": {"type": "string"},
                        "disclaimer": {"type": "string"},
                        "caution": {"type": "string"},
                        "ayanamsha": {"type": "string"},
                        "node": {"type": "string"},
                        "as_of": {"type": "string"},
                        "current_age": {"type": "integer"},
                        "convergence": {"type": "null"},
                        "lifespan_estimate": {"type": "object", "properties": {"method": {"type": "string"}, "cap_years": {"type": "number"}, "methods": {"type": "array", "items": {"type": "object", "properties": {"method": {"type": "string"}, "source": {"type": "string"}, "years": {"type": "number"}, "capped": {"type": "boolean"}, "used_years": {"type": "number"}}, "required": ["method", "source", "years", "capped", "used_years"]}}, "ensemble_years": {"type": "number"}, "category": {"type": "string"}, "category_span": {"type": "object", "properties": {"from_age": {"type": "integer"}, "to_age": {"type": "integer"}}, "required": ["from_age", "to_age"]}, "pam": {"type": "object", "properties": {"formula": {"type": "string"}, "lagna_lord": {"type": "string"}, "lagna_lord_degree_in_sign": {"type": "number"}, "eighth_lord": {"type": "string"}, "eighth_lord_degree_in_sign": {"type": "number"}, "mean_degree_in_sign": {"type": "number"}, "age": {"type": "number"}}, "required": ["formula", "lagna_lord", "lagna_lord_degree_in_sign", "eighth_lord", "eighth_lord_degree_in_sign", "mean_degree_in_sign", "age"]}}, "required": ["method", "cap_years", "methods", "ensemble_years", "category", "category_span", "pam"]},
                        "balarishta": {"type": "object", "properties": {"active": {"type": "boolean"}, "severity": {"type": "string"}, "age_relevance": {"type": "string"}, "applies_at_current_age": {"type": "boolean"}, "rules": {"type": "array", "items": {"type": "object", "properties": {"rule_id": {"type": "string"}, "title": {"type": "string"}, "source": {"type": "string"}, "description": {"type": "string"}, "severity": {"type": "string"}, "weight": {"type": "integer"}, "age_relevance": {"type": "object", "properties": {"from_age": {"type": "integer"}, "to_age": {"type": "integer"}}, "required": ["from_age", "to_age"]}, "active": {"type": "boolean"}, "in_age_window": {"type": "boolean"}, "conditions_met": {"type": "array", "items": {"type": "string"}}, "planets": {"type": "array", "items": {"type": "string"}}, "houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["rule_id", "title", "source", "description", "severity", "weight", "age_relevance", "active", "in_age_window", "conditions_met", "planets", "houses"]}}}, "required": ["active", "severity", "age_relevance", "applies_at_current_age", "rules"]},
                        "balarishta_cancellation": {"type": "object", "properties": {"gross_score": {"type": "integer"}, "cancellation_score": {"type": "integer"}, "net_score": {"type": "integer"}, "in_age_window_gross_score": {"type": "integer"}, "in_age_window_net_score": {"type": "integer"}, "strength": {"type": "string"}, "cancellations": {"type": "array", "items": {"type": "object", "properties": {"rule_id": {"type": "string"}, "title": {"type": "string"}, "source": {"type": "string"}, "strength": {"type": "string"}, "weight": {"type": "integer"}, "reason": {"type": "string"}}, "required": ["rule_id", "title", "source", "strength", "weight", "reason"]}}, "uncancelled_rule_ids": {"type": "array", "items": {"type": "string"}}}, "required": ["gross_score", "cancellation_score", "net_score", "in_age_window_gross_score", "in_age_window_net_score", "strength", "cancellations", "uncancelled_rule_ids"]},
                        "protective_factors": {"type": "array", "items": {"type": "object", "properties": {"factor": {"type": "string"}, "weight": {"type": "integer"}, "reason": {"type": "string"}}, "required": ["factor", "weight", "reason"]}},
                        "maraka": {"type": "object", "properties": {"second_lord": {"type": "string"}, "seventh_lord": {"type": "string"}, "primary": {"type": "array", "items": {"type": "string"}}, "secondary": {"type": "array", "items": {"type": "string"}}, "rows": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "role": {"type": "string"}, "reason": {"type": "string"}, "house": {"type": "integer"}}, "required": ["planet", "role", "reason", "house"]}}}, "required": ["second_lord", "seventh_lord", "primary", "secondary", "rows"]},
                        "badhaka": {"type": "object", "properties": {"lagna_type": {"type": "string"}, "house": {"type": "integer"}, "lord": {"type": "string"}, "occupants": {"type": "array"}, "reason": {"type": "string"}}, "required": ["lagna_type", "house", "lord", "occupants", "reason"]},
                        "chhidra_grahas": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "roles": {"type": "array", "items": {"type": "string"}}, "reasons": {"type": "array", "items": {"type": "string"}}, "house": {"type": "integer"}}, "required": ["planet", "roles", "reasons", "house"]}},
                        "sensitive_points": {"type": "object", "properties": {"transit_saturn": {"type": "object", "properties": {"date": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}}, "required": ["date", "longitude", "sign", "degree_in_sign"]}, "gulika": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}, "house": {"type": "integer"}, "dispositor": {"type": "string"}, "dispositor_house": {"type": "integer"}}, "required": ["longitude", "sign", "degree_in_sign", "house", "dispositor", "dispositor_house"]}, "maandi": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}, "house": {"type": "integer"}, "dispositor": {"type": "string"}, "dispositor_house": {"type": "integer"}}, "required": ["longitude", "sign", "degree_in_sign", "house", "dispositor", "dispositor_house"]}, "drekkana_22nd": {"type": "object", "properties": {"sign": {"type": "string"}, "lord": {"type": "string"}, "lord_house": {"type": "integer"}, "method": {"type": "string"}}, "required": ["sign", "lord", "lord_house", "method"]}, "navamsha_64th": {"type": "object", "properties": {"from_moon_sign": {"type": "string"}, "from_moon_lord": {"type": "string"}, "from_moon_lord_house": {"type": "integer"}, "from_ascendant_sign": {"type": "string"}, "from_ascendant_lord": {"type": "string"}, "from_ascendant_lord_house": {"type": "integer"}}, "required": ["from_moon_sign", "from_moon_lord", "from_moon_lord_house", "from_ascendant_sign", "from_ascendant_lord", "from_ascendant_lord_house"]}, "fear_of_death_point_a": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}, "saturn_transit_trine": {"type": "boolean"}}, "required": ["longitude", "sign", "degree_in_sign", "saturn_transit_trine"]}, "fear_of_death_point_b": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}, "lords": {"type": "object", "properties": {"sixth_lord": {"type": "string"}, "eighth_lord": {"type": "string"}, "twelfth_lord": {"type": "string"}}, "required": ["sixth_lord", "eighth_lord", "twelfth_lord"]}, "saturn_transit_trine": {"type": "boolean"}}, "required": ["longitude", "sign", "degree_in_sign", "lords", "saturn_transit_trine"]}, "saturn_critical_nakshatra": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "nakshatra_number": {"type": "integer"}, "sign": {"type": "string"}, "saturn_shodhya_pinda": {"type": "integer"}, "bindus_in_8th_from_saturn": {"type": "integer"}, "saturn_transit_trine": {"type": "boolean"}}, "required": ["nakshatra", "nakshatra_number", "sign", "saturn_shodhya_pinda", "bindus_in_8th_from_saturn", "saturn_transit_trine"]}}, "required": ["transit_saturn", "gulika", "maandi", "drekkana_22nd", "navamsha_64th", "fear_of_death_point_a", "fear_of_death_point_b", "saturn_critical_nakshatra"]},
                        "dasha_activation": {"type": "object", "properties": {"mahadasha": {"type": "string"}, "antardasha": {"type": "string"}, "mahadasha_roles": {"type": "array", "items": {"type": "string"}}, "antardasha_roles": {"type": "array", "items": {"type": "string"}}, "permission_roles": {"type": "array", "items": {"type": "string"}}, "activates_a_critical_lord": {"type": "boolean"}, "reason": {"type": "string"}}, "required": ["mahadasha", "antardasha", "mahadasha_roles", "antardasha_roles", "permission_roles", "activates_a_critical_lord", "reason"]},
                        "transit_windows_now": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "sign": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "string"}}, "from": {"type": "string"}, "to": {"type": "string"}, "from_age": {"type": "integer"}, "to_age": {"type": "integer"}, "severe": {"type": "boolean"}}, "required": ["planet", "sign", "reasons", "from", "to", "from_age", "to_age", "severe"]}},
                        "divisional_confirmation": {"type": "object", "properties": {"active": {"type": "boolean"}, "confirmations": {"type": "array"}}, "required": ["active", "confirmations"]}
                      },
                      "required": [
                        "nature",
                        "disclaimer",
                        "caution",
                        "ayanamsha",
                        "node",
                        "as_of",
                        "current_age",
                        "convergence",
                        "lifespan_estimate",
                        "balarishta",
                        "balarishta_cancellation",
                        "protective_factors",
                        "maraka",
                        "badhaka",
                        "chhidra_grahas",
                        "sensitive_points",
                        "dasha_activation",
                        "transit_windows_now",
                        "divisional_confirmation"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "nature": "Classical astrological arithmetic (Balarishta, Arishta-bhanga, maraka, badhaka, chhidra grahas, sensitive points, dasha and transit screening). It is not a medical, actuarial or factual prediction of death, illness or lifespan, and must not be used for any health, insurance or personal-safety decision.",
                        "disclaimer": "A convergence screening of classical longevity-sensitive factors. NOT a death prediction, date or certainty.",
                        "caution": "This is a convergence-based screening of classical longevity factors for study and remedial focus — never a deterministic death prediction.",
                        "ayanamsha": "lahiri",
                        "node": "true",
                        "as_of": "2026-10-14",
                        "current_age": 35,
                        "convergence": null,
                        "lifespan_estimate": {"method": "Mean of the chart's classical Ayurdaya methods and the Ashtakavarga ayus, each capped at the maximum; the mean's band gives the category.", "cap_years": 120.0, "methods": [{"method": "amsayu", "source": "ayurdaya", "years": 51.15, "capped": false, "used_years": 51.15}, {"method": "pindayu", "source": "ayurdaya", "years": 60.29, "capped": false, "used_years": 60.29}, {"method": "nisargayu", "source": "ayurdaya", "years": 45.47, "capped": false, "used_years": 45.47}], "ensemble_years": 62.9, "category": "madhyayu", "category_span": {"from_age": 33, "to_age": 64}, "pam": {"formula": "start + (end - start) * (1 - mean_degree_in_sign / 30)", "lagna_lord": "Saturn", "lagna_lord_degree_in_sign": 25.4922, "eighth_lord": "Sun", "eighth_lord_degree_in_sign": 0.995, "mean_degree_in_sign": 13.2436, "age": 50.31}},
                        "balarishta": {"active": true, "severity": "severe", "age_relevance": "0-12 years (infancy/childhood)", "applies_at_current_age": false, "rules": [{"rule_id": "BAL_MOON_DUSTHANA_MALEFIC", "title": "Moon in 6/8/12 with malefic association, no benefic aspect", "source": "BPHS Ch.7", "description": "Waning/afflicted Moon in a dusthana joined or aspected by a malefic and unhelped by any benefic gives strong balarishta.", "severity": "severe", "weight": 9, "age_relevance": {"from_age": 0, "to_age": 8}, "active": false, "in_age_window": false, "conditions_met": [], "planets": [], "houses": []}, {"rule_id": "BAL_MALEFICS_LAGNA_SEVENTH", "title": "Malefics in Lagna and 7th with weak Moon", "source": "BPHS Ch.7", "description": "Malefics occupying the ascendant and the 7th while the Moon is weak threaten early life.", "severity": "severe", "weight": 8, "age_relevance": {"from_age": 0, "to_age": 4}, "active": true, "in_age_window": false, "conditions_met": ["malefics in Lagna: Rahu", "malefics in 7th: Ketu", "Moon weak"], "planets": ["Ketu", "Rahu"], "houses": [1, 7]}, {"rule_id": "BAL_MALEFIC_OCCUPY_1_8_12", "title": "Malefics occupying 1st / 8th / 12th", "source": "BPHS Ch.7", "description": "Malefics tenanting the ascendant, the 8th (Ayu) or the 12th houses are a recognised arishta.", "severity": "moderate", "weight": 6, "age_relevance": {"from_age": 0, "to_age": 8}, "active": true, "in_age_window": false, "conditions_met": ["malefic(s) in H1", "malefic(s) in H12"], "planets": ["Rahu", "Saturn"], "houses": [1, 12]}]},
                        "balarishta_cancellation": {"gross_score": 25, "cancellation_score": 18, "net_score": 7, "in_age_window_gross_score": 0, "in_age_window_net_score": 0, "strength": "partial_cancellation", "cancellations": [{"rule_id": "BHANGA_JUPITER_KENDRA", "title": "Jupiter in a Kendra / Lagna", "source": "BPHS Arishta Bhanga", "strength": "strong", "weight": 8, "reason": "Jupiter in kendra H7."}, {"rule_id": "BHANGA_BENEFIC_ON_LAGNA", "title": "Benefic on / aspecting the Lagna", "source": "BPHS Arishta Bhanga", "strength": "general", "weight": 5, "reason": "Benefic on/aspecting Lagna: Jupiter"}, {"rule_id": "BHANGA_BENEFIC_ON_MOON", "title": "Benefic on / aspecting the Moon", "source": "BPHS Arishta Bhanga", "strength": "general", "weight": 5, "reason": "Benefic on/aspecting Moon: Mercury, Venus"}], "uncancelled_rule_ids": ["BAL_MALEFICS_LAGNA_SEVENTH", "BAL_MALEFIC_OCCUPY_1_8_12", "BAL_LAGNA_LORD_WEAK"]},
                        "protective_factors": [{"factor": "jupiter_kendra_trikona", "weight": 5, "reason": "Jupiter in a kendra/trikona (H7)."}],
                        "maraka": {"second_lord": "Saturn", "seventh_lord": "Moon", "primary": ["Moon", "Saturn"], "secondary": ["Jupiter", "Ketu"], "rows": [{"planet": "Moon", "role": "primary maraka (2nd/7th lord)", "reason": "Moon is lord of the 7th (maraka).", "house": 9}, {"planet": "Saturn", "role": "primary maraka (2nd/7th lord)", "reason": "Saturn is lord of the 2nd (maraka).", "house": 12}, {"planet": "Jupiter", "role": "secondary maraka (occupies 2nd/7th)", "reason": "Jupiter occupies a maraka house.", "house": 7}]},
                        "badhaka": {"lagna_type": "movable", "house": 11, "lord": "Mars", "occupants": [], "reason": "For a movable ascendant the Badhaka house is the 11th; its lord Mars is the Badhakesha."},
                        "chhidra_grahas": [{"planet": "Mars", "roles": ["drekkana_22_lord", "navamsha_64_lord", "badhakesha"], "reasons": ["lord of the 22nd Drekkana", "lord of the 64th Navamsha", "the Badhakesha"], "house": 5}, {"planet": "Sun", "roles": ["eighth_lord"], "reasons": ["lord of the 8th house (Ayu/Randhra)"], "house": 10}, {"planet": "Jupiter", "roles": ["navamsha_64_lord"], "reasons": ["lord of the 64th Navamsha"], "house": 7}],
                        "sensitive_points": {"transit_saturn": {"date": "2026-10-14", "longitude": 346.2922, "sign": "Pisces", "degree_in_sign": 16.2922}, "gulika": {"longitude": 216.7111, "sign": "Scorpio", "degree_in_sign": 6.7111, "house": 11, "dispositor": "Mars", "dispositor_house": 5}, "maandi": {"longitude": 228.9788, "sign": "Scorpio", "degree_in_sign": 18.9788, "house": 11, "dispositor": "Mars", "dispositor_house": 5}, "drekkana_22nd": {"sign": "Aries", "lord": "Mars", "lord_house": 5, "method": "8th drekkana (+7 signs from natal D3 of Lagna)"}, "navamsha_64th": {"from_moon_sign": "Sagittarius", "from_moon_lord": "Jupiter", "from_moon_lord_house": 7, "from_ascendant_sign": "Scorpio", "from_ascendant_lord": "Mars", "from_ascendant_lord_house": 5}, "fear_of_death_point_a": {"longitude": 150.995, "sign": "Virgo", "degree_in_sign": 0.995, "saturn_transit_trine": false}, "fear_of_death_point_b": {"longitude": 106.3844, "sign": "Cancer", "degree_in_sign": 16.3844, "lords": {"sixth_lord": "Mercury", "eighth_lord": "Sun", "twelfth_lord": "Jupiter"}, "saturn_transit_trine": true}, "saturn_critical_nakshatra": {"nakshatra": "Ardra", "nakshatra_number": 6, "sign": "Gemini", "saturn_shodhya_pinda": 174, "bindus_in_8th_from_saturn": 5, "saturn_transit_trine": false}},
                        "dasha_activation": {"mahadasha": "Jupiter", "antardasha": "Mars", "mahadasha_roles": ["secondary maraka", "chhidra graha", "64th navamsha lord"], "antardasha_roles": ["badhakesha", "chhidra graha", "22nd drekkana lord"], "permission_roles": ["primary maraka", "8th lord"], "activates_a_critical_lord": false, "reason": "Active Jupiter MD / Mars AD holds 22nd drekkana lord, 64th navamsha lord, badhakesha, chhidra graha, secondary maraka; none is a primary maraka (2nd/7th lord) or the 8th lord, so no dasha permission."},
                        "transit_windows_now": [{"planet": "Ketu", "sign": "Leo", "reasons": ["8th house (Ayu / Randhra)", "Weak Ashtakavarga (SAV 25)"], "from": "2025-05-29", "to": "2026-11-25", "from_age": 34, "to_age": 36, "severe": true}],
                        "divisional_confirmation": {"active": false, "confirmations": []}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["The overall convergence verdict (risk level and classification) is withheld: the level is not calibrated against any base rate, so it is not a risk statement. The factors it combines are given below."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/acg-lines": {
      "post": {
        "operationId": "acg-lines",
        "summary": "Astrocartography Lines",
        "description": "All planetary ASC/MC/DC/IC lines for a birth moment as map line segments, plus aspect lines, zenith points, parans and midheaven sign bands.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LinesInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "coordinates": {"type": "string"},
                        "node": {"type": "string"},
                        "ayanamsha": {"type": "string"},
                        "greenwich_sidereal_time_hours": {"type": "number"},
                        "lines": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}, "theme": {"type": "string"}, "segments": {"type": "array", "items": {"type": "array", "items": {"type": "array", "items": {"type": "number"}}}}}, "required": ["planet", "angle", "theme", "segments"]}},
                        "aspect_lines": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "aspect": {"type": "string"}, "mc_offset_degrees": {"type": "integer"}, "nature": {"type": "string"}, "segments": {"type": "array", "items": {"type": "array", "items": {"type": "array", "items": {"type": "number"}}}}}, "required": ["planet", "aspect", "mc_offset_degrees", "nature", "segments"]}},
                        "midheaven_signs": {"type": "object", "properties": {"note": {"type": "string"}, "ayanamsha_degrees": {"type": "number"}, "bands": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "from_longitude": {"type": "number"}, "to_longitude": {"type": "number"}}, "required": ["sign", "from_longitude", "to_longitude"]}}}, "required": ["note", "ayanamsha_degrees", "bands"]},
                        "zenith_points": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "kind": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}}, "required": ["planet", "kind", "latitude", "longitude"]}},
                        "parans": {"type": "array", "items": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "a": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}}, "required": ["planet", "angle"]}, "b": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}}, "required": ["planet", "angle"]}}, "required": ["latitude", "longitude", "a", "b"]}}
                      },
                      "required": [
                        "coordinates",
                        "node",
                        "ayanamsha",
                        "greenwich_sidereal_time_hours",
                        "lines",
                        "aspect_lines",
                        "midheaven_signs",
                        "zenith_points",
                        "parans"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "coordinates": "Points are [longitude, latitude] in signed decimal degrees (east and north positive), GeoJSON order.",
                        "node": "true",
                        "ayanamsha": "lahiri",
                        "greenwich_sidereal_time_hours": 10.772952,
                        "lines": [{"planet": "Sun", "angle": "MC", "theme": "Career, recognition, public visibility, leadership.", "segments": [[[41.3104, -85.0], [41.3104, -84.0], [41.3104, -83.0]]]}, {"planet": "Sun", "angle": "IC", "theme": "Home, family roots, foundation, private inner life.", "segments": [[[-138.6896, -85.0], [-138.6896, -84.0], [-138.6896, -83.0]]]}, {"planet": "Sun", "angle": "ASC", "theme": "Vitality, self-expression, charisma, identity.", "segments": [[[-121.8482, -80.0], [-108.9418, -79.0], [-101.2481, -78.0]]]}],
                        "aspect_lines": [{"planet": "Sun", "aspect": "sextile", "mc_offset_degrees": 60, "nature": "harmonious", "segments": [[[102.6617, -85.0], [102.6617, -84.0], [102.6617, -83.0]]]}, {"planet": "Sun", "aspect": "sextile", "mc_offset_degrees": -60, "nature": "harmonious", "segments": [[[-14.5757, -85.0], [-14.5757, -84.0], [-14.5757, -83.0]]]}, {"planet": "Sun", "aspect": "trine", "mc_offset_degrees": 120, "nature": "harmonious", "segments": [[[165.4243, -85.0], [165.4243, -84.0], [165.4243, -83.0]]]}],
                        "midheaven_signs": {"note": "The sidereal sign on the Midheaven along each band of longitude, running east from from_longitude to to_longitude (a band can cross 180). It depends on longitude only.", "ayanamsha_degrees": 23.728511, "bands": [{"sign": "Aries", "from_longitude": -139.6309, "to_longitude": -110.2479}, {"sign": "Taurus", "from_longitude": -110.2479, "to_longitude": -78.4248}, {"sign": "Gemini", "from_longitude": -78.4248, "to_longitude": -45.9949}]},
                        "zenith_points": [{"planet": "Sun", "kind": "zenith", "latitude": -9.5792, "longitude": 41.3104}, {"planet": "Sun", "kind": "nadir", "latitude": 9.5792, "longitude": -138.6896}, {"planet": "Moon", "kind": "zenith", "latitude": -12.951, "longitude": 36.5048}],
                        "parans": [{"latitude": 0.008, "longitude": 39.229, "a": {"planet": "Mercury", "angle": "MC"}, "b": {"planet": "Saturn", "angle": "ASC"}}, {"latitude": -0.008, "longitude": -140.771, "a": {"planet": "Mercury", "angle": "IC"}, "b": {"planet": "Saturn", "angle": "DSC"}}, {"latitude": -0.024, "longitude": -50.774, "a": {"planet": "Mercury", "angle": "ASC"}, "b": {"planet": "Saturn", "angle": "IC"}}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/transit-acg-lines": {
      "post": {
        "operationId": "transit-acg-lines",
        "summary": "Transit Astrocartography Lines",
        "description": "Planetary ASC/MC/DC/IC lines for any moment as map line segments.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MomentInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "coordinates": {"type": "string"},
                        "node": {"type": "string"},
                        "julian_day_ut": {"type": "number"},
                        "greenwich_sidereal_time_hours": {"type": "number"},
                        "lines": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}, "theme": {"type": "string"}, "segments": {"type": "array", "items": {"type": "array", "items": {"type": "array", "items": {"type": "number"}}}}}, "required": ["planet", "angle", "theme", "segments"]}}
                      },
                      "required": [
                        "coordinates",
                        "node",
                        "julian_day_ut",
                        "greenwich_sidereal_time_hours",
                        "lines"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "coordinates": "Points are [longitude, latitude] in signed decimal degrees (east and north positive), GeoJSON order.",
                        "node": "mean",
                        "julian_day_ut": 2461326.770833,
                        "greenwich_sidereal_time_hours": 7.955955,
                        "lines": [{"planet": "Sun", "angle": "MC", "theme": "Career, recognition, public visibility, leadership.", "segments": [[[79.0745, -85.0], [79.0745, -84.0], [79.0745, -83.0]]]}, {"planet": "Sun", "angle": "IC", "theme": "Home, family roots, foundation, private inner life.", "segments": [[[-100.9255, -85.0], [-100.9255, -84.0], [-100.9255, -83.0]]]}, {"planet": "Sun", "angle": "ASC", "theme": "Vitality, self-expression, charisma, identity.", "segments": [[[-87.9352, -82.0], [-70.7661, -81.0], [-61.8803, -80.0]]]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/relocation-chart": {
      "post": {
        "operationId": "relocation-chart",
        "summary": "Relocated Chart",
        "description": "The chart recast for a new place: angles, house cusps with their lords, and each planet's house there and at the birthplace.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RelocationInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "place": {
                  "latitude": 35.6762,
                  "longitude": 139.6503,
                  "label": "Tokyo"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "place": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "label": {"type": "string"}}, "required": ["latitude", "longitude", "label"]},
                        "distance_from_birthplace_km": {"type": "number"},
                        "ayanamsha": {"type": "string"},
                        "node": {"type": "string"},
                        "house_system": {"type": "string"},
                        "topocentric": {"type": "boolean"},
                        "angles": {"type": "object", "properties": {"ascendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}}, "required": ["longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord"]}, "midheaven": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}}, "required": ["longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord"]}, "descendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}}, "required": ["longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord"]}, "imum_coeli": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}}, "required": ["longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord"]}}, "required": ["ascendant", "midheaven", "descendant", "imum_coeli"]},
                        "house_cusps": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}}, "required": ["house", "longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord"]}},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "retrograde": {"type": "boolean"}, "house": {"type": "integer"}, "house_at_birthplace": {"type": "integer"}}, "required": ["name", "longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord", "retrograde", "house", "house_at_birthplace"]}}
                      },
                      "required": [
                        "place",
                        "distance_from_birthplace_km",
                        "ayanamsha",
                        "node",
                        "house_system",
                        "topocentric",
                        "angles",
                        "house_cusps",
                        "planets"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "place": {"latitude": 35.6762, "longitude": 139.6503, "label": "Tokyo"},
                        "distance_from_birthplace_km": 5834.0,
                        "ayanamsha": "lahiri",
                        "node": "true",
                        "house_system": "placidus",
                        "topocentric": false,
                        "angles": {"ascendant": {"longitude": 22.3889, "sign": "Aries", "degree": 22.3889, "sign_lord": "Mars", "nakshatra": "Bharani", "pada": 3, "nakshatra_lord": "Venus"}, "midheaven": {"longitude": 275.3687, "sign": "Capricorn", "degree": 5.3687, "sign_lord": "Saturn", "nakshatra": "Uttara Ashadha", "pada": 3, "nakshatra_lord": "Sun"}, "descendant": {"longitude": 202.3889, "sign": "Libra", "degree": 22.3889, "sign_lord": "Venus", "nakshatra": "Vishakha", "pada": 1, "nakshatra_lord": "Jupiter"}, "imum_coeli": {"longitude": 95.3687, "sign": "Cancer", "degree": 5.3687, "sign_lord": "Moon", "nakshatra": "Pushya", "pada": 1, "nakshatra_lord": "Saturn"}},
                        "house_cusps": [{"house": 1, "longitude": 22.3889, "sign": "Aries", "degree": 22.3889, "sign_lord": "Mars", "nakshatra": "Bharani", "pada": 3, "nakshatra_lord": "Venus"}, {"house": 2, "longitude": 50.3917, "sign": "Taurus", "degree": 20.3917, "sign_lord": "Venus", "nakshatra": "Rohini", "pada": 4, "nakshatra_lord": "Moon"}, {"house": 3, "longitude": 72.9166, "sign": "Gemini", "degree": 12.9166, "sign_lord": "Mercury", "nakshatra": "Ardra", "pada": 2, "nakshatra_lord": "Rahu"}],
                        "planets": [{"name": "Sun", "longitude": 180.9951, "sign": "Libra", "degree": 0.9951, "sign_lord": "Venus", "nakshatra": "Chitra", "pada": 3, "nakshatra_lord": "Mars", "retrograde": false, "house": 6, "house_at_birthplace": 8}, {"name": "Moon", "longitude": 177.8766, "sign": "Virgo", "degree": 27.8766, "sign_lord": "Mercury", "nakshatra": "Chitra", "pada": 2, "nakshatra_lord": "Mars", "retrograde": false, "house": 6, "house_at_birthplace": 8}, {"name": "Mars", "longitude": 50.7877, "sign": "Taurus", "degree": 20.7877, "sign_lord": "Venus", "nakshatra": "Rohini", "pada": 4, "nakshatra_lord": "Moon", "retrograde": false, "house": 2, "house_at_birthplace": 4}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/rank-cities": {
      "post": {
        "operationId": "rank-cities",
        "summary": "Best Cities for a Goal",
        "description": "Ranks catalogue cities for one life goal: score, distance, rising and midheaven signs with their lords, and the reasons for each.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LocationAstrologyRankInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "goal": "career",
                "region": "asia",
                "limit": 5
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "goal": {"type": "string"},
                        "region": {"type": "string"},
                        "formula": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "weight": {"type": "number"}}, "required": ["house", "weight"]}},
                        "cities_in_catalogue": {"type": "integer"},
                        "cities_scored": {"type": "integer"},
                        "cities": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "country": {"type": "string"}, "country_code": {"type": "string"}, "region": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "ascendant_sign": {"type": "string"}, "ascendant_lord": {"type": "string"}, "midheaven_sign": {"type": "string"}, "midheaven_lord": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["rank", "city", "country", "country_code", "region", "latitude", "longitude", "score", "distance_km", "ascendant_sign", "ascendant_lord", "midheaven_sign", "midheaven_lord", "reasons"]}}
                      },
                      "required": [
                        "goal",
                        "region",
                        "formula",
                        "cities_in_catalogue",
                        "cities_scored",
                        "cities"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "goal": "career",
                        "region": "asia",
                        "formula": [{"house": 10, "weight": 0.4}, {"house": 11, "weight": 0.3}, {"house": 6, "weight": 0.2}],
                        "cities_in_catalogue": 246,
                        "cities_scored": 108,
                        "cities": [{"rank": 1, "city": "Seoul", "country": "South Korea", "country_code": "KR", "region": "asia", "latitude": 37.5665, "longitude": 126.978, "score": 87.0, "distance_km": 4687.0, "ascendant_sign": "Aries", "ascendant_lord": "Mars", "midheaven_sign": "Sagittarius", "midheaven_lord": "Jupiter", "reasons": ["Saturn (natural significator) in H10", "Malefics Saturn and Rahu weakens H10", "Jupiter (sign lord) in kendra/trikona H4"]}, {"rank": 2, "city": "Busan", "country": "South Korea", "country_code": "KR", "region": "asia", "latitude": 35.1796, "longitude": 129.0756, "score": 87.0, "distance_km": 4896.0, "ascendant_sign": "Aries", "ascendant_lord": "Mars", "midheaven_sign": "Sagittarius", "midheaven_lord": "Jupiter", "reasons": ["Saturn (natural significator) in H10", "Malefics Saturn and Rahu weakens H10", "Jupiter (sign lord) in kendra/trikona H4"]}, {"rank": 3, "city": "Incheon", "country": "South Korea", "country_code": "KR", "region": "asia", "latitude": 37.4563, "longitude": 126.7052, "score": 87.0, "distance_km": 4663.0, "ascendant_sign": "Aries", "ascendant_lord": "Mars", "midheaven_sign": "Sagittarius", "midheaven_lord": "Jupiter", "reasons": ["Saturn (natural significator) in H10", "Malefics Saturn and Rahu weakens H10", "Jupiter (sign lord) in kendra/trikona H4"]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/dasha-optimize": {
      "post": {
        "operationId": "dasha-optimize",
        "summary": "Dasha-Aware City Ranking",
        "description": "City ranking for one goal weighted by the dashas running on a date, with the running Vimshottari, Char and Yogini periods.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DashaRankInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "goal": "career",
                "dasha_system": "combined",
                "as_of": "2026-10-13"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "as_of": {"type": "string"},
                        "dasha_system": {"type": "string"},
                        "running": {"type": "object", "properties": {"vimshottari": {"type": "object", "properties": {"mahadasha": {"type": "string"}, "antardasha": {"type": "string"}, "mahadasha_end": {"type": "string"}, "antardasha_end": {"type": "string"}}, "required": ["mahadasha", "antardasha", "mahadasha_end", "antardasha_end"]}, "char": {"type": "object", "properties": {"sign": {"type": "string"}, "lord": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "lord", "end"]}, "yogini": {"type": "object", "properties": {"yogini": {"type": "string"}, "lord": {"type": "string"}, "end": {"type": "string"}}, "required": ["yogini", "lord", "end"]}}, "required": ["vimshottari", "char", "yogini"]},
                        "goal": {"type": "string"},
                        "region": {"type": "string"},
                        "formula": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "weight": {"type": "number"}}, "required": ["house", "weight"]}},
                        "cities_in_catalogue": {"type": "integer"},
                        "cities_scored": {"type": "integer"},
                        "cities": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "country": {"type": "string"}, "country_code": {"type": "string"}, "region": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "ascendant_sign": {"type": "string"}, "ascendant_lord": {"type": "string"}, "midheaven_sign": {"type": "string"}, "midheaven_lord": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["rank", "city", "country", "country_code", "region", "latitude", "longitude", "score", "distance_km", "ascendant_sign", "ascendant_lord", "midheaven_sign", "midheaven_lord", "reasons"]}}
                      },
                      "required": [
                        "as_of",
                        "dasha_system",
                        "running",
                        "goal",
                        "region",
                        "formula",
                        "cities_in_catalogue",
                        "cities_scored",
                        "cities"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "as_of": "2026-10-13",
                        "dasha_system": "combined",
                        "running": {"vimshottari": {"mahadasha": "Jupiter", "antardasha": "Mars", "mahadasha_end": "2029-05-30", "antardasha_end": "2027-01-04"}, "char": {"sign": "Leo", "lord": "Sun", "end": "2031-10-18"}, "yogini": {"yogini": "Mangala", "lord": "Moon", "end": "2027-06-16"}},
                        "goal": "career",
                        "region": "world",
                        "formula": [{"house": 10, "weight": 0.4}, {"house": 11, "weight": 0.3}, {"house": 6, "weight": 0.2}],
                        "cities_in_catalogue": 246,
                        "cities_scored": 246,
                        "cities": [{"rank": 1, "city": "Rome", "country": "Italy", "country_code": "IT", "region": "europe", "latitude": 41.9028, "longitude": 12.4964, "score": 94.1, "distance_km": 5916.0, "ascendant_sign": "Scorpio", "ascendant_lord": "Mars", "midheaven_sign": "Leo", "midheaven_lord": "Sun", "reasons": ["Vimshottari: Mars (dasha lord) rules H6's sign Aries", "Vimshottari: Jupiter (dasha lord) rules H2's sign Sagittarius", "Vimshottari: Jupiter (dasha lord) in dushtana H8 weakens score"]}, {"rank": 2, "city": "Venice", "country": "Italy", "country_code": "IT", "region": "europe", "latitude": 45.4408, "longitude": 12.3155, "score": 94.1, "distance_km": 5887.0, "ascendant_sign": "Scorpio", "ascendant_lord": "Mars", "midheaven_sign": "Leo", "midheaven_lord": "Sun", "reasons": ["Vimshottari: Mars (dasha lord) rules H6's sign Aries", "Vimshottari: Jupiter (dasha lord) rules H2's sign Sagittarius", "Vimshottari: Jupiter (dasha lord) in dushtana H8 weakens score"]}, {"rank": 3, "city": "Berlin", "country": "Germany", "country_code": "DE", "region": "europe", "latitude": 52.52, "longitude": 13.405, "score": 92.8, "distance_km": 5781.0, "ascendant_sign": "Scorpio", "ascendant_lord": "Mars", "midheaven_sign": "Virgo", "midheaven_lord": "Mercury", "reasons": ["Vimshottari: Mars (dasha lord) rules H6's sign Aries", "Vimshottari: Jupiter (dasha lord) rules H2's sign Sagittarius", "Vimshottari: Jupiter (dasha lord) in dushtana H8 weakens score"]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/location-kp-analysis": {
      "post": {
        "operationId": "location-kp-analysis",
        "summary": "KP Verdict for a Place",
        "description": "KP cusps and planets with star, sub and sub-sub lords and significations for one place and date, the running dashas, and a verdict per goal.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/KpInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "place": {
                  "latitude": 35.6762,
                  "longitude": 139.6503,
                  "label": "Tokyo"
                },
                "as_of": "2026-10-13"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "place": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "label": {"type": "string"}}, "required": ["latitude", "longitude", "label"]},
                        "distance_from_birthplace_km": {"type": "number"},
                        "as_of": {"type": "string"},
                        "running": {"type": "object", "properties": {"vimshottari": {"type": "object", "properties": {"mahadasha": {"type": "string"}, "antardasha": {"type": "string"}, "mahadasha_end": {"type": "string"}, "antardasha_end": {"type": "string"}}, "required": ["mahadasha", "antardasha", "mahadasha_end", "antardasha_end"]}, "char": {"type": "object", "properties": {"sign": {"type": "string"}, "lord": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "lord", "end"]}, "yogini": {"type": "object", "properties": {"yogini": {"type": "string"}, "lord": {"type": "string"}, "end": {"type": "string"}}, "required": ["yogini", "lord", "end"]}}, "required": ["vimshottari", "char", "yogini"]},
                        "cusps": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}, "significators": {"type": "array", "items": {"type": "string"}}}, "required": ["house", "longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord", "star_lord", "sub_lord", "sub_sub_lord", "significators"]}},
                        "planets": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}, "retrograde": {"type": "boolean"}, "house": {"type": "integer"}, "star_lord": {"type": "string"}, "sub_lord": {"type": "string"}, "sub_sub_lord": {"type": "string"}, "signified_houses": {"type": "array", "items": {"type": "integer"}}}, "required": ["name", "longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord", "retrograde", "house", "star_lord", "sub_lord", "sub_sub_lord", "signified_houses"]}},
                        "verdicts": {"type": "array", "items": {"type": "object", "properties": {"goal": {"type": "string"}, "score": {"type": "number"}, "verdict": {"type": "string"}, "primary_house": {"type": "integer"}, "factors": {"type": "array", "items": {"type": "string"}}}, "required": ["goal", "score", "verdict", "primary_house", "factors"]}}
                      },
                      "required": [
                        "place",
                        "distance_from_birthplace_km",
                        "as_of",
                        "running",
                        "cusps",
                        "planets",
                        "verdicts"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "place": {"latitude": 35.6762, "longitude": 139.6503, "label": "Tokyo"},
                        "distance_from_birthplace_km": 5834.0,
                        "as_of": "2026-10-13",
                        "running": {"vimshottari": {"mahadasha": "Jupiter", "antardasha": "Mars", "mahadasha_end": "2029-05-30", "antardasha_end": "2027-01-04"}, "char": {"sign": "Leo", "lord": "Sun", "end": "2031-10-18"}, "yogini": {"yogini": "Mangala", "lord": "Moon", "end": "2027-06-16"}},
                        "cusps": [{"house": 1, "longitude": 22.3889, "sign": "Aries", "degree": 22.3889, "sign_lord": "Mars", "nakshatra": "Bharani", "pada": 3, "nakshatra_lord": "Venus", "star_lord": "Venus", "sub_lord": "Saturn", "sub_sub_lord": "Mercury", "significators": ["Ascendant", "Mars", "Mercury"]}, {"house": 2, "longitude": 50.3917, "sign": "Taurus", "degree": 20.3917, "sign_lord": "Venus", "nakshatra": "Rohini", "pada": 4, "nakshatra_lord": "Moon", "star_lord": "Moon", "sub_lord": "Ketu", "sub_sub_lord": "Mercury", "significators": ["Ascendant", "Mars", "Mercury"]}, {"house": 3, "longitude": 72.9166, "sign": "Gemini", "degree": 12.9166, "sign_lord": "Mercury", "nakshatra": "Ardra", "pada": 2, "nakshatra_lord": "Rahu", "star_lord": "Rahu", "sub_lord": "Mercury", "sub_sub_lord": "Ketu", "significators": ["Jupiter", "Mercury"]}],
                        "planets": [{"name": "Sun", "longitude": 180.9951, "sign": "Libra", "degree": 0.9951, "sign_lord": "Venus", "nakshatra": "Chitra", "pada": 3, "nakshatra_lord": "Mars", "retrograde": false, "house": 6, "star_lord": "Mars", "sub_lord": "Mercury", "sub_sub_lord": "Mars", "signified_houses": [2, 6, 1]}, {"name": "Moon", "longitude": 177.8766, "sign": "Virgo", "degree": 27.8766, "sign_lord": "Mercury", "nakshatra": "Chitra", "pada": 2, "nakshatra_lord": "Mars", "retrograde": false, "house": 6, "star_lord": "Mars", "sub_lord": "Jupiter", "sub_sub_lord": "Rahu", "signified_houses": [2, 6, 1]}, {"name": "Mars", "longitude": 50.7877, "sign": "Taurus", "degree": 20.7877, "sign_lord": "Venus", "nakshatra": "Rohini", "pada": 4, "nakshatra_lord": "Moon", "retrograde": false, "house": 2, "star_lord": "Moon", "sub_lord": "Venus", "sub_sub_lord": "Venus", "signified_houses": [6, 2, 4]}],
                        "verdicts": [{"goal": "romance", "score": 57.7, "verdict": "Moderate", "primary_house": 5, "factors": ["H5 sub-sub-lord is Jupiter — auxiliary activator", "H7 star-lord is Jupiter (running MD) — moderate activator", "H11 star-lord is Mars (running AD) — reinforces"]}, {"goal": "marriage", "score": 57.6, "verdict": "Moderate", "primary_house": 7, "factors": ["H7 star-lord is Jupiter (running MD) — moderate activator", "H11 star-lord is Mars (running AD) — reinforces", "H5 sub-sub-lord is Jupiter — auxiliary activator"]}, {"goal": "children", "score": 57.0, "verdict": "Moderate", "primary_house": 5, "factors": ["H5 sub-sub-lord is Jupiter — auxiliary activator", "H9 sub-sub-lord is Jupiter — auxiliary activator", "H7 star-lord is Jupiter (running MD) — moderate activator"]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/compare-locations": {
      "post": {
        "operationId": "compare-locations",
        "summary": "Compare Two Places",
        "description": "Scores two places per goal under the same birth and date, with each place's angles and KP verdicts, the totals and the overall winner.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LocationAstrologyCompareInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "place_a": {
                  "latitude": 35.6762,
                  "longitude": 139.6503,
                  "label": "Tokyo"
                },
                "place_b": {
                  "latitude": 51.5074,
                  "longitude": -0.1278,
                  "label": "London"
                },
                "as_of": "2026-10-13"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "as_of": {"type": "string"},
                        "running": {"type": "object", "properties": {"vimshottari": {"type": "object", "properties": {"mahadasha": {"type": "string"}, "antardasha": {"type": "string"}, "mahadasha_end": {"type": "string"}, "antardasha_end": {"type": "string"}}, "required": ["mahadasha", "antardasha", "mahadasha_end", "antardasha_end"]}}, "required": ["vimshottari"]},
                        "distance_between_km": {"type": "number"},
                        "place_a": {"type": "object", "properties": {"place": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "label": {"type": "string"}}, "required": ["latitude", "longitude", "label"]}, "ascendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}}, "required": ["longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord"]}, "midheaven": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}}, "required": ["longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord"]}, "scores": {"type": "object", "properties": {"career": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "marriage": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "wealth": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "spiritual": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "health": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "education": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "peace": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "children": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "property": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "romance": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "fame": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "foreign": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "travel": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "politics": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "arts": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "business": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}}, "required": ["career", "marriage", "wealth", "spiritual", "health", "education", "peace", "children", "property", "romance", "fame", "foreign", "travel", "politics", "arts", "business"]}, "kp_verdicts": {"type": "array", "items": {"type": "object", "properties": {"goal": {"type": "string"}, "score": {"type": "number"}, "verdict": {"type": "string"}, "primary_house": {"type": "integer"}, "factors": {"type": "array", "items": {"type": "string"}}}, "required": ["goal", "score", "verdict", "primary_house", "factors"]}}}, "required": ["place", "ascendant", "midheaven", "scores", "kp_verdicts"]},
                        "place_b": {"type": "object", "properties": {"place": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "label": {"type": "string"}}, "required": ["latitude", "longitude", "label"]}, "ascendant": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}}, "required": ["longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord"]}, "midheaven": {"type": "object", "properties": {"longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "sign_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "pada": {"type": "integer"}, "nakshatra_lord": {"type": "string"}}, "required": ["longitude", "sign", "degree", "sign_lord", "nakshatra", "pada", "nakshatra_lord"]}, "scores": {"type": "object", "properties": {"career": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "marriage": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "wealth": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "spiritual": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "health": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "education": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "peace": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "children": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "property": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "romance": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "fame": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "foreign": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "travel": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "politics": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "arts": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}, "business": {"type": "object", "properties": {"score": {"type": "number"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["score", "reasons"]}}, "required": ["career", "marriage", "wealth", "spiritual", "health", "education", "peace", "children", "property", "romance", "fame", "foreign", "travel", "politics", "arts", "business"]}, "kp_verdicts": {"type": "array", "items": {"type": "object", "properties": {"goal": {"type": "string"}, "score": {"type": "number"}, "verdict": {"type": "string"}, "primary_house": {"type": "integer"}, "factors": {"type": "array", "items": {"type": "string"}}}, "required": ["goal", "score", "verdict", "primary_house", "factors"]}}}, "required": ["place", "ascendant", "midheaven", "scores", "kp_verdicts"]},
                        "per_goal": {"type": "object", "properties": {"career": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "marriage": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "wealth": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "spiritual": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "health": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "education": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "peace": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "children": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "property": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "romance": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "fame": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "foreign": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "travel": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "politics": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "arts": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}, "business": {"type": "object", "properties": {"score_a": {"type": "number"}, "score_b": {"type": "number"}, "winner": {"type": "string"}, "difference": {"type": "number"}}, "required": ["score_a", "score_b", "winner", "difference"]}}, "required": ["career", "marriage", "wealth", "spiritual", "health", "education", "peace", "children", "property", "romance", "fame", "foreign", "travel", "politics", "arts", "business"]},
                        "total_a": {"type": "number"},
                        "total_b": {"type": "number"},
                        "overall_winner": {"type": "string"}
                      },
                      "required": [
                        "as_of",
                        "running",
                        "distance_between_km",
                        "place_a",
                        "place_b",
                        "per_goal",
                        "total_a",
                        "total_b",
                        "overall_winner"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "as_of": "2026-10-13",
                        "running": {"vimshottari": {"mahadasha": "Jupiter", "antardasha": "Mars", "mahadasha_end": "2029-05-30", "antardasha_end": "2027-01-04"}},
                        "distance_between_km": 9559.0,
                        "place_a": {"place": {"latitude": 35.6762, "longitude": 139.6503, "label": "Tokyo"}, "ascendant": {"longitude": 22.3889, "sign": "Aries", "degree": 22.3889, "sign_lord": "Mars", "nakshatra": "Bharani", "pada": 3, "nakshatra_lord": "Venus"}, "midheaven": {"longitude": 275.3687, "sign": "Capricorn", "degree": 5.3687, "sign_lord": "Saturn", "nakshatra": "Uttara Ashadha", "pada": 3, "nakshatra_lord": "Sun"}, "scores": {"career": {"score": 80.5, "reasons": ["Jupiter (dasha lord) aspects H10 (7th aspect)", "Mars (dasha lord) sits in H2", "Malefic Rahu weakens H10"]}, "marriage": {"score": 62.5, "reasons": ["Mars (dasha lord) sits in H2", "Libra in H7 favours marriage", "Malefic Mars weakens H2"]}, "wealth": {"score": 66.6, "reasons": ["Mars (dasha lord) sits in H2", "Jupiter (dasha lord) rules H9's sign Sagittarius", "Malefic Mars weakens H2"]}, "spiritual": {"score": 90.8, "reasons": ["Jupiter (dasha lord) rules H12's sign Pisces", "Jupiter (dasha lord) rules H9's sign Sagittarius", "Mars (dasha lord) rules H8's sign Scorpio"]}, "health": {"score": 3.8, "reasons": ["Mars (dasha lord) rules H1's sign Aries", "Mars (dasha lord) rules H8's sign Scorpio", "Aries in H1 favours health"]}, "education": {"score": 74.1, "reasons": ["Jupiter (dasha lord) sits in H4", "Jupiter (dasha lord) rules H9's sign Sagittarius", "Mars (dasha lord) sits in H2"]}, "peace": {"score": 59.6, "reasons": ["Jupiter (dasha lord) sits in H4", "Mars (dasha lord) rules H1's sign Aries", "Jupiter (dasha lord) rules H12's sign Pisces"]}, "children": {"score": 53.5, "reasons": ["Mars (dasha lord) sits in H2", "Jupiter (dasha lord) rules H9's sign Sagittarius", "Malefic Mars weakens H2"]}, "property": {"score": 80.6, "reasons": ["Jupiter (dasha lord) sits in H4", "Mars (dasha lord) sits in H2", "Jupiter (dasha lord) aspects H10 (7th aspect)"]}, "romance": {"score": 53.0, "reasons": ["Saturn (sign lord) in kendra/trikona H9"]}, "fame": {"score": 62.5, "reasons": ["Jupiter (dasha lord) aspects H10 (7th aspect)", "Mars (dasha lord) rules H1's sign Aries", "Malefic Rahu weakens H10"]}, "foreign": {"score": 75.5, "reasons": ["Jupiter (dasha lord) rules H12's sign Pisces", "Jupiter (dasha lord) rules H9's sign Sagittarius", "Jupiter (sign lord) in kendra/trikona H4"]}, "travel": {"score": 63.5, "reasons": ["Jupiter (dasha lord) rules H9's sign Sagittarius", "Jupiter (dasha lord) rules H12's sign Pisces", "Malefic Saturn weakens H9"]}, "politics": {"score": 81.3, "reasons": ["Jupiter (dasha lord) aspects H10 (7th aspect)", "Jupiter (dasha lord) rules H9's sign Sagittarius", "Malefic Rahu weakens H10"]}, "arts": {"score": 53.2, "reasons": ["Jupiter (dasha lord) aspects H10 (7th aspect)", "Mars (dasha lord) sits in H2", "Malefic Rahu weakens H10"]}, "business": {"score": 64.1, "reasons": ["Jupiter (dasha lord) aspects H10 (7th aspect)", "Mars (dasha lord) sits in H2", "Saturn (sign lord) in kendra/trikona H9"]}}, "kp_verdicts": [{"goal": "romance", "score": 57.7, "verdict": "Moderate", "primary_house": 5, "factors": ["H5 sub-sub-lord is Jupiter — auxiliary activator", "H7 star-lord is Jupiter (running MD) — moderate activator", "H11 star-lord is Mars (running AD) — reinforces"]}, {"goal": "marriage", "score": 57.6, "verdict": "Moderate", "primary_house": 7, "factors": ["H7 star-lord is Jupiter (running MD) — moderate activator", "H11 star-lord is Mars (running AD) — reinforces", "H5 sub-sub-lord is Jupiter — auxiliary activator"]}, {"goal": "children", "score": 57.0, "verdict": "Moderate", "primary_house": 5, "factors": ["H5 sub-sub-lord is Jupiter — auxiliary activator", "H9 sub-sub-lord is Jupiter — auxiliary activator", "H7 star-lord is Jupiter (running MD) — moderate activator"]}]},
                        "place_b": {"place": {"latitude": 51.5074, "longitude": -0.1278, "label": "London"}, "ascendant": {"longitude": 206.3992, "sign": "Libra", "degree": 26.3992, "sign_lord": "Venus", "nakshatra": "Vishakha", "pada": 2, "nakshatra_lord": "Jupiter"}, "midheaven": {"longitude": 136.1953, "sign": "Leo", "degree": 16.1953, "sign_lord": "Sun", "nakshatra": "Purva Phalguni", "pada": 1, "nakshatra_lord": "Venus"}, "scores": {"career": {"score": 80.5, "reasons": ["Mars (dasha lord) rules H6's sign Aries", "Mars (dasha lord) rules H2's sign Scorpio", "Leo in H10 favours career"]}, "marriage": {"score": 81.0, "reasons": ["Mars (dasha lord) sits in H7", "Mars (dasha lord) rules H2's sign Scorpio", "Jupiter (dasha lord) rules H5's sign Pisces"]}, "wealth": {"score": 87.0, "reasons": ["Mars (dasha lord) rules H2's sign Scorpio", "Jupiter (dasha lord) sits in H9", "Jupiter (dasha lord) rules H5's sign Pisces"]}, "spiritual": {"score": 72.5, "reasons": ["Jupiter (dasha lord) sits in H9", "Jupiter (dasha lord) rules H5's sign Pisces", "Jupiter (natural significator) in H9"]}, "health": {"score": 3.9, "reasons": ["Mars (dasha lord) aspects H1 (7th aspect)", "Mars (dasha lord) rules H6's sign Aries", "Jupiter (dasha lord) aspects H3 (7th aspect)"]}, "education": {"score": 76.3, "reasons": ["Jupiter (dasha lord) rules H5's sign Pisces", "Jupiter (dasha lord) sits in H9", "Mars (dasha lord) rules H2's sign Scorpio"]}, "peace": {"score": 36.0, "reasons": ["Mars (dasha lord) aspects H1 (7th aspect)"]}, "children": {"score": 81.9, "reasons": ["Jupiter (dasha lord) rules H5's sign Pisces", "Mars (dasha lord) rules H2's sign Scorpio", "Jupiter (dasha lord) sits in H9"]}, "property": {"score": 66.2, "reasons": ["Mars (dasha lord) rules H2's sign Scorpio", "Saturn (natural significator) in H2", "Malefic Saturn weakens H2"]}, "romance": {"score": 86.5, "reasons": ["Jupiter (dasha lord) rules H5's sign Pisces", "Mars (dasha lord) sits in H7", "Jupiter (dasha lord) aspects H3 (7th aspect)"]}, "fame": {"score": 65.5, "reasons": ["Mars (dasha lord) aspects H1 (7th aspect)", "Jupiter (dasha lord) rules H5's sign Pisces", "Sun (natural significator) in H11"]}, "foreign": {"score": 69.2, "reasons": ["Jupiter (dasha lord) sits in H9", "Mars (dasha lord) sits in H7", "Jupiter (dasha lord) aspects H3 (7th aspect)"]}, "travel": {"score": 73.8, "reasons": ["Jupiter (dasha lord) aspects H3 (7th aspect)", "Jupiter (dasha lord) sits in H9", "Mars (dasha lord) sits in H7"]}, "politics": {"score": 73.3, "reasons": ["Mars (dasha lord) rules H6's sign Aries", "Jupiter (dasha lord) sits in H9", "Mars (sign lord) in kendra/trikona H7"]}, "arts": {"score": 66.2, "reasons": ["Jupiter (dasha lord) rules H5's sign Pisces", "Jupiter (dasha lord) aspects H3 (7th aspect)", "Mars (dasha lord) rules H2's sign Scorpio"]}, "business": {"score": 81.6, "reasons": ["Mars (dasha lord) sits in H7", "Mars (dasha lord) rules H2's sign Scorpio", "Jupiter (dasha lord) rules H5's sign Pisces"]}}, "kp_verdicts": [{"goal": "spiritual", "score": 63.2, "verdict": "Moderate", "primary_house": 12, "factors": ["H12 sub-lord is Jupiter (running MD) — strong activator", "H8 sub-lord is Jupiter (running MD) — strong activator", "H8 star-lord is Mars (running AD) — reinforces"]}, {"goal": "peace", "score": 58.6, "verdict": "Moderate", "primary_house": 4, "factors": ["H1 star-lord is Jupiter (running MD) — moderate activator", "H12 sub-lord is Jupiter (running MD) — strong activator", "H8 sub-lord is Jupiter (running MD) — strong activator"]}, {"goal": "foreign", "score": 58.6, "verdict": "Moderate", "primary_house": 12, "factors": ["H12 sub-lord is Jupiter (running MD) — strong activator", "H7 sub-sub-lord is Jupiter — auxiliary activator"]}]},
                        "per_goal": {"career": {"score_a": 80.5, "score_b": 80.5, "winner": "tie", "difference": 0.0}, "marriage": {"score_a": 62.5, "score_b": 81.0, "winner": "b", "difference": 18.5}, "wealth": {"score_a": 66.6, "score_b": 87.0, "winner": "b", "difference": 20.4}, "spiritual": {"score_a": 90.8, "score_b": 72.5, "winner": "a", "difference": 18.3}, "health": {"score_a": 3.8, "score_b": 3.9, "winner": "b", "difference": 0.1}, "education": {"score_a": 74.1, "score_b": 76.3, "winner": "b", "difference": 2.2}, "peace": {"score_a": 59.6, "score_b": 36.0, "winner": "a", "difference": 23.6}, "children": {"score_a": 53.5, "score_b": 81.9, "winner": "b", "difference": 28.4}, "property": {"score_a": 80.6, "score_b": 66.2, "winner": "a", "difference": 14.4}, "romance": {"score_a": 53.0, "score_b": 86.5, "winner": "b", "difference": 33.5}, "fame": {"score_a": 62.5, "score_b": 65.5, "winner": "b", "difference": 3.0}, "foreign": {"score_a": 75.5, "score_b": 69.2, "winner": "a", "difference": 6.3}, "travel": {"score_a": 63.5, "score_b": 73.8, "winner": "b", "difference": 10.3}, "politics": {"score_a": 81.3, "score_b": 73.3, "winner": "a", "difference": 8.0}, "arts": {"score_a": 53.2, "score_b": 66.2, "winner": "b", "difference": 13.0}, "business": {"score_a": 64.1, "score_b": 81.6, "winner": "b", "difference": 17.5}},
                        "total_a": 1025.1,
                        "total_b": 1101.4,
                        "overall_winner": "b"
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["Goal scores are not on one scale: goals whose formula subtracts houses (health, peace) cannot reach 100; see highest_possible_score in location-categories. Compare a goal's scores with each other, not across goals."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/location-char-dasha": {
      "post": {
        "operationId": "location-char-dasha",
        "summary": "Char Dasha Schedule (Phaladeepika)",
        "description": "Twelve-row Char dasha schedule with each sign's lord, years and dates, and the period running on a date.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LocationAstrologyDashaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "as_of": "2026-10-13"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "method": {"type": "string"},
                        "ayanamsha": {"type": "string"},
                        "ascendant_sign": {"type": "string"},
                        "ascendant_sign_type": {"type": "string"},
                        "total_years": {"type": "integer"},
                        "periods": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_type": {"type": "string"}, "lord": {"type": "string"}, "lord_sign": {"type": "string"}, "years": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "sign_type", "lord", "lord_sign", "years", "start", "end"]}},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "period": {"type": "object", "properties": {"sign": {"type": "string"}, "sign_type": {"type": "string"}, "lord": {"type": "string"}, "lord_sign": {"type": "string"}, "years": {"type": "integer"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "sign_type", "lord", "lord_sign", "years", "start", "end"]}}, "required": ["as_of", "period"]}
                      },
                      "required": [
                        "method",
                        "ayanamsha",
                        "ascendant_sign",
                        "ascendant_sign_type",
                        "total_years",
                        "periods",
                        "current"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "method": "phaladeepika",
                        "ayanamsha": "lahiri",
                        "ascendant_sign": "Capricorn",
                        "ascendant_sign_type": "movable",
                        "total_years": 75,
                        "periods": [{"sign": "Capricorn", "sign_type": "movable", "lord": "Saturn", "lord_sign": "Sagittarius", "years": 11, "start": "1990-10-18", "end": "2001-10-17"}, {"sign": "Aquarius", "sign_type": "fixed", "lord": "Saturn", "lord_sign": "Sagittarius", "years": 2, "start": "2001-10-17", "end": "2003-10-18"}, {"sign": "Pisces", "sign_type": "dual", "lord": "Jupiter", "lord_sign": "Cancer", "years": 4, "start": "2003-10-18", "end": "2007-10-18"}],
                        "current": {"as_of": "2026-10-13", "period": {"sign": "Leo", "sign_type": "fixed", "lord": "Sun", "lord_sign": "Libra", "years": 10, "start": "2021-10-17", "end": "2031-10-18"}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/location-yogini-dasha": {
      "post": {
        "operationId": "location-yogini-dasha",
        "summary": "Yogini Dasha Schedule",
        "description": "Lifetime Yogini schedule from the birth nakshatra with each period's lord, years and dates, and the period running on a date.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LocationAstrologyDashaInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "as_of": "2026-10-13"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ayanamsha": {"type": "string"},
                        "janma_nakshatra": {"type": "string"},
                        "janma_yogini": {"type": "string"},
                        "janma_lord": {"type": "string"},
                        "balance_at_birth_years": {"type": "number"},
                        "cycle_years": {"type": "integer"},
                        "periods": {"type": "array", "items": {"type": "object", "properties": {"yogini": {"type": "string"}, "lord": {"type": "string"}, "years": {"type": "number"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["yogini", "lord", "years", "start", "end"]}},
                        "current": {"type": "object", "properties": {"as_of": {"type": "string"}, "period": {"type": "object", "properties": {"yogini": {"type": "string"}, "lord": {"type": "string"}, "years": {"type": "number"}, "start": {"type": "string"}, "end": {"type": "string"}}, "required": ["yogini", "lord", "years", "start", "end"]}}, "required": ["as_of", "period"]}
                      },
                      "required": [
                        "ayanamsha",
                        "janma_nakshatra",
                        "janma_yogini",
                        "janma_lord",
                        "balance_at_birth_years",
                        "cycle_years",
                        "periods",
                        "current"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "ayanamsha": "lahiri",
                        "janma_nakshatra": "Chitra",
                        "janma_yogini": "Mangala",
                        "janma_lord": "Moon",
                        "balance_at_birth_years": 0.659,
                        "cycle_years": 36,
                        "periods": [{"yogini": "Mangala", "lord": "Moon", "years": 0.659, "start": "1990-10-18", "end": "1991-06-16"}, {"yogini": "Pingala", "lord": "Sun", "years": 2.0, "start": "1991-06-16", "end": "1993-06-15"}, {"yogini": "Dhanya", "lord": "Jupiter", "years": 3.0, "start": "1993-06-15", "end": "1996-06-15"}],
                        "current": {"as_of": "2026-10-13", "period": {"yogini": "Mangala", "lord": "Moon", "years": 1.0, "start": "2026-06-15", "end": "2027-06-16"}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/solar-return": {
      "post": {
        "operationId": "solar-return",
        "summary": "Solar Return Moment",
        "description": "The sidereal solar return instant for a target year, returned as birth data for reuse.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SolarReturnInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "year": 2026
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "year": {"type": "integer"},
                        "ayanamsha": {"type": "string"},
                        "natal_sun_longitude": {"type": "number"},
                        "julian_day_ut": {"type": "number"},
                        "moment_utc": {"type": "string"},
                        "minutes_off_birthday": {"type": "number"},
                        "moment_local": {"type": "object", "properties": {"datetime": {"type": "string"}, "timezone": {"type": "string"}, "utc_offset": {"type": "string"}}, "required": ["datetime", "timezone", "utc_offset"]}
                      },
                      "required": [
                        "year",
                        "ayanamsha",
                        "natal_sun_longitude",
                        "julian_day_ut",
                        "moment_utc",
                        "minutes_off_birthday",
                        "moment_local"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "year": 2026,
                        "ayanamsha": "lahiri",
                        "natal_sun_longitude": 180.9951,
                        "julian_day_ut": 2461332.101061,
                        "moment_utc": "2026-10-18T14:25:32Z",
                        "minutes_off_birthday": 325.5,
                        "moment_local": {"datetime": "2026-10-18T19:55:32", "timezone": "Asia/Kolkata", "utc_offset": "+05:30"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/davison-chart": {
      "post": {
        "operationId": "davison-chart",
        "summary": "Davison Relationship Chart",
        "description": "Time and place midpoint of two births, returned as birth data for reuse.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DavisonInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "person_a": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                },
                "person_b": {
                  "datetime": "1992-03-02T05:47:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 19.0767,
                  "longitude": 72.8767
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "julian_day_ut": {"type": "number"},
                        "moment_utc": {"type": "string"},
                        "latitude": {"type": "number"},
                        "longitude": {"type": "number"},
                        "years_apart": {"type": "number"},
                        "distance_apart_km": {"type": "number"},
                        "as_birth": {"type": "object", "properties": {"datetime": {"type": "string"}, "utc_offset": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}}, "required": ["datetime", "utc_offset", "latitude", "longitude"]}
                      },
                      "required": [
                        "julian_day_ut",
                        "moment_utc",
                        "latitude",
                        "longitude",
                        "years_apart",
                        "distance_apart_km",
                        "as_birth"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "julian_day_ut": 2448433.193403,
                        "moment_utc": "1991-06-25T16:38:30Z",
                        "latitude": 23.860427,
                        "longitude": 74.962943,
                        "years_apart": 1.37,
                        "distance_apart_km": 1148.0,
                        "as_birth": {"datetime": "1991-06-25T16:38:30", "utc_offset": "+00:00", "latitude": 23.860427, "longitude": 74.962943}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/location-navatara": {
      "post": {
        "operationId": "location-navatara",
        "summary": "Navatara by Place",
        "description": "The tara of the nakshatras rising and culminating at a place, counted from the birth nakshatra, with a reading; or catalogue cities ranked by it.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NavataraInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "variant": {"type": "string"},
                        "rule": {"type": "string"},
                        "place": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "label": {"type": "null"}}, "required": ["latitude", "longitude", "label"]},
                        "janma_nakshatra": {"type": "string"},
                        "rising": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "sign": {"type": "string"}, "tara": {"type": "object", "properties": {"number": {"type": "integer"}, "name": {"type": "string"}, "alternate_name": {"type": "null"}, "nature": {"type": "string"}, "score": {"type": "number"}, "nakshatra_lord": {"type": "string"}, "classical_ruler": {"type": "string"}}, "required": ["number", "name", "alternate_name", "nature", "score", "nakshatra_lord", "classical_ruler"]}}, "required": ["nakshatra", "sign", "tara"]},
                        "reading": {"type": "string"},
                        "midheaven": {"type": "object", "properties": {"nakshatra": {"type": "string"}, "sign": {"type": "string"}, "tara": {"type": "object", "properties": {"number": {"type": "integer"}, "name": {"type": "string"}, "alternate_name": {"type": "null"}, "nature": {"type": "string"}, "score": {"type": "number"}, "nakshatra_lord": {"type": "string"}, "classical_ruler": {"type": "string"}}, "required": ["number", "name", "alternate_name", "nature", "score", "nakshatra_lord", "classical_ruler"]}}, "required": ["nakshatra", "sign", "tara"]},
                        "angles_agree": {"type": "boolean"}
                      },
                      "required": [
                        "variant",
                        "rule",
                        "place",
                        "janma_nakshatra",
                        "rising",
                        "reading",
                        "midheaven",
                        "angles_agree"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "variant": "place",
                        "rule": "tara = (rising nakshatra - janma nakshatra) mod 9",
                        "place": {"latitude": 28.6139, "longitude": 77.209, "label": null},
                        "janma_nakshatra": "Chitra",
                        "rising": {"nakshatra": "Dhanishta", "sign": "Capricorn", "tara": {"number": 1, "name": "Janma", "alternate_name": null, "nature": "Neutral / Tense", "score": 40.0, "nakshatra_lord": "Mars", "classical_ruler": "Sun"}},
                        "reading": "Janma Tara is the birth nakshatra — the nakshatra in which the Moon is placed at birth. It establishes the native's core individuality and instinctive nature. The mind tends toward fickleness and unsteadiness during Janma Tara transits, mirroring the tension and stress present at the very moment of birth itself. It is not always favorable and can cause mental agitation and restlessness. The default ruler of Janma Tara is Sun.",
                        "midheaven": {"nakshatra": "Anuradha", "sign": "Scorpio", "tara": {"number": 4, "name": "Kshema", "alternate_name": null, "nature": "Auspicious", "score": 80.0, "nakshatra_lord": "Saturn", "classical_ruler": "Jupiter"}},
                        "angles_agree": false
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/zone-analysis": {
      "post": {
        "operationId": "zone-analysis",
        "summary": "Region Analysis",
        "description": "Scores a drawn polygon or bounding box from the cities inside it, with lines and strongest planets.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 3,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ZoneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "bbox": {
                  "west": -10,
                  "south": 35,
                  "east": 30,
                  "north": 60
                },
                "goal": "career"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "goal": {"type": "string"},
                        "formula": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "weight": {"type": "number"}}, "required": ["house", "weight"]}},
                        "area_km2": {"type": "number"},
                        "cities_inside": {"type": "integer"},
                        "cities_in_catalogue": {"type": "integer"},
                        "score": {"type": "object", "properties": {"mean": {"type": "number"}, "median": {"type": "number"}, "best": {"type": "number"}, "worst": {"type": "number"}, "spread": {"type": "number"}}, "required": ["mean", "median", "best", "worst", "spread"]},
                        "best_goals": {"type": "array", "items": {"type": "object", "properties": {"goal": {"type": "string"}, "mean_score": {"type": "number"}}, "required": ["goal", "mean_score"]}},
                        "lines_crossing": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}, "length_km_inside": {"type": "number"}, "theme": {"type": "string"}}, "required": ["planet", "angle", "length_km_inside", "theme"]}},
                        "parans_inside": {"type": "array", "items": {"type": "object", "properties": {"latitude": {"type": "number"}, "a": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}}, "required": ["planet", "angle"]}, "b": {"type": "object", "properties": {"planet": {"type": "string"}, "angle": {"type": "string"}}, "required": ["planet", "angle"]}}, "required": ["latitude", "a", "b"]}},
                        "strongest_planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "weighted_km": {"type": "number"}, "angles": {"type": "array", "items": {"type": "string"}}, "themes": {"type": "array", "items": {"type": "string"}}, "cautions": {"type": "array", "items": {"type": "string"}}}, "required": ["planet", "weighted_km", "angles", "themes", "cautions"]}},
                        "top_cities": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "score": {"type": "number"}, "scores": {"type": "object", "properties": {"career": {"type": "number"}, "marriage": {"type": "number"}, "wealth": {"type": "number"}, "spiritual": {"type": "number"}, "health": {"type": "number"}, "education": {"type": "number"}, "peace": {"type": "number"}, "children": {"type": "number"}, "property": {"type": "number"}, "romance": {"type": "number"}, "fame": {"type": "number"}, "foreign": {"type": "number"}, "travel": {"type": "number"}, "politics": {"type": "number"}, "arts": {"type": "number"}, "business": {"type": "number"}}, "required": ["career", "marriage", "wealth", "spiritual", "health", "education", "peace", "children", "property", "romance", "fame", "foreign", "travel", "politics", "arts", "business"]}, "ascendant_sign": {"type": "string"}, "midheaven_sign": {"type": "string"}, "top_factors": {"type": "array", "items": {"type": "string"}}}, "required": ["city", "country", "latitude", "longitude", "distance_km", "score", "scores", "ascendant_sign", "midheaven_sign", "top_factors"]}},
                        "bounds": {"type": "object", "properties": {"south": {"type": "number"}, "north": {"type": "number"}, "west": {"type": "number"}, "east": {"type": "number"}}, "required": ["south", "north", "west", "east"]}
                      },
                      "required": [
                        "goal",
                        "formula",
                        "area_km2",
                        "cities_inside",
                        "cities_in_catalogue",
                        "score",
                        "best_goals",
                        "lines_crossing",
                        "parans_inside",
                        "strongest_planets",
                        "top_cities",
                        "bounds"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "goal": "career",
                        "formula": [{"house": 10, "weight": 0.4}, {"house": 11, "weight": 0.3}, {"house": 6, "weight": 0.2}],
                        "area_km2": 8287124.0,
                        "cities_inside": 55,
                        "cities_in_catalogue": 246,
                        "score": {"mean": 81.0, "median": 79.0, "best": 91.0, "worst": 73.0, "spread": 18.0},
                        "best_goals": [{"goal": "career", "mean_score": 81.0}, {"goal": "wealth", "mean_score": 76.0}, {"goal": "politics", "mean_score": 74.8}],
                        "lines_crossing": [{"planet": "Mars", "angle": "DSC", "length_km_inside": 1668.0, "theme": "Passionate partners, competitive marriages, conflict."}],
                        "parans_inside": [{"latitude": 35.41, "a": {"planet": "Mercury", "angle": "IC"}, "b": {"planet": "Rahu", "angle": "DSC"}}, {"latitude": 35.41, "a": {"planet": "Mercury", "angle": "IC"}, "b": {"planet": "Ketu", "angle": "ASC"}}, {"latitude": 36.98, "a": {"planet": "Venus", "angle": "IC"}, "b": {"planet": "Rahu", "angle": "DSC"}}],
                        "strongest_planets": [{"planet": "Mars", "weighted_km": 1501.0, "angles": ["DSC"], "themes": ["competition", "courage", "enterprise"], "cautions": ["conflict", "impatience"]}],
                        "top_cities": [{"city": "Berlin", "country": "Germany", "latitude": 52.52, "longitude": 13.405, "distance_km": 5781.0, "score": 91.0, "scores": {"career": 91.0, "marriage": 65.0, "wealth": 64.0, "spiritual": 75.5, "health": 0.0, "education": 53.5, "peace": 37.2, "children": 53.5, "property": 63.5, "romance": 65.0, "fame": 83.0, "foreign": 65.0, "travel": 62.5, "politics": 86.2, "arts": 58.5, "business": 73.0}, "ascendant_sign": "Scorpio", "midheaven_sign": "Virgo", "top_factors": ["Mercury (natural significator) in H10", "Benefics Moon, Mercury and Venus in H10", "Mercury (sign lord) in kendra/trikona H10"]}, {"city": "Rome", "country": "Italy", "latitude": 41.9028, "longitude": 12.4964, "distance_km": 5916.0, "score": 91.0, "scores": {"career": 91.0, "marriage": 65.0, "wealth": 64.0, "spiritual": 75.5, "health": 0.0, "education": 53.5, "peace": 37.2, "children": 53.5, "property": 61.5, "romance": 65.0, "fame": 75.0, "foreign": 65.0, "travel": 62.5, "politics": 79.2, "arts": 58.5, "business": 73.0}, "ascendant_sign": "Scorpio", "midheaven_sign": "Leo", "top_factors": ["Mercury (natural significator) in H10", "Benefics Moon, Mercury and Venus in H10", "Leo in H10 favours career"]}, {"city": "Prague", "country": "Czechia", "latitude": 50.0755, "longitude": 14.4378, "distance_km": 5706.0, "score": 91.0, "scores": {"career": 91.0, "marriage": 69.0, "wealth": 67.0, "spiritual": 76.0, "health": 0.0, "education": 59.5, "peace": 37.2, "children": 62.5, "property": 63.5, "romance": 73.0, "fame": 86.0, "foreign": 65.0, "travel": 62.5, "politics": 86.2, "arts": 66.5, "business": 75.0}, "ascendant_sign": "Scorpio", "midheaven_sign": "Virgo", "top_factors": ["Mercury (natural significator) in H10", "Benefics Moon, Mercury and Venus in H10", "Mercury (sign lord) in kendra/trikona H10"]}],
                        "bounds": {"south": 35.0, "north": 60.0, "west": -10.0, "east": 30.0}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/local-space": {
      "post": {
        "operationId": "local-space",
        "summary": "Local Space Directions",
        "description": "Each planet's compass bearing and altitude from where the person stands, with its themes and the cities along its great-circle ray.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LocalSpaceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "observer": {
                  "latitude": 51.5074,
                  "longitude": -0.1278,
                  "label": "London"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "coordinates": {"type": "string"},
                        "observer": {"type": "object", "properties": {"latitude": {"type": "number"}, "longitude": {"type": "number"}, "label": {"type": "string"}}, "required": ["latitude", "longitude", "label"]},
                        "node": {"type": "string"},
                        "topocentric": {"type": "boolean"},
                        "local_sidereal_time_degrees": {"type": "number"},
                        "corridor_km": {"type": "number"},
                        "rays": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "azimuth": {"type": "number"}, "altitude": {"type": "number"}, "above_horizon": {"type": "boolean"}, "compass": {"type": "string"}, "themes": {"type": "array", "items": {"type": "string"}}, "cautions": {"type": "array", "items": {"type": "string"}}, "goals": {"type": "array", "items": {"type": "string"}}, "cities": {"type": "array", "items": {"type": "object", "properties": {"city": {"type": "string"}, "country": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "distance_km": {"type": "number"}, "off_ray_km": {"type": "number"}}, "required": ["city", "country", "latitude", "longitude", "distance_km", "off_ray_km"]}}, "segments": {"type": "array", "items": {"type": "array", "items": {"type": "array", "items": {"type": "number"}}}}}, "required": ["planet", "azimuth", "altitude", "above_horizon", "compass", "themes", "cautions", "goals", "cities", "segments"]}}
                      },
                      "required": [
                        "coordinates",
                        "observer",
                        "node",
                        "topocentric",
                        "local_sidereal_time_degrees",
                        "corridor_km",
                        "rays"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "coordinates": "Points are [longitude, latitude] in signed decimal degrees (east and north positive), GeoJSON order.",
                        "observer": {"latitude": 51.5074, "longitude": -0.1278, "label": "London"},
                        "node": "true",
                        "topocentric": false,
                        "local_sidereal_time_degrees": 161.4665,
                        "corridor_km": 300.0,
                        "rays": [{"planet": "Jupiter", "azimuth": 223.95, "altitude": 49.77, "above_horizon": true, "compass": "SW", "themes": ["expansion", "education", "mentors"], "cautions": ["over-optimism", "excess"], "goals": ["wealth", "spiritual", "health"], "cities": [{"city": "Birmingham", "country": "United Kingdom", "latitude": 52.4862, "longitude": -1.8904, "distance_km": 162.5, "off_ray_km": 162.5}, {"city": "Porto", "country": "Portugal", "latitude": 41.1579, "longitude": -8.6291, "distance_km": 1321.0, "off_ray_km": 255.2}, {"city": "Brasilia", "country": "Brazil", "latitude": -15.8267, "longitude": -47.9218, "distance_km": 8797.3, "off_ray_km": 282.0}], "segments": [[[-0.1278, 51.5074], [-1.2138, 50.7901], [-2.2667, 50.063]]]}, {"planet": "Ketu", "azimuth": 234.18, "altitude": 47.51, "above_horizon": true, "compass": "SW", "themes": ["spirituality", "detachment", "research"], "cautions": ["isolation", "disinterest in worldly gain"], "goals": ["spiritual", "foreign"], "cities": [{"city": "Birmingham", "country": "United Kingdom", "latitude": 52.4862, "longitude": -1.8904, "distance_km": 162.5, "off_ray_km": 159.3}, {"city": "Liverpool", "country": "United Kingdom", "latitude": 53.4084, "longitude": -2.9916, "distance_km": 286.9, "off_ray_km": 285.5}, {"city": "Santiago", "country": "Chile", "latitude": -33.4489, "longitude": -70.6693, "distance_km": 11672.8, "off_ray_km": 37.2}], "segments": [[[-0.1278, 51.5074], [-1.4003, 50.9215], [-2.6408, 50.3221]]]}, {"planet": "Venus", "azimuth": 137.96, "altitude": 22.78, "above_horizon": true, "compass": "SE", "themes": ["relationships", "comfort", "creativity"], "cautions": ["indulgence", "avoidance of hard choices"], "goals": ["romance", "marriage", "wealth"], "cities": [{"city": "Brussels", "country": "Belgium", "latitude": 50.8503, "longitude": 4.3517, "distance_km": 320.6, "off_ray_km": 190.8}, {"city": "Paris", "country": "France", "latitude": 48.8566, "longitude": 2.3522, "distance_km": 343.6, "off_ray_km": 60.6}, {"city": "Lyon", "country": "France", "latitude": 45.764, "longitude": 4.8357, "distance_km": 735.0, "off_ray_km": 132.7}], "segments": [[[-0.1278, 51.5074], [0.9197, 50.768], [1.9343, 50.0195]]]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/location-astrology/location-categories": {
      "post": {
        "operationId": "location-categories",
        "summary": "Location Goal Catalogue",
        "description": "The scoring goals with their house formulas and significators.",
        "tags": [
          "location-astrology"
        ],
        "x-credits": 1,
        "x-status": "ga",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CategoriesInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "goal": "career"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "goals": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "houses": {"type": "array", "items": {"type": "integer"}}, "formula": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "weight": {"type": "number"}}, "required": ["house", "weight"]}}, "significators": {"type": "array", "items": {"type": "string"}}, "highest_possible_score": {"type": "integer"}}, "required": ["id", "houses", "formula", "significators", "highest_possible_score"]}}
                      },
                      "required": [
                        "goals"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "goals": [{"id": "career", "houses": [10, 11, 6], "formula": [{"house": 10, "weight": 0.4}, {"house": 11, "weight": 0.3}, {"house": 6, "weight": 0.2}], "significators": ["Sun", "Saturn", "Mercury"], "highest_possible_score": 100}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vastu/vastu-analyse": {
      "post": {
        "operationId": "vastu-analyse",
        "summary": "Vastu Floor Analysis",
        "description": "Vastu analysis of one floor from its marked-up plan: overall and category scores, zones, rooms, brahmasthan, marma, devatas, defects with remedies, Ayadi and a checklist.",
        "tags": [
          "vastu"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AnalyseInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "units": "m",
                "north": {
                  "degrees": 0,
                  "reference": "true"
                },
                "boundary": [
                  [
                    0,
                    0
                  ],
                  [
                    12,
                    0
                  ],
                  [
                    12,
                    9
                  ],
                  [
                    0,
                    9
                  ]
                ],
                "rooms": [
                  {
                    "name": "Kitchen",
                    "type": "kitchen",
                    "polygon": [
                      [
                        9,
                        6
                      ],
                      [
                        12,
                        6
                      ],
                      [
                        12,
                        9
                      ],
                      [
                        9,
                        9
                      ]
                    ]
                  },
                  {
                    "name": "Master bedroom",
                    "type": "master_bedroom",
                    "polygon": [
                      [
                        0,
                        5
                      ],
                      [
                        4,
                        5
                      ],
                      [
                        4,
                        9
                      ],
                      [
                        0,
                        9
                      ]
                    ]
                  },
                  {
                    "name": "Pooja",
                    "type": "pooja",
                    "polygon": [
                      [
                        10,
                        0
                      ],
                      [
                        12,
                        0
                      ],
                      [
                        12,
                        2
                      ],
                      [
                        10,
                        2
                      ]
                    ]
                  },
                  {
                    "name": "Entrance",
                    "type": "main_entrance",
                    "polygon": [
                      [
                        5,
                        0
                      ],
                      [
                        7,
                        0
                      ],
                      [
                        7,
                        1
                      ],
                      [
                        5,
                        1
                      ]
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "overall_score": {"type": "number"},
                        "score_status": {"type": "string"},
                        "score_basis": {"type": "object", "properties": {"coverage_pct": {"type": "number"}, "checks_assessed": {"type": "integer"}, "checks_not_assessed": {"type": "integer"}, "missing": {"type": "array", "items": {"type": "string"}}, "threshold_pct": {"type": "number"}, "explanation": {"type": "string"}}, "required": ["coverage_pct", "checks_assessed", "checks_not_assessed", "missing", "threshold_pct", "explanation"]},
                        "defect_count": {"type": "integer"},
                        "severe_defect_count": {"type": "integer"},
                        "scoring_method": {"type": "object", "properties": {"version": {"type": "string"}, "room_zones": {"type": "string"}, "room_score": {"type": "string"}, "partial_defects": {"type": "string"}, "zone_weighting": {"type": "string"}, "marma": {"type": "string"}}, "required": ["version", "room_zones", "room_score", "partial_defects", "zone_weighting", "marma"]},
                        "north": {"type": "object", "properties": {"reference": {"type": "string"}, "reading_degrees": {"type": "number"}, "declination_degrees": {"type": "null"}, "declination_source": {"type": "null"}, "declination_date": {"type": "null"}, "applied_degrees": {"type": "number"}, "frame": {"type": "string"}, "uncertainty_degrees": {"type": "number"}, "note": {"type": "string"}}, "required": ["reference", "reading_degrees", "declination_degrees", "declination_source", "declination_date", "applied_degrees", "frame", "uncertainty_degrees", "note"]},
                        "plot": {"type": "object", "properties": {"shape": {"type": "string"}, "quality": {"type": "string"}, "side_ratio": {"type": "number"}, "verdict": {"type": "string"}, "centre_inside_outline": {"type": "boolean"}, "area_sqm": {"type": "number"}, "area_sqft": {"type": "number"}}, "required": ["shape", "quality", "side_ratio", "verdict", "centre_inside_outline", "area_sqm", "area_sqft"]},
                        "category_scores": {"type": "object", "properties": {"career": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "marriage": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "wealth": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "spiritual": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "health": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "education": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "peace": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "children": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "property": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "romance": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "fame": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "foreign": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "travel": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "politics": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}, "arts": {"type": "object", "properties": {"score": {"type": "number"}, "drivers": {"type": "array", "items": {"type": "object", "properties": {"zone": {"type": "string"}, "weight": {"type": "number"}, "score": {"type": "number"}}, "required": ["zone", "weight", "score"]}}}, "required": ["score", "drivers"]}}, "required": ["career", "marriage", "wealth", "spiritual", "health", "education", "peace", "children", "property", "romance", "fame", "foreign", "travel", "politics", "arts"]},
                        "zones": {"type": "array", "items": {"type": "object", "properties": {"code": {"type": "string"}, "label": {"type": "string"}, "deity": {"type": "string"}, "element": {"type": "string"}, "planet": {"type": "string"}, "governs": {"type": "string"}, "favourable_for": {"type": "string"}, "unfavourable_for": {"type": "string"}, "area_pct": {"type": "number"}, "area_sqm": {"type": "number"}}, "required": ["code", "label", "deity", "element", "planet", "governs", "favourable_for", "unfavourable_for", "area_pct", "area_sqm"]}},
                        "rooms": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "type": {"type": "string"}, "zone": {"type": "string"}, "zone_shares": {"type": "object", "properties": {"ESE": {"type": "number"}, "SE": {"type": "number"}, "SSE": {"type": "number"}}, "required": ["ESE", "SE", "SSE"]}, "zones_within_uncertainty": {"type": "array", "items": {"type": "string"}}, "scored": {"type": "boolean"}, "score": {"type": "number"}, "ideal_zones": {"type": "array", "items": {"type": "string"}}, "good_zones": {"type": "array", "items": {"type": "string"}}, "avoid_zones": {"type": "array", "items": {"type": "string"}}, "verdict": {"type": "string"}, "area_sqm": {"type": "number"}}, "required": ["name", "type", "zone", "zone_shares", "zones_within_uncertainty", "scored", "score", "ideal_zones", "good_zones", "avoid_zones", "verdict", "area_sqm"]}},
                        "structures": {"type": "array"},
                        "brahmasthan": {"type": "object", "properties": {"score": {"type": "number"}, "openness_pct": {"type": "number"}, "severity": {"type": "string"}, "occupied_by": {"type": "array"}, "severe_occupants": {"type": "array"}, "courtyard_pct": {"type": "null"}, "area_sqm": {"type": "number"}, "verdict": {"type": "string"}}, "required": ["score", "openness_pct", "severity", "occupied_by", "severe_occupants", "courtyard_pct", "area_sqm", "verdict"]},
                        "marma": {"type": "object", "properties": {"points": {"type": "array", "items": {"type": "object", "properties": {"label": {"type": "string"}, "kind": {"type": "string"}, "obstructed_by": {"type": "array"}}, "required": ["label", "kind", "obstructed_by"]}}, "total": {"type": "integer"}, "obstructed": {"type": "integer"}, "obstructed_pct": {"type": "number"}}, "required": ["points", "total", "obstructed", "obstructed_pct"]},
                        "devatas": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "direction": {"type": "string"}, "element": {"type": "string"}, "planet": {"type": "string"}, "governs": {"type": "string"}, "ideal_activities": {"type": "null"}, "avoid_activities": {"type": "string"}, "keep_open": {"type": "boolean"}, "inside_outline_pct": {"type": "number"}}, "required": ["name", "direction", "element", "planet", "governs", "ideal_activities", "avoid_activities", "keep_open", "inside_outline_pct"]}},
                        "cut_zones": {"type": "array"},
                        "defects": {"type": "array", "items": {"type": "object", "properties": {"key": {"type": "string"}, "title": {"type": "string"}, "severity": {"type": "string"}, "has_remedy": {"type": "boolean"}}, "required": ["key", "title", "severity", "has_remedy"]}},
                        "remedies": {"type": "array", "items": {"type": "object", "properties": {"defect": {"type": "string"}, "severity": {"type": "string"}, "priority": {"type": "integer"}, "free": {"type": "array", "items": {"type": "object", "properties": {"action": {"type": "string"}, "effort": {"type": "string"}, "cost_inr": {"type": "integer"}}, "required": ["action", "effort", "cost_inr"]}}, "objects": {"type": "array", "items": {"type": "object", "properties": {"action": {"type": "string"}, "effort": {"type": "string"}, "cost_inr": {"type": "integer"}}, "required": ["action", "effort", "cost_inr"]}}, "structural": {"type": "array", "items": {"type": "object", "properties": {"action": {"type": "string"}, "effort": {"type": "string"}, "cost_inr": {"type": "integer"}}, "required": ["action", "effort", "cost_inr"]}}}, "required": ["defect", "severity", "priority", "free", "objects", "structural"]}},
                        "sacred_objects": {"type": "object", "properties": {"per_defect": {"type": "object", "properties": {"marma_hit": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "category": {"type": "string"}, "metal_or_material": {"type": "string"}, "ideal_zones": {"type": "array", "items": {"type": "string"}}, "addresses": {"type": "array", "items": {"type": "string"}}, "why": {"type": "string"}}, "required": ["id", "name", "category", "metal_or_material", "ideal_zones", "addresses", "why"]}}}, "required": ["marma_hit"]}, "per_category": {"type": "object", "properties": {"career": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "category": {"type": "string"}, "metal_or_material": {"type": "string"}, "ideal_zones": {"type": "array", "items": {"type": "string"}}, "addresses": {"type": "array", "items": {"type": "string"}}, "why": {"type": "string"}}, "required": ["id", "name", "category", "metal_or_material", "ideal_zones", "addresses", "why"]}}, "marriage": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "category": {"type": "string"}, "metal_or_material": {"type": "string"}, "ideal_zones": {"type": "array", "items": {"type": "string"}}, "addresses": {"type": "array", "items": {"type": "string"}}, "why": {"type": "string"}}, "required": ["id", "name", "category", "metal_or_material", "ideal_zones", "addresses", "why"]}}, "children": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "category": {"type": "string"}, "metal_or_material": {"type": "string"}, "ideal_zones": {"type": "array", "items": {"type": "string"}}, "addresses": {"type": "array", "items": {"type": "string"}}, "why": {"type": "string"}}, "required": ["id", "name", "category", "metal_or_material", "ideal_zones", "addresses", "why"]}}, "romance": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "category": {"type": "string"}, "metal_or_material": {"type": "string"}, "ideal_zones": {"type": "array", "items": {"type": "string"}}, "addresses": {"type": "array", "items": {"type": "string"}}, "why": {"type": "string"}}, "required": ["id", "name", "category", "metal_or_material", "ideal_zones", "addresses", "why"]}}, "fame": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "category": {"type": "string"}, "metal_or_material": {"type": "string"}, "ideal_zones": {"type": "array", "items": {"type": "string"}}, "addresses": {"type": "array", "items": {"type": "string"}}, "why": {"type": "string"}}, "required": ["id", "name", "category", "metal_or_material", "ideal_zones", "addresses", "why"]}}}, "required": ["career", "marriage", "children", "romance", "fame"]}, "basis": {"type": "string"}, "disclaimer": {"type": "string"}}, "required": ["per_defect", "per_category", "basis", "disclaimer"]},
                        "mantras": {"type": "object", "properties": {"per_defect": {"type": "object", "properties": {"marma_hit": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "deity": {"type": "string"}, "planet": {"type": "string"}, "addresses": {"type": "array", "items": {"type": "string"}}, "sanskrit_dev": {"type": "string"}, "iast": {"type": "string"}, "english_meaning": {"type": "string"}, "japa_count": {"type": "integer"}, "best_time": {"type": "string"}, "duration": {"type": "string"}}, "required": ["id", "deity", "planet", "addresses", "sanskrit_dev", "iast", "english_meaning", "japa_count", "best_time", "duration"]}}}, "required": ["marma_hit"]}, "per_category": {"type": "object", "properties": {"career": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "deity": {"type": "string"}, "planet": {"type": "string"}, "addresses": {"type": "array", "items": {"type": "string"}}, "sanskrit_dev": {"type": "string"}, "iast": {"type": "string"}, "english_meaning": {"type": "string"}, "japa_count": {"type": "integer"}, "best_time": {"type": "string"}, "duration": {"type": "string"}}, "required": ["id", "deity", "planet", "addresses", "sanskrit_dev", "iast", "english_meaning", "japa_count", "best_time", "duration"]}}, "marriage": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "deity": {"type": "string"}, "planet": {"type": "string"}, "addresses": {"type": "array", "items": {"type": "string"}}, "sanskrit_dev": {"type": "string"}, "iast": {"type": "string"}, "english_meaning": {"type": "string"}, "japa_count": {"type": "integer"}, "best_time": {"type": "string"}, "duration": {"type": "string"}}, "required": ["id", "deity", "planet", "addresses", "sanskrit_dev", "iast", "english_meaning", "japa_count", "best_time", "duration"]}}, "children": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "deity": {"type": "string"}, "planet": {"type": "string"}, "addresses": {"type": "array", "items": {"type": "string"}}, "sanskrit_dev": {"type": "string"}, "iast": {"type": "string"}, "english_meaning": {"type": "string"}, "japa_count": {"type": "integer"}, "best_time": {"type": "string"}, "duration": {"type": "string"}}, "required": ["id", "deity", "planet", "addresses", "sanskrit_dev", "iast", "english_meaning", "japa_count", "best_time", "duration"]}}, "romance": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "deity": {"type": "string"}, "planet": {"type": "string"}, "addresses": {"type": "array", "items": {"type": "string"}}, "sanskrit_dev": {"type": "string"}, "iast": {"type": "string"}, "english_meaning": {"type": "string"}, "japa_count": {"type": "integer"}, "best_time": {"type": "string"}, "duration": {"type": "string"}}, "required": ["id", "deity", "planet", "addresses", "sanskrit_dev", "iast", "english_meaning", "japa_count", "best_time", "duration"]}}, "fame": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "deity": {"type": "string"}, "planet": {"type": "string"}, "addresses": {"type": "array", "items": {"type": "string"}}, "sanskrit_dev": {"type": "string"}, "iast": {"type": "string"}, "english_meaning": {"type": "string"}, "japa_count": {"type": "integer"}, "best_time": {"type": "string"}, "duration": {"type": "string"}}, "required": ["id", "deity", "planet", "addresses", "sanskrit_dev", "iast", "english_meaning", "japa_count", "best_time", "duration"]}}, "foreign": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "deity": {"type": "string"}, "planet": {"type": "string"}, "addresses": {"type": "array", "items": {"type": "string"}}, "sanskrit_dev": {"type": "string"}, "iast": {"type": "string"}, "english_meaning": {"type": "string"}, "japa_count": {"type": "integer"}, "best_time": {"type": "string"}, "duration": {"type": "string"}}, "required": ["id", "deity", "planet", "addresses", "sanskrit_dev", "iast", "english_meaning", "japa_count", "best_time", "duration"]}}, "travel": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "deity": {"type": "string"}, "planet": {"type": "string"}, "addresses": {"type": "array", "items": {"type": "string"}}, "sanskrit_dev": {"type": "string"}, "iast": {"type": "string"}, "english_meaning": {"type": "string"}, "japa_count": {"type": "integer"}, "best_time": {"type": "string"}, "duration": {"type": "string"}}, "required": ["id", "deity", "planet", "addresses", "sanskrit_dev", "iast", "english_meaning", "japa_count", "best_time", "duration"]}}}, "required": ["career", "marriage", "children", "romance", "fame", "foreign", "travel"]}}, "required": ["per_defect", "per_category"]},
                        "checklist": {"type": "object", "properties": {"items": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "category": {"type": "string"}, "question": {"type": "string"}, "automatic": {"type": "boolean"}, "severity": {"type": "string"}, "status": {"type": "string"}}, "required": ["id", "category", "question", "automatic", "severity", "status"]}}, "passed": {"type": "integer"}, "failed": {"type": "integer"}, "unknown": {"type": "integer"}, "manual": {"type": "integer"}, "main_entrance": {"type": "object", "properties": {"chosen": {"type": "string"}, "zone": {"type": "string"}, "candidates": {"type": "integer"}, "basis": {"type": "string"}, "ambiguous": {"type": "boolean"}, "note": {"type": "string"}}, "required": ["chosen", "zone", "candidates", "basis", "ambiguous", "note"]}}, "required": ["items", "passed", "failed", "unknown", "manual", "main_entrance"]},
                        "orientation": {"type": "object", "properties": {"profile": {"type": "object", "properties": {"id": {"type": "string"}, "version": {"type": "string"}, "name": {"type": "string"}, "note": {"type": "string"}}, "required": ["id", "version", "name", "note"]}, "fixtures": {"type": "array"}, "counts": {"type": "object", "properties": {"best": {"type": "integer"}, "good": {"type": "integer"}, "acceptable": {"type": "integer"}, "caution": {"type": "integer"}, "avoid": {"type": "integer"}}, "required": ["best", "good", "acceptable", "caution", "avoid"]}, "to_change": {"type": "array"}}, "required": ["profile", "fixtures", "counts", "to_change"]},
                        "ayadi": {"type": "object", "properties": {"profile": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "basis": {"type": "string"}, "factors": {"type": "object", "properties": {"aya": {"type": "object", "properties": {"multiplier": {"type": "integer"}, "divisor": {"type": "integer"}}, "required": ["multiplier", "divisor"]}, "vyaya": {"type": "object", "properties": {"multiplier": {"type": "integer"}, "divisor": {"type": "integer"}}, "required": ["multiplier", "divisor"]}, "yoni": {"type": "object", "properties": {"multiplier": {"type": "integer"}, "divisor": {"type": "integer"}}, "required": ["multiplier", "divisor"]}, "nakshatra": {"type": "object", "properties": {"multiplier": {"type": "integer"}, "divisor": {"type": "integer"}}, "required": ["multiplier", "divisor"]}, "vara": {"type": "object", "properties": {"multiplier": {"type": "integer"}, "divisor": {"type": "integer"}}, "required": ["multiplier", "divisor"]}}, "required": ["aya", "vyaya", "yoni", "nakshatra", "vara"]}, "remainder_rule": {"type": "string"}, "omitted": {"type": "object", "properties": {"tithi": {"type": "string"}, "amsha": {"type": "string"}}, "required": ["tithi", "amsha"]}}, "required": ["id", "name", "basis", "factors", "remainder_rule", "omitted"]}, "unit": {"type": "object", "properties": {"id": {"type": "string"}, "metres": {"type": "number"}, "label": {"type": "string"}}, "required": ["id", "metres", "label"]}, "perimeter_m": {"type": "number"}, "perimeter_units": {"type": "number"}, "whole_units": {"type": "integer"}, "holds_between_m": {"type": "array", "items": {"type": "number"}}, "factors": {"type": "object", "properties": {"aya_vyaya": {"type": "object", "properties": {"aya": {"type": "integer"}, "vyaya": {"type": "integer"}, "favourable": {"type": "boolean"}, "reading": {"type": "string"}, "working": {"type": "array", "items": {"type": "string"}}}, "required": ["aya", "vyaya", "favourable", "reading", "working"]}, "yoni": {"type": "object", "properties": {"value": {"type": "integer"}, "name": {"type": "string"}, "direction": {"type": "string"}, "favourable": {"type": "boolean"}, "working": {"type": "array", "items": {"type": "string"}}}, "required": ["value", "name", "direction", "favourable", "working"]}, "nakshatra": {"type": "object", "properties": {"value": {"type": "integer"}, "name": {"type": "string"}, "working": {"type": "array", "items": {"type": "string"}}, "favourable": {"type": "null"}, "reading": {"type": "string"}}, "required": ["value", "name", "working", "favourable", "reading"]}, "vara": {"type": "object", "properties": {"value": {"type": "integer"}, "name": {"type": "string"}, "favourable": {"type": "boolean"}, "working": {"type": "array", "items": {"type": "string"}}}, "required": ["value", "name", "favourable", "working"]}}, "required": ["aya_vyaya", "yoni", "nakshatra", "vara"]}, "favourable_count": {"type": "integer"}, "judged_count": {"type": "integer"}, "all_favourable": {"type": "boolean"}, "nearest_favourable": {"type": "array", "items": {"type": "object", "properties": {"units": {"type": "integer"}, "perimeter_m": {"type": "number"}, "change_m": {"type": "number"}}, "required": ["units", "perimeter_m", "change_m"]}}, "note": {"type": "string"}}, "required": ["profile", "unit", "perimeter_m", "perimeter_units", "whole_units", "holds_between_m", "factors", "favourable_count", "judged_count", "all_favourable", "nearest_favourable", "note"]},
                        "duplicates_merged": {"type": "integer"},
                        "shape_warnings": {"type": "array"}
                      },
                      "required": [
                        "overall_score",
                        "score_status",
                        "score_basis",
                        "defect_count",
                        "severe_defect_count",
                        "scoring_method",
                        "north",
                        "plot",
                        "category_scores",
                        "zones",
                        "rooms",
                        "structures",
                        "brahmasthan",
                        "marma",
                        "devatas",
                        "cut_zones",
                        "defects",
                        "remedies",
                        "sacred_objects",
                        "mantras",
                        "checklist",
                        "orientation",
                        "ayadi",
                        "duplicates_merged",
                        "shape_warnings"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "overall_score": 61.0,
                        "score_status": "assessed",
                        "score_basis": {"coverage_pct": 61.1, "checks_assessed": 11, "checks_not_assessed": 7, "missing": ["a toilet or bathroom"], "threshold_pct": 50.0, "explanation": "Based on 61.1% of the automatic checks."},
                        "defect_count": 2,
                        "severe_defect_count": 1,
                        "scoring_method": {"version": "2.1", "room_zones": "area share in each of the 16 zones; the primary zone holds the most floor", "room_score": "rule score per zone weighted by floor share; parts under 15% of the room are left out", "partial_defects": "a part of 25% or more in a zone to avoid is reported as a defect of its own", "zone_weighting": "rooms in a zone are weighted by the square root of their floor there, so a larger room counts for more without drowning a small one", "marma": "a marma point is obstructed by a structure, by a toilet, stair or entrance on it, or by a room's wall across it — not by the floor of an ordinary room"},
                        "north": {"reference": "true", "reading_degrees": 0.0, "declination_degrees": null, "declination_source": null, "declination_date": null, "applied_degrees": 0.0, "frame": "true", "uncertainty_degrees": 1.0, "note": "Oriented to true north, as recorded. No declination applied."},
                        "plot": {"shape": "rectangular", "quality": "best", "side_ratio": 1.33, "verdict": "Rectangular plot — most auspicious. Ideal sides ratio 1:1.2 to 1:1.6.", "centre_inside_outline": true, "area_sqm": 108.0, "area_sqft": 1162.5},
                        "category_scores": {"career": {"score": 61.0, "drivers": [{"zone": "N", "weight": 0.35, "score": 70.0}]}, "marriage": {"score": 59.0, "drivers": [{"zone": "NW", "weight": 0.3, "score": 50.0}]}, "wealth": {"score": 70.5, "drivers": [{"zone": "N", "weight": 0.4, "score": 70.0}]}, "spiritual": {"score": 68.0, "drivers": [{"zone": "NE", "weight": 0.4, "score": 70.0}]}, "health": {"score": 73.0, "drivers": [{"zone": "E", "weight": 0.3, "score": 50.0}]}, "education": {"score": 68.5, "drivers": [{"zone": "NE", "weight": 0.3, "score": 70.0}]}, "peace": {"score": 79.0, "drivers": [{"zone": "Center", "weight": 0.4, "score": 100.0}]}, "children": {"score": 54.0, "drivers": [{"zone": "W", "weight": 0.3, "score": 50.0}]}, "property": {"score": 65.5, "drivers": [{"zone": "SW", "weight": 0.4, "score": 70.0}]}, "romance": {"score": 55.0, "drivers": [{"zone": "NW", "weight": 0.3, "score": 50.0}]}, "fame": {"score": 60.5, "drivers": [{"zone": "E", "weight": 0.3, "score": 50.0}]}, "foreign": {"score": 54.0, "drivers": [{"zone": "NW", "weight": 0.3, "score": 50.0}]}, "travel": {"score": 54.0, "drivers": [{"zone": "NW", "weight": 0.3, "score": 50.0}]}, "politics": {"score": 71.0, "drivers": [{"zone": "N", "weight": 0.3, "score": 70.0}]}, "arts": {"score": 66.5, "drivers": [{"zone": "NW", "weight": 0.3, "score": 50.0}]}},
                        "zones": [{"code": "N", "label": "North", "deity": "Kubera", "element": "Water", "planet": "Mercury", "governs": "Wealth, career growth, opportunity flow", "favourable_for": "Cash safe, main entrance, study room, water sources", "unfavourable_for": "Toilets, kitchens, heavy clutter", "area_pct": 3.73, "area_sqm": 4.03}],
                        "rooms": [{"name": "Kitchen", "type": "kitchen", "zone": "ESE", "zone_shares": {"ESE": 0.5023, "SE": 0.4977, "SSE": 0.0}, "zones_within_uncertainty": ["SE"], "scored": true, "score": 82.4, "ideal_zones": ["SE"], "good_zones": ["NW"], "avoid_zones": ["NE"], "verdict": "Kitchen in ESE (50% of its floor; the rest in SE 50%) — sub-optimal. Closer to ideal would be SE. It sits close to a zone line: within the stated compass uncertainty it could read as SE.", "area_sqm": 9.0}],
                        "structures": [],
                        "brahmasthan": {"score": 100.0, "openness_pct": 100.0, "severity": "best", "occupied_by": [], "severe_occupants": [], "courtyard_pct": null, "area_sqm": 12.0, "verdict": "Brahmasthan is fully open — excellent."},
                        "marma": {"points": [{"label": "Brahma-NW corner", "kind": "major", "obstructed_by": []}], "total": 12, "obstructed": 2, "obstructed_pct": 16.7},
                        "devatas": [{"name": "Roga", "direction": "NW corner", "element": "Air", "planet": "Saturn", "governs": "Illness karma", "ideal_activities": null, "avoid_activities": "Bedroom", "keep_open": false, "inside_outline_pct": 100.0}],
                        "cut_zones": [],
                        "defects": [{"key": "marma_hit", "title": "Marma point at Brahma-SW corner obstructed by Master bedroom (wall)", "severity": "severe", "has_remedy": false}],
                        "remedies": [{"defect": "Marma point at Brahma-SW corner obstructed by Master bedroom (wall)", "severity": "severe", "priority": 1, "free": [{"action": "Cover the marma point with a circular brass plate", "effort": "low", "cost_inr": 400}], "objects": [{"action": "Place a small crystal cluster on the marma point", "effort": "low", "cost_inr": 300}], "structural": [{"action": "Relocate the offending wall/pillar away from the marma", "effort": "very high", "cost_inr": 50000}]}],
                        "sacred_objects": {"per_defect": {"marma_hit": [{"id": "vastu_purusha_yantra", "name": "Vastu Purusha Yantra", "category": "yantra", "metal_or_material": "copper", "ideal_zones": ["Center"], "addresses": ["brahmasthan_blocked"], "why": "Energetic seal restoring balance after structural defect."}]}, "per_category": {"career": [{"id": "navagraha_yantra", "name": "Navagraha Yantra", "category": "yantra", "metal_or_material": "copper / panchaloha", "ideal_zones": ["NE"], "addresses": ["health"], "why": "Pacifies the 9 planetary energies — useful when dasha lord is afflicted."}], "marriage": [{"id": "sri_yantra", "name": "Sri Yantra (Sri Chakra)", "category": "yantra", "metal_or_material": "copper / crystal", "ideal_zones": ["NE"], "addresses": ["wealth"], "why": "Geometric synthesis of all forms; activates all chakras simultaneously."}], "children": [{"id": "lakshmi_ganesh", "name": "Lakshmi + Ganesh pair", "category": "idol", "metal_or_material": "silver / brass", "ideal_zones": ["NE"], "addresses": ["wealth"], "why": "Most common household auspicious pair."}], "romance": [{"id": "krishna_radha", "name": "Krishna-Radha", "category": "idol", "metal_or_material": "brass", "ideal_zones": ["NE"], "addresses": ["marriage"], "why": "Divine couple — supports relationship harmony."}], "fame": [{"id": "sri_yantra", "name": "Sri Yantra (Sri Chakra)", "category": "yantra", "metal_or_material": "copper / crystal", "ideal_zones": ["NE"], "addresses": ["wealth"], "why": "Geometric synthesis of all forms; activates all chakras simultaneously."}]}, "basis": "traditional", "disclaimer": "These are traditional Vastu remedies drawn from classical and modern practice. They are symbolic, not physical treatments: none of them has been shown to change health, wealth or any measurable property of the building, and this software does not measure energy of any kind."},
                        "mantras": {"per_defect": {"marma_hit": [{"id": "mahamrityunjaya", "deity": "Shiva", "planet": "Saturn / Mars", "addresses": ["health"], "sanskrit_dev": "ॐ त्र्यम्बकं यजामहे सुगन्धिं पुष्टिवर्धनम् । उर्वारुकमिव बन्धनान्मृत्योर्मुक्षीय माऽमृतात् ॥", "iast": "Oṁ tryambakaṁ yajāmahe sugandhiṁ puṣṭivardhanam | urvārukam iva bandhanān mṛtyor mukṣīya mā'mṛtāt ||", "english_meaning": "We worship the three-eyed Shiva who nourishes all. May He liberate us from death, like a ripe cucumber is freed from its stem, and grant immortality.", "japa_count": 108, "best_time": "Brahma muhurta + sunset", "duration": "21, 41 or 108 days during illness"}]}, "per_category": {"career": [{"id": "ganesha_beej", "deity": "Ganesha", "planet": "Mercury", "addresses": ["career"], "sanskrit_dev": "ॐ गं गणपतये नमः", "iast": "Oṁ gaṁ gaṇapataye namaḥ", "english_meaning": "Salutations to Ganapati, remover of obstacles.", "japa_count": 108, "best_time": "Daily before any new initiative", "duration": "108 daily, ongoing"}], "marriage": [{"id": "lakshmi_beej", "deity": "Mahalakshmi", "planet": "Venus", "addresses": ["wealth"], "sanskrit_dev": "ॐ श्रीं ह्रीं श्रीं कमले कमलालये प्रसीद प्रसीद ॐ श्रीं ह्रीं श्रीं महालक्ष्म्यै नमः", "iast": "Oṁ śrīṁ hrīṁ śrīṁ kamale kamalālaye prasīda prasīda oṁ śrīṁ hrīṁ śrīṁ mahālakṣmyai namaḥ", "english_meaning": "Salutations to the lotus-dweller Mahalakshmi; please be pleased and dwell in our home.", "japa_count": 108, "best_time": "Friday evening + daily mornings", "duration": "Every Friday for 21 weeks"}], "children": [{"id": "santan_gopal", "deity": "Bal-Krishna", "planet": "Moon", "addresses": ["children"], "sanskrit_dev": "ॐ देवकीसुत गोविन्द वासुदेव जगत्पते । देहि मे तनयं कृष्ण त्वामहं शरणं गतः ॥", "iast": "Oṁ devakīsuta govinda vāsudeva jagatpate | dehi me tanayaṁ kṛṣṇa tvām ahaṁ śaraṇaṁ gataḥ ||", "english_meaning": "Salutations to Krishna, son of Devaki; grant me a child — I take refuge in you.", "japa_count": 108, "best_time": "Wednesday + Ashtami day", "duration": "41 days"}], "romance": [{"id": "swayamvara_parvati", "deity": "Swayamvara Parvati", "planet": "Venus + Moon", "addresses": ["marriage"], "sanskrit_dev": "ॐ ह्रीं योगिनी योगिनी योगेश्वरी योगभयङ्करी सकल स्थावरजङ्गमस्य मुखहृदयं मम वशमाकर्षय आकर्षय स्वाहा", "iast": "Oṁ hrīṁ yoginī yoginī yogeśvarī yogabhayaṅkarī sakala-sthāvara-jaṅgamasya mukha-hṛdayaṁ mama vaśam ākarṣaya ākarṣaya svāhā", "english_meaning": "Goddess Yogini, mistress of yoga, may you bring forth the suitable life partner to my heart.", "japa_count": 108, "best_time": "Tuesday + Friday evenings facing N", "duration": "21, 41 or 108 days continuously"}], "fame": [{"id": "gayatri", "deity": "Surya / Savitr", "planet": "Sun", "addresses": ["health"], "sanskrit_dev": "ॐ भूर्भुवः स्वः । तत्सवितुर्वरेण्यं भर्गो देवस्य धीमहि । धियो यो नः प्रचोदयात् ॥", "iast": "Oṁ bhūr bhuvaḥ svaḥ | tat savitur vareṇyaṁ bhargo devasya dhīmahi | dhiyo yo naḥ pracodayāt ||", "english_meaning": "We meditate on the most-excellent radiance of the sun-god Savitr. May he inspire our intelligence.", "japa_count": 108, "best_time": "Sunrise, noon, sunset (three sandhyas)", "duration": "Daily, lifelong"}], "foreign": [{"id": "rahu_beej", "deity": "Rahu", "planet": "Rahu", "addresses": ["foreign"], "sanskrit_dev": "ॐ भ्रां भ्रीं भ्रौं सः राहवे नमः", "iast": "Oṁ bhrāṁ bhrīṁ bhrauṁ saḥ rāhave namaḥ", "english_meaning": "Beeja salutations to Rahu (lord of foreign lands and unconventional gains).", "japa_count": 108, "best_time": "Saturday evening facing SW", "duration": "18 weeks (Rahu's astrological 18-yr cycle)"}], "travel": [{"id": "rahu_beej", "deity": "Rahu", "planet": "Rahu", "addresses": ["foreign"], "sanskrit_dev": "ॐ भ्रां भ्रीं भ्रौं सः राहवे नमः", "iast": "Oṁ bhrāṁ bhrīṁ bhrauṁ saḥ rāhave namaḥ", "english_meaning": "Beeja salutations to Rahu (lord of foreign lands and unconventional gains).", "japa_count": 108, "best_time": "Saturday evening facing SW", "duration": "18 weeks (Rahu's astrological 18-yr cycle)"}]}},
                        "checklist": {"items": [{"id": "plot_shape", "category": "Plot", "question": "Is the plot rectangular or square?", "automatic": true, "severity": "high", "status": "pass"}], "passed": 9, "failed": 2, "unknown": 7, "manual": 32, "main_entrance": {"chosen": "Entrance", "zone": "N", "candidates": 1, "basis": "the only door marked", "ambiguous": false, "note": "Judged on Entrance — the only door marked."}},
                        "orientation": {"profile": {"id": "common_practice_8dir", "version": "1.0", "name": "Common modern Vastu practice, eight directions", "note": "Reported beside the score, not in it. Practitioners differ on some directions; the verdicts below are the widely shared ones."}, "fixtures": [], "counts": {"best": 0, "good": 0, "acceptable": 0, "caution": 0, "avoid": 0}, "to_change": []},
                        "ayadi": {"profile": {"id": "mayamata_perimeter_5", "name": "Ayadi — Mayamata tradition, perimeter method (five factors)", "basis": "perimeter, in whole units of the chosen measure", "factors": {"aya": {"multiplier": 8, "divisor": 12}, "vyaya": {"multiplier": 9, "divisor": 10}, "yoni": {"multiplier": 3, "divisor": 8}, "nakshatra": {"multiplier": 8, "divisor": 27}, "vara": {"multiplier": 9, "divisor": 7}}, "remainder_rule": "a remainder of 0 is counted as the divisor itself", "omitted": {"tithi": "multipliers and favourable sets differ between texts", "amsha": "multipliers and named results differ between texts"}}, "unit": {"id": "kishku_hasta", "metres": 0.4572, "label": "Kishku hasta — 24 angulas of ¾ inch (45.72 cm)"}, "perimeter_m": 42.0, "perimeter_units": 91.864, "whole_units": 91, "holds_between_m": [41.605], "factors": {"aya_vyaya": {"aya": 8, "vyaya": 9, "favourable": false, "reading": "expenditure is not exceeded by income", "working": ["91 × 8 = 728; ÷ 12 leaves 8"]}, "yoni": {"value": 1, "name": "Dhvaja", "direction": "E", "favourable": true, "working": ["91 × 3 = 273; ÷ 8 leaves 1"]}, "nakshatra": {"value": 26, "name": "Uttara Bhadrapada", "working": ["91 × 8 = 728; ÷ 27 leaves 26"], "favourable": null, "reading": "needs the owner's birth nakshatra"}, "vara": {"value": 7, "name": "Saturday", "favourable": false, "working": ["91 × 9 = 819; ÷ 7 leaves 7"]}}, "favourable_count": 1, "judged_count": 3, "all_favourable": false, "nearest_favourable": [{"units": 93, "perimeter_m": 42.53, "change_m": 0.53}], "note": "Traditional calculation: a design aid used by practitioners, not a measurement of the building. Traditions differ in unit and method; this is one named profile, shown with its working."},
                        "duplicates_merged": 0,
                        "shape_warnings": []
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vastu/vastu-heatmap": {
      "post": {
        "operationId": "vastu-heatmap",
        "summary": "Vastu Category Heatmap",
        "description": "Sampled points across the floor, each scored for one life goal with its zone.",
        "tags": [
          "vastu"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/HeatmapInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "units": "m",
                "north": {
                  "degrees": 0,
                  "reference": "true"
                },
                "boundary": [
                  [
                    0,
                    0
                  ],
                  [
                    12,
                    0
                  ],
                  [
                    12,
                    9
                  ],
                  [
                    0,
                    9
                  ]
                ],
                "rooms": [
                  {
                    "name": "Kitchen",
                    "type": "kitchen",
                    "polygon": [
                      [
                        9,
                        6
                      ],
                      [
                        12,
                        6
                      ],
                      [
                        12,
                        9
                      ],
                      [
                        9,
                        9
                      ]
                    ]
                  },
                  {
                    "name": "Master bedroom",
                    "type": "master_bedroom",
                    "polygon": [
                      [
                        0,
                        5
                      ],
                      [
                        4,
                        5
                      ],
                      [
                        4,
                        9
                      ],
                      [
                        0,
                        9
                      ]
                    ]
                  },
                  {
                    "name": "Pooja",
                    "type": "pooja",
                    "polygon": [
                      [
                        10,
                        0
                      ],
                      [
                        12,
                        0
                      ],
                      [
                        12,
                        2
                      ],
                      [
                        10,
                        2
                      ]
                    ]
                  },
                  {
                    "name": "Entrance",
                    "type": "main_entrance",
                    "polygon": [
                      [
                        5,
                        0
                      ],
                      [
                        7,
                        0
                      ],
                      [
                        7,
                        1
                      ],
                      [
                        5,
                        1
                      ]
                    ]
                  }
                ],
                "category": "career"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "category": {"type": "string"},
                        "grid_size": {"type": "integer"},
                        "bbox": {"type": "array", "items": {"type": "number"}},
                        "samples": {"type": "array", "items": {"type": "object", "properties": {"point": {"type": "array", "items": {"type": "number"}}, "score": {"type": "integer"}, "zone": {"type": "string"}}, "required": ["point", "score", "zone"]}},
                        "basis": {"type": "string"}
                      },
                      "required": [
                        "category",
                        "grid_size",
                        "bbox",
                        "samples",
                        "basis"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "category": "career",
                        "grid_size": 24,
                        "bbox": [0.0, 0.0, 12.0],
                        "samples": [{"point": [0.0, 0.0], "score": 75, "zone": "NW"}, {"point": [0.5, 0.0], "score": 75, "zone": "NW"}, {"point": [1.0, 0.0], "score": 75, "zone": "NW"}],
                        "basis": "Derived from the Vastu zone and room scores, not measured. Nothing in this analysis reads a physical field."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vastu/vastu-compare": {
      "post": {
        "operationId": "vastu-compare",
        "summary": "Compare Two Properties",
        "description": "Two plans analysed side by side: each one's scores and defects, the winner per category with reasons, and the overall winner.",
        "tags": [
          "vastu"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VastuCompareInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "name_a": "Corner flat",
                "name_b": "Garden flat",
                "a": {
                  "units": "m",
                  "north": {
                    "degrees": 0,
                    "reference": "true"
                  },
                  "boundary": [
                    [
                      0,
                      0
                    ],
                    [
                      12,
                      0
                    ],
                    [
                      12,
                      9
                    ],
                    [
                      0,
                      9
                    ]
                  ],
                  "rooms": [
                    {
                      "name": "Kitchen",
                      "type": "kitchen",
                      "polygon": [
                        [9, 6],
                        [12, 6],
                        [12, 9],
                        [9, 9]
                      ]
                    },
                    {
                      "name": "Master bedroom",
                      "type": "master_bedroom",
                      "polygon": [
                        [0, 5],
                        [4, 5],
                        [4, 9],
                        [0, 9]
                      ]
                    },
                    {
                      "name": "Pooja",
                      "type": "pooja",
                      "polygon": [
                        [10, 0],
                        [12, 0],
                        [12, 2],
                        [10, 2]
                      ]
                    },
                    {
                      "name": "Entrance",
                      "type": "main_entrance",
                      "polygon": [
                        [5, 0],
                        [7, 0],
                        [7, 1],
                        [5, 1]
                      ]
                    }
                  ]
                },
                "b": {
                  "units": "m",
                  "north": {
                    "degrees": 180,
                    "reference": "true"
                  },
                  "boundary": [
                    [
                      0,
                      0
                    ],
                    [
                      12,
                      0
                    ],
                    [
                      12,
                      9
                    ],
                    [
                      0,
                      9
                    ]
                  ],
                  "rooms": [
                    {
                      "name": "Kitchen",
                      "type": "kitchen",
                      "polygon": [
                        [9, 6],
                        [12, 6],
                        [12, 9],
                        [9, 9]
                      ]
                    },
                    {
                      "name": "Master bedroom",
                      "type": "master_bedroom",
                      "polygon": [
                        [0, 5],
                        [4, 5],
                        [4, 9],
                        [0, 9]
                      ]
                    },
                    {
                      "name": "Pooja",
                      "type": "pooja",
                      "polygon": [
                        [10, 0],
                        [12, 0],
                        [12, 2],
                        [10, 2]
                      ]
                    },
                    {
                      "name": "Entrance",
                      "type": "main_entrance",
                      "polygon": [
                        [5, 0],
                        [7, 0],
                        [7, 1],
                        [5, 1]
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name_a": {"type": "string"},
                        "name_b": {"type": "string"},
                        "a": {"type": "object", "properties": {"overall_score": {"type": "number"}, "score_status": {"type": "string"}, "coverage_pct": {"type": "number"}, "defect_count": {"type": "integer"}, "severe_defect_count": {"type": "integer"}, "brahmasthan_score": {"type": "number"}, "brahmasthan_openness_pct": {"type": "number"}, "plot_shape": {"type": "string"}}, "required": ["overall_score", "score_status", "coverage_pct", "defect_count", "severe_defect_count", "brahmasthan_score", "brahmasthan_openness_pct", "plot_shape"]},
                        "b": {"type": "object", "properties": {"overall_score": {"type": "number"}, "score_status": {"type": "string"}, "coverage_pct": {"type": "number"}, "defect_count": {"type": "integer"}, "severe_defect_count": {"type": "integer"}, "brahmasthan_score": {"type": "number"}, "brahmasthan_openness_pct": {"type": "number"}, "plot_shape": {"type": "string"}}, "required": ["overall_score", "score_status", "coverage_pct", "defect_count", "severe_defect_count", "brahmasthan_score", "brahmasthan_openness_pct", "plot_shape"]},
                        "overall_winner": {"type": "string"},
                        "verdict": {"type": "string"},
                        "categories": {"type": "array", "items": {"type": "object", "properties": {"category": {"type": "string"}, "a_score": {"type": "number"}, "b_score": {"type": "number"}, "difference": {"type": "number"}, "winner": {"type": "string"}, "reason": {"type": "null"}}, "required": ["category", "a_score", "b_score", "difference", "winner", "reason"]}},
                        "category_summary": {"type": "object", "properties": {"a_wins": {"type": "integer"}, "b_wins": {"type": "integer"}, "ties": {"type": "integer"}, "not_comparable": {"type": "integer"}, "total": {"type": "integer"}, "compared": {"type": "integer"}}, "required": ["a_wins", "b_wins", "ties", "not_comparable", "total", "compared"]},
                        "provisional": {"type": "boolean"},
                        "scoring_method": {"type": "object", "properties": {"a": {"type": "string"}, "b": {"type": "string"}}, "required": ["a", "b"]}
                      },
                      "required": [
                        "name_a",
                        "name_b",
                        "a",
                        "b",
                        "overall_winner",
                        "verdict",
                        "categories",
                        "category_summary",
                        "provisional",
                        "scoring_method"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "name_a": "Corner flat",
                        "name_b": "Garden flat",
                        "a": {"overall_score": 61.0, "score_status": "assessed", "coverage_pct": 61.1, "defect_count": 2, "severe_defect_count": 1, "brahmasthan_score": 100.0, "brahmasthan_openness_pct": 100.0, "plot_shape": "rectangular"},
                        "b": {"overall_score": 42.7, "score_status": "assessed", "coverage_pct": 61.1, "defect_count": 6, "severe_defect_count": 4, "brahmasthan_score": 100.0, "brahmasthan_openness_pct": 100.0, "plot_shape": "rectangular"},
                        "overall_winner": "a",
                        "verdict": "Corner flat scores higher overall (61/100 vs 42.7/100 — margin 18.3). Corner flat is ahead in 15 of the 15 categories both plans were scored on. Brahmasthan openness: Corner flat 100%, Garden flat 100%. Defects: Corner flat 2 (1 severe), Garden flat 6 (4 severe).",
                        "categories": [{"category": "arts", "a_score": 66.5, "b_score": 63.7, "difference": 2.8, "winner": "a", "reason": null}, {"category": "career", "a_score": 61.0, "b_score": 50.0, "difference": 11.0, "winner": "a", "reason": null}, {"category": "children", "a_score": 54.0, "b_score": 53.0, "difference": 1.0, "winner": "a", "reason": null}],
                        "category_summary": {"a_wins": 15, "b_wins": 0, "ties": 0, "not_comparable": 0, "total": 15, "compared": 15},
                        "provisional": false,
                        "scoring_method": {"a": "2.1", "b": "2.1"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vastu/vastu-ayadi": {
      "post": {
        "operationId": "vastu-ayadi",
        "summary": "Ayadi Calculation",
        "description": "Ayadi factors (aya-vyaya, yoni, nakshatra, vara) for given dimensions, how many are favourable, and the nearest all-favourable size.",
        "tags": [
          "vastu"
        ],
        "x-credits": 1,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AyadiInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "length_m": 12,
                "breadth_m": 9,
                "unit": "kishku_hasta",
                "owner_nakshatra": "Rohini"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "profile": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "basis": {"type": "string"}, "factors": {"type": "object", "properties": {"aya": {"type": "object", "properties": {"multiplier": {"type": "integer"}, "divisor": {"type": "integer"}}, "required": ["multiplier", "divisor"]}, "vyaya": {"type": "object", "properties": {"multiplier": {"type": "integer"}, "divisor": {"type": "integer"}}, "required": ["multiplier", "divisor"]}, "yoni": {"type": "object", "properties": {"multiplier": {"type": "integer"}, "divisor": {"type": "integer"}}, "required": ["multiplier", "divisor"]}, "nakshatra": {"type": "object", "properties": {"multiplier": {"type": "integer"}, "divisor": {"type": "integer"}}, "required": ["multiplier", "divisor"]}, "vara": {"type": "object", "properties": {"multiplier": {"type": "integer"}, "divisor": {"type": "integer"}}, "required": ["multiplier", "divisor"]}}, "required": ["aya", "vyaya", "yoni", "nakshatra", "vara"]}, "remainder_rule": {"type": "string"}, "omitted": {"type": "object", "properties": {"tithi": {"type": "string"}, "amsha": {"type": "string"}}, "required": ["tithi", "amsha"]}}, "required": ["id", "name", "basis", "factors", "remainder_rule", "omitted"]},
                        "unit": {"type": "object", "properties": {"id": {"type": "string"}, "metres": {"type": "number"}, "label": {"type": "string"}}, "required": ["id", "metres", "label"]},
                        "perimeter_m": {"type": "number"},
                        "perimeter_units": {"type": "number"},
                        "whole_units": {"type": "integer"},
                        "holds_between_m": {"type": "array", "items": {"type": "number"}},
                        "factors": {"type": "object", "properties": {"aya_vyaya": {"type": "object", "properties": {"aya": {"type": "integer"}, "vyaya": {"type": "integer"}, "favourable": {"type": "boolean"}, "reading": {"type": "string"}, "working": {"type": "array", "items": {"type": "string"}}}, "required": ["aya", "vyaya", "favourable", "reading", "working"]}, "yoni": {"type": "object", "properties": {"value": {"type": "integer"}, "name": {"type": "string"}, "direction": {"type": "string"}, "favourable": {"type": "boolean"}, "working": {"type": "array", "items": {"type": "string"}}}, "required": ["value", "name", "direction", "favourable", "working"]}, "nakshatra": {"type": "object", "properties": {"value": {"type": "integer"}, "name": {"type": "string"}, "working": {"type": "array", "items": {"type": "string"}}, "owner": {"type": "string"}, "tara": {"type": "string"}, "favourable": {"type": "boolean"}, "reading": {"type": "string"}}, "required": ["value", "name", "working", "owner", "tara", "favourable", "reading"]}, "vara": {"type": "object", "properties": {"value": {"type": "integer"}, "name": {"type": "string"}, "favourable": {"type": "boolean"}, "working": {"type": "array", "items": {"type": "string"}}}, "required": ["value", "name", "favourable", "working"]}}, "required": ["aya_vyaya", "yoni", "nakshatra", "vara"]},
                        "favourable_count": {"type": "integer"},
                        "judged_count": {"type": "integer"},
                        "all_favourable": {"type": "boolean"},
                        "nearest_favourable": {"type": "array", "items": {"type": "object", "properties": {"units": {"type": "integer"}, "perimeter_m": {"type": "number"}, "change_m": {"type": "number"}}, "required": ["units", "perimeter_m", "change_m"]}},
                        "note": {"type": "string"}
                      },
                      "required": [
                        "profile",
                        "unit",
                        "perimeter_m",
                        "perimeter_units",
                        "whole_units",
                        "holds_between_m",
                        "factors",
                        "favourable_count",
                        "judged_count",
                        "all_favourable",
                        "nearest_favourable",
                        "note"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "profile": {"id": "mayamata_perimeter_5", "name": "Ayadi — Mayamata tradition, perimeter method (five factors)", "basis": "perimeter, in whole units of the chosen measure", "factors": {"aya": {"multiplier": 8, "divisor": 12}, "vyaya": {"multiplier": 9, "divisor": 10}, "yoni": {"multiplier": 3, "divisor": 8}, "nakshatra": {"multiplier": 8, "divisor": 27}, "vara": {"multiplier": 9, "divisor": 7}}, "remainder_rule": "a remainder of 0 is counted as the divisor itself", "omitted": {"tithi": "multipliers and favourable sets differ between texts", "amsha": "multipliers and named results differ between texts"}},
                        "unit": {"id": "kishku_hasta", "metres": 0.4572, "label": "Kishku hasta — 24 angulas of ¾ inch (45.72 cm)"},
                        "perimeter_m": 42.0,
                        "perimeter_units": 91.864,
                        "whole_units": 91,
                        "holds_between_m": [41.605, 42.062],
                        "factors": {"aya_vyaya": {"aya": 8, "vyaya": 9, "favourable": false, "reading": "expenditure is not exceeded by income", "working": ["91 × 8 = 728; ÷ 12 leaves 8", "91 × 9 = 819; ÷ 10 leaves 9"]}, "yoni": {"value": 1, "name": "Dhvaja", "direction": "E", "favourable": true, "working": ["91 × 3 = 273; ÷ 8 leaves 1"]}, "nakshatra": {"value": 26, "name": "Uttara Bhadrapada", "working": ["91 × 8 = 728; ÷ 27 leaves 26"], "owner": "Rohini", "tara": "Pratyak", "favourable": false, "reading": "Pratyak tara from the owner's birth star (Rohini)"}, "vara": {"value": 7, "name": "Saturday", "favourable": false, "working": ["91 × 9 = 819; ÷ 7 leaves 7"]}},
                        "favourable_count": 1,
                        "judged_count": 4,
                        "all_favourable": false,
                        "nearest_favourable": [{"units": 87, "perimeter_m": 40.224, "change_m": -1.776}, {"units": 97, "perimeter_m": 44.358, "change_m": 2.358}, {"units": 85, "perimeter_m": 39.309, "change_m": -2.691}],
                        "note": "Traditional calculation: a design aid used by practitioners, not a measurement of the building. Traditions differ in unit and method; this is one named profile, shown with its working."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vastu/vastu-combined-with-city": {
      "post": {
        "operationId": "vastu-combined-with-city",
        "summary": "Vastu + City Score",
        "description": "Combines Vastu category scores with a city's location-astrology scores: a combined score and diagnosis per category, and an average.",
        "tags": [
          "vastu"
        ],
        "x-credits": 1,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CombinedInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "vastu_scores": {
                  "career": 63.3,
                  "wealth": 66.7,
                  "marriage": 61.9
                },
                "location_scores": {
                  "career": 82.4,
                  "wealth": 48.0,
                  "marriage": 71.5
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "categories": {"type": "array", "items": {"type": "object", "properties": {"category": {"type": "string"}, "vastu_score": {"type": "number"}, "location_score": {"type": "number"}, "combined_score": {"type": "number"}, "diagnosis": {"type": "string"}}, "required": ["category", "vastu_score", "location_score", "combined_score", "diagnosis"]}},
                        "not_combined": {"type": "array"},
                        "average_combined_score": {"type": "number"},
                        "summary": {"type": "string"},
                        "method": {"type": "string"}
                      },
                      "required": [
                        "categories",
                        "not_combined",
                        "average_combined_score",
                        "summary",
                        "method"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "categories": [{"category": "career", "vastu_score": 63.3, "location_score": 82.4, "combined_score": 52.2, "diagnosis": "City helps compensate for the house"}, {"category": "marriage", "vastu_score": 61.9, "location_score": 71.5, "combined_score": 44.3, "diagnosis": "Balanced — both house and city aligned"}, {"category": "wealth", "vastu_score": 66.7, "location_score": 48.0, "combined_score": 32.0, "diagnosis": "House is good — your CITY is the bottleneck"}],
                        "not_combined": [],
                        "average_combined_score": 42.8,
                        "summary": "Combined fit avg 42.8/100 — strongest in career, weakest in wealth. Both house and city must align for life-areas to bloom; categories where they DON'T align (wealth) suffer disproportionately.",
                        "method": "Combined score = Vastu score x location score / 100, per category."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vastu/vastu-auspicious-times": {
      "post": {
        "operationId": "vastu-auspicious-times",
        "summary": "Remedy Timing",
        "description": "Auspicious days in a range for carrying out a Vastu remedy, optionally for a deity: each day's tier, score, reasons, nakshatra and Brahma and Abhijit muhurta.",
        "tags": [
          "vastu"
        ],
        "x-credits": 1,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AuspiciousInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "start_date": "2026-10-14",
                "end_date": "2026-10-20",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "deity": "Ganesha"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "days": {"type": "array", "items": {"type": "object", "properties": {"date": {"type": "string"}, "weekday": {"type": "string"}, "tier": {"type": "string"}, "score": {"type": "integer"}, "reasons": {"type": "array", "items": {"type": "string"}}, "nakshatra_at_sunrise": {"type": "string"}, "sunrise": {"type": "string"}, "sunset": {"type": "string"}, "brahma_muhurta": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "abhijit_muhurta": {"type": "object", "properties": {"start": {"type": "string"}, "end": {"type": "string"}}, "required": ["start", "end"]}, "utc_offset_hours": {"type": "number"}}, "required": ["date", "weekday", "tier", "score", "reasons", "nakshatra_at_sunrise", "sunrise", "sunset", "brahma_muhurta", "abhijit_muhurta", "utc_offset_hours"]}},
                        "basis": {"type": "string"}
                      },
                      "required": [
                        "days",
                        "basis"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "days": [{"date": "2026-10-14", "weekday": "Wednesday", "tier": "best", "score": 95, "reasons": ["Auspicious nakshatra (Anuradha)", "Wednesday matches deity Ganesha"], "nakshatra_at_sunrise": "Anuradha", "sunrise": "06:21", "sunset": "17:53", "brahma_muhurta": {"start": "04:41", "end": "05:31"}, "abhijit_muhurta": {"start": "11:43", "end": "12:30"}, "utc_offset_hours": 5.5}, {"date": "2026-10-15", "weekday": "Thursday", "tier": "avoid", "score": 30, "reasons": ["Difficult nakshatra (Jyeshtha)"], "nakshatra_at_sunrise": "Jyeshtha", "sunrise": "06:21", "sunset": "17:52", "brahma_muhurta": {"start": "04:41", "end": "05:31"}, "abhijit_muhurta": {"start": "11:43", "end": "12:29"}, "utc_offset_hours": 5.5}, {"date": "2026-10-16", "weekday": "Friday", "tier": "avoid", "score": 30, "reasons": ["Difficult nakshatra (Jyeshtha)"], "nakshatra_at_sunrise": "Jyeshtha", "sunrise": "06:22", "sunset": "17:50", "brahma_muhurta": {"start": "04:42", "end": "05:32"}, "abhijit_muhurta": {"start": "11:43", "end": "12:29"}, "utc_offset_hours": 5.5}],
                        "basis": "Each day starts at 50: +25 when the Moon's sidereal (Lahiri) nakshatra is one of ten favoured for new beginnings, -20 for one of five difficult ones; +20 when the weekday's deity matches the remedy's; -5 on Tuesday and Saturday unless the deity suits them. Tiers: best 75+, good 60+, neutral 40+, avoid below. The nakshatra is the one the Moon is in at the place's local sunrise on the date (06:00 local time on a day without a sunrise); sunrise, sunset and the muhurtas are for the place, in local time. Tithi, Rahu Kalam and other panchang factors are not considered."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vastu/vastu-import-dxf": {
      "post": {
        "operationId": "vastu-import-dxf",
        "summary": "DXF Floor-Plan Import",
        "description": "Reads an ASCII DXF drawing into a reviewable plan (boundary, north, rooms, scale) with the drawing units and notes.",
        "tags": [
          "vastu"
        ],
        "x-credits": 1,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DxfInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "dxf_base64": "MApTRUNUSU9OCjIKSEVBREVSCjkKJEFDQURWRVIKMQpBQzEwMTUKOQokSU5TVU5JVFMKNzAKNgowCkVORFNFQwowClNFQ1RJT04KMgpFTlRJVElFUwowCkxXUE9MWUxJTkUKMTAwCkFjRGJFbnRpdHkKOAowCjEwMApBY0RiUG9seWxpbmUKOTAKNAo3MAoxCjEwCjAKMjAKMAoxMAoxMgoyMAowCjEwCjEyCjIwCjkKMTAKMAoyMAo5CjAKTFdQT0xZTElORQoxMDAKQWNEYkVudGl0eQo4CjAKMTAwCkFjRGJQb2x5bGluZQo5MAo0CjcwCjEKMTAKOQoyMAo2CjEwCjEyCjIwCjYKMTAKMTIKMjAKOQoxMAo5CjIwCjkKMApURVhUCjEwMApBY0RiRW50aXR5CjgKMAoxMDAKQWNEYlRleHQKMTAKMTAuNQoyMAo3LjUKNDAKMC4zCjEKS2l0Y2hlbgowCkVORFNFQwowCkVPRgo="
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "plan": {"type": "object", "properties": {"boundary": {"type": "array", "items": {"type": "array", "items": {"type": "number"}}}, "north": {"type": "object", "properties": {"degrees": {"type": "integer"}}, "required": ["degrees"]}, "rooms": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "polygon": {"type": "array", "items": {"type": "array", "items": {"type": "number"}}}, "type": {"type": "string"}}, "required": ["name", "polygon", "type"]}}, "scale": {"type": "object", "properties": {"plan_length": {"type": "number"}, "real_length": {"type": "number"}, "unit": {"type": "string"}}, "required": ["plan_length", "real_length", "unit"]}}, "required": ["boundary", "north", "rooms", "scale"]},
                        "drawing_units": {"type": "string"},
                        "notes": {"type": "array"}
                      },
                      "required": [
                        "plan",
                        "drawing_units",
                        "notes"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "plan": {"boundary": [[40.0, 880.0], [1160.0, 880.0], [1160.0, 40.0]], "north": {"degrees": 0}, "rooms": [{"name": "Kitchen", "polygon": [[880.0, 320.0], [1160.0, 320.0], [1160.0, 40.0]], "type": "kitchen"}], "scale": {"plan_length": 1120.0, "real_length": 12.0, "unit": "m"}},
                        "drawing_units": "metres",
                        "notes": []
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["A DXF carries no north: the plan's north is set to the top of the drawing. Set north.degrees."],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vastu/vastu-templates": {
      "post": {
        "operationId": "vastu-templates",
        "summary": "Vastu Plan Templates",
        "description": "Lists the starter floor-plan templates with their rooms.",
        "tags": [
          "vastu"
        ],
        "x-credits": 1,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TemplatesInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "include_preview": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "templates": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "description": {"type": "string"}, "room_count": {"type": "integer"}, "includes": {"type": "array", "items": {"type": "string"}}}, "required": ["id", "name", "description", "room_count", "includes"]}}
                      },
                      "required": [
                        "templates"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "templates": [{"id": "1bhk_north_entry", "name": "1 BHK · North entry", "description": "Single bedroom apartment with the main door on the north wall. Classic layout: bedroom SW, kitchen SE, hall NE, pooja in the north-east corner.", "room_count": 5, "includes": ["5 rooms"]}, {"id": "2bhk_east_entry", "name": "2 BHK · East entry", "description": "Two bedroom apartment with main door on the east. Master SW, kids W, kitchen SE, pooja NE.", "room_count": 7, "includes": ["7 rooms"]}, {"id": "3bhk_classic", "name": "3 BHK · Classic layout", "description": "Three bedroom apartment. Master SW, two kids' rooms W/NW, kitchen SE, pooja NE, dining centre-west.", "room_count": 10, "includes": ["10 rooms"]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vastu/vastu-template": {
      "post": {
        "operationId": "vastu-template",
        "summary": "Vastu Plan Template",
        "description": "One starter template scaled to the given canvas size.",
        "tags": [
          "vastu"
        ],
        "x-credits": 1,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TemplateInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "template_id": "3bhk_classic"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "template_id": {"type": "string"},
                        "plan": {"type": "object", "properties": {"boundary": {"type": "array", "items": {"type": "array", "items": {"type": "number"}}}, "north": {"type": "object", "properties": {"degrees": {"type": "number"}}, "required": ["degrees"]}, "rooms": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "type": {"type": "string"}, "polygon": {"type": "array", "items": {"type": "array", "items": {"type": "number"}}}}, "required": ["name", "type", "polygon"]}}}, "required": ["boundary", "north", "rooms"]}
                      },
                      "required": [
                        "template_id",
                        "plan"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "template_id": "3bhk_classic",
                        "plan": {"boundary": [[60.0, 40.0], [1140.0, 40.0], [1140.0, 760.0]], "north": {"degrees": 0.0}, "rooms": [{"name": "Living Room", "type": "living_room", "polygon": [[420.0, 40.0], [900.0, 40.0], [900.0, 280.0]]}, {"name": "Master Bedroom", "type": "master_bedroom", "polygon": [[60.0, 480.0], [540.0, 480.0], [540.0, 760.0]]}, {"name": "Son Bedroom", "type": "children_bedroom", "polygon": [[60.0, 280.0], [360.0, 280.0], [360.0, 480.0]]}]}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/vastu/vastu-reference": {
      "post": {
        "operationId": "vastu-reference",
        "summary": "Vastu Reference Tables",
        "description": "The 16 Vastu zones the analysis scores: each with its deity, element, planet, chakra, what it governs and what it suits.",
        "tags": [
          "vastu"
        ],
        "x-credits": 1,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReferenceInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "sections": [
                  "zones"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "zones": {"type": "array", "items": {"type": "object", "properties": {"code": {"type": "string"}, "label": {"type": "string"}, "deity": {"type": "string"}, "element": {"type": "string"}, "planet": {"type": "string"}, "chakra": {"type": "string"}, "governs": {"type": "string"}, "favourable_for": {"type": "string"}, "unfavourable_for": {"type": "string"}}, "required": ["code", "label", "deity", "element", "planet", "chakra", "governs", "favourable_for", "unfavourable_for"]}}
                      },
                      "required": [
                        "zones"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "zones": [{"code": "N", "label": "North", "deity": "Kubera", "element": "Water", "planet": "Mercury", "chakra": "Throat", "governs": "Wealth, career growth, opportunity flow", "favourable_for": "Cash safe, main entrance, study room, water sources", "unfavourable_for": "Toilets, kitchens, heavy clutter"}, {"code": "NNE", "label": "North-North-East", "deity": "Soma", "element": "Water", "planet": "Moon", "chakra": "Third Eye", "governs": "Mental peace, meditation, healing", "favourable_for": "Pooja room, water (well, fountain), open space", "unfavourable_for": "Storage, heavy furniture, sharp objects"}, {"code": "NE", "label": "North-East", "deity": "Ishaan (Shiva)", "element": "Water", "planet": "Jupiter", "chakra": "Crown", "governs": "Divine grace, wisdom, knowledge, children", "favourable_for": "Pooja, study, water tank (underground), open windows", "unfavourable_for": "TOILETS (severe), kitchen, stairs, store-room"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/ai/vastu-vision-detect": {
      "post": {
        "operationId": "vastu-vision-detect",
        "summary": "Floor-Plan Auto-Detect (Vision)",
        "description": "An AI vision model proposes a floor plan from a picture of it (PNG, JPEG or WebP): outline, centre, rooms, structures and main entrance in pixel coordinates, shaped as vastu-analyse input, with a confidence note.",
        "tags": [
          "ai"
        ],
        "x-credits": {
          "metered": {
            "fast": {
              "minimum": 15,
              "ceiling": 500
            },
            "balanced": {
              "minimum": 60,
              "ceiling": 1500
            }
          },
          "credits_per_usd": 18500
        },
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VisionInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "image_base64": "iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAAAAABQyaazAAAAgklEQVR42u3bQQoAIAgEQP//6fpCBsFWs2fBEbyJNcJTgICAgIDXACspgIeAp/aouvWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgGsN0+/F4cCNgQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE7QA/QbwMzAwgICPg7cAJxuHlDZty0owAAAABJRU5ErkJggg==",
                "mime_type": "image/png",
                "tier": "fast"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "plan": {"type": "object", "properties": {"boundary": {"type": "array", "items": {"type": "array", "items": {"type": "number"}}}, "north": {"type": "object", "properties": {"degrees": {"type": "integer"}}, "required": ["degrees"]}, "centre": {"type": "array", "items": {"type": "number"}}, "rooms": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "polygon": {"type": "array", "items": {"type": "array", "items": {"type": "number"}}}}, "required": ["name", "polygon"]}}, "structures": {"type": "array"}}, "required": ["boundary", "north", "centre", "rooms", "structures"]},
                        "main_entrance": {"type": "null"},
                        "north_hint": {"type": "string"},
                        "image": {"type": "object", "properties": {"width": {"type": "integer"}, "height": {"type": "integer"}}, "required": ["width", "height"]},
                        "confidence": {"type": "object", "properties": {"level": {"type": "string"}, "note": {"type": "string"}, "model_notes": {"type": "string"}}, "required": ["level", "note", "model_notes"]},
                        "tier": {"type": "string"}
                      },
                      "required": [
                        "plan",
                        "main_entrance",
                        "north_hint",
                        "image",
                        "confidence",
                        "tier"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "illustrative": {
                    "summary": "Illustrative: written by hand from the documented shape",
                    "value": {
                      "data": {
                        "plan": {"boundary": [[10.0, 10.0], [150.0, 10.0], [150.0, 110.0], [10.0, 110.0]], "north": {"degrees": 0}, "centre": [80.0, 60.0], "rooms": [{"name": "Room 1", "polygon": [[100.0, 10.0], [150.0, 10.0], [150.0, 60.0], [100.0, 60.0]]}], "structures": []},
                        "main_entrance": null,
                        "north_hint": "unknown",
                        "image": {"width": 160, "height": 120},
                        "confidence": {"level": "low", "note": "Proposed by an AI vision model (claude-haiku-4-5-20251001) from the image alone; the model rated its reading low. Coordinates are image pixels. Check every outline before running vastu-analyse: rooms and structures can be missed, merged or mislabelled, and north and scale are not known from a drawing.", "model_notes": "The drawing has no labels, door openings or north arrow."},
                        "tier": "fast"
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": ["1 room(s) have no recognised type: they are kept untyped (reported, not scored).", "No north arrow was read from the plan: north is set to the top. Set plan.north.degrees."],
                        "language": "en",
                        "ai": {"provider": "anthropic", "model": "claude-haiku-4-5-20251001", "tier": "fast", "input_tokens": 842, "output_tokens": 261}
                      }
                    },
                    "x-example-source": "illustrative"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/ai/vastu-explain-defect": {
      "post": {
        "operationId": "vastu-explain-defect",
        "summary": "Vastu Defect Explanation (AI)",
        "description": "An AI-written explanation of one Vastu defect in sections, with its remedies explained.",
        "tags": [
          "ai"
        ],
        "x-credits": {
          "metered": {
            "fast": {
              "minimum": 15,
              "ceiling": 300
            },
            "balanced": {
              "minimum": 60,
              "ceiling": 1000
            },
            "deep": {
              "minimum": 180,
              "ceiling": 5000
            }
          },
          "credits_per_usd": 18500
        },
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ExplainInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "defect": {
                  "key": "toilet_in_NE",
                  "title": "Toilet placed in NE",
                  "severity": "severe",
                  "has_remedy": true
                },
                "remedies": {
                  "defect": "Toilet placed in NE",
                  "severity": "severe",
                  "priority": 1,
                  "free": [
                    {
                      "action": "Keep toilet door closed at all times",
                      "effort": "low",
                      "cost_inr": 0
                    }
                  ],
                  "objects": [
                    {
                      "action": "Hang a 9-rod metal wind-chime outside toilet entrance",
                      "effort": "low",
                      "cost_inr": 400
                    }
                  ],
                  "structural": [
                    {
                      "action": "Relocate toilet to W or NW corner",
                      "effort": "very high",
                      "cost_inr": 80000
                    }
                  ]
                },
                "dasha": {
                  "mahadasha": "Jupiter",
                  "antardasha": "Saturn"
                },
                "tier": "fast"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "defect": {"type": "object", "properties": {"key": {"type": "string"}, "title": {"type": "string"}, "severity": {"type": "string"}}, "required": ["key", "title", "severity"]},
                        "sections": {"type": "array", "items": {"type": "object", "properties": {"heading": {"type": "string"}, "text": {"type": "string"}}, "required": ["heading", "text"]}},
                        "text": {"type": "string"},
                        "tier": {"type": "string"},
                        "remedies_explained": {"type": "integer"},
                        "dasha_used": {"type": "boolean"}
                      },
                      "required": [
                        "defect",
                        "sections",
                        "text",
                        "tier",
                        "remedies_explained",
                        "dasha_used"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "illustrative": {
                    "summary": "Illustrative: written by hand from the documented shape",
                    "value": {
                      "data": {
                        "defect": {"key": "toilet_in_NE", "title": "Toilet placed in NE", "severity": "severe"},
                        "sections": [{"heading": "Why it matters", "text": "The north-east (Ishanya) is the zone of water and clarity. A toilet here is treated in Vastu as the most serious placement defect."}, {"heading": "What you can do", "text": "Keep the toilet door closed at all times. A 9-rod metal wind-chime outside the entrance is the usual object remedy. The structural fix is to relocate the toilet to the west or north-west."}, {"heading": "With your running dasha", "text": "Jupiter, your Mahadasha lord, rules the north-east, so this zone deserves attention during the Jupiter-Saturn period."}],
                        "text": "Why it matters\n\nThe north-east (Ishanya) is the zone of water and clarity. A toilet here is treated in Vastu as the most serious placement defect.\n\nWhat you can do\n\nKeep the toilet door closed at all times. A 9-rod metal wind-chime outside the entrance is the usual object remedy. The structural fix is to relocate the toilet to the west or north-west.\n\nWith your running dasha\n\nJupiter, your Mahadasha lord, rules the north-east, so this zone deserves attention during the Jupiter-Saturn period.",
                        "tier": "fast",
                        "remedies_explained": 3,
                        "dasha_used": true
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en",
                        "ai": {"provider": "anthropic", "model": "claude-haiku-4-5-20251001", "tier": "fast", "input_tokens": 612, "output_tokens": 288}
                      }
                    },
                    "x-example-source": "illustrative"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/ai/vastu-rank-remedies": {
      "post": {
        "operationId": "vastu-rank-remedies",
        "summary": "Vastu Remedy Ranking (AI)",
        "description": "AI picks the top three actions across all defects and remedy tiers, each with what it addresses, effort and timeframe, and a summary.",
        "tags": [
          "ai"
        ],
        "x-credits": {
          "metered": {
            "fast": {
              "minimum": 15,
              "ceiling": 300
            },
            "balanced": {
              "minimum": 60,
              "ceiling": 1000
            },
            "deep": {
              "minimum": 180,
              "ceiling": 5000
            }
          },
          "credits_per_usd": 18500
        },
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VastuAiRankInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "remedies": [
                  {
                    "defect": "Toilet placed in NE",
                    "severity": "severe",
                    "priority": 1,
                    "free": [
                      {
                        "action": "Keep toilet door closed at all times",
                        "effort": "low",
                        "cost_inr": 0
                      }
                    ],
                    "objects": [
                      {
                        "action": "Hang a 9-rod metal wind-chime outside toilet entrance",
                        "effort": "low",
                        "cost_inr": 400
                      }
                    ],
                    "structural": [
                      {
                        "action": "Relocate toilet to W or NW corner",
                        "effort": "very high",
                        "cost_inr": 80000
                      }
                    ]
                  },
                  {
                    "defect": "Brahmasthan (central area) is blocked",
                    "severity": "poor",
                    "priority": 2,
                    "free": [
                      {
                        "action": "Clear all clutter, furniture, partitions from central area",
                        "effort": "medium"
                      }
                    ],
                    "objects": [
                      {
                        "action": "Place a brass kalash or Vastu Purusha symbol at center",
                        "cost_inr": 800
                      }
                    ],
                    "structural": []
                  }
                ],
                "goal": "wealth",
                "tier": "fast"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "top3": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "action": {"type": "string"}, "matched": {"type": "boolean"}, "addresses": {"type": "string"}, "tier": {"type": "string"}, "cost_inr": {"type": ["integer", "null"]}, "effort": {"type": "string"}, "timeframe": {"type": "string"}, "rationale": {"type": "string"}}, "required": ["rank", "action", "matched", "addresses", "tier", "cost_inr", "effort", "timeframe", "rationale"]}},
                        "summary": {"type": "string"},
                        "goal": {"type": "string"},
                        "tier": {"type": "string"},
                        "candidates": {"type": "integer"},
                        "dasha_used": {"type": "boolean"}
                      },
                      "required": [
                        "top3",
                        "summary",
                        "goal",
                        "tier",
                        "candidates",
                        "dasha_used"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "illustrative": {
                    "summary": "Illustrative: written by hand from the documented shape",
                    "value": {
                      "data": {
                        "top3": [{"rank": 1, "action": "Keep toilet door closed at all times", "matched": true, "addresses": "Toilet placed in NE", "tier": "free", "cost_inr": 0, "effort": "low", "timeframe": "today", "rationale": "Free, immediate, and it contains the most severe defect first."}, {"rank": 2, "action": "Clear all clutter, furniture, partitions from central area", "matched": true, "addresses": "Brahmasthan (central area) is blocked", "tier": "free", "cost_inr": null, "effort": "medium", "timeframe": "this_week", "rationale": "An open centre lets the house breathe; it supports steady income."}, {"rank": 3, "action": "Hang a 9-rod metal wind-chime outside toilet entrance", "matched": true, "addresses": "Toilet placed in NE", "tier": "objects", "cost_inr": 400, "effort": "low", "timeframe": "this_week", "rationale": "Low-cost object remedy for the north-east defect."}],
                        "summary": "Start with the two free actions this week, then add the wind-chime; leave the structural relocation until the free fixes are in place.",
                        "goal": "wealth",
                        "tier": "fast",
                        "candidates": 5,
                        "dasha_used": false
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en",
                        "ai": {"provider": "anthropic", "model": "claude-haiku-4-5-20251001", "tier": "fast", "input_tokens": 540, "output_tokens": 236}
                      }
                    },
                    "x-example-source": "illustrative"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-panchanga": {
      "post": {
        "operationId": "mundane-panchanga",
        "summary": "Mundane: Panchanga snapshot",
        "description": "The panchanga snapshot section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "panchanga": {"type": "object", "properties": {"tithi": {"type": "string"}, "tithi_num": {"type": "integer"}, "paksha": {"type": "string"}, "vara": {"type": "string"}, "vara_lord": {"type": "string"}, "nakshatra": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "yoga": {"type": "string"}, "karana": {"type": "string"}, "masa_amanta": {"type": "string"}, "adhik_masa": {"type": "boolean"}, "moon_sign": {"type": "string"}, "sun_sign": {"type": "string"}, "ayana": {"type": "string"}, "ritu": {"type": "string"}}, "required": ["tithi", "tithi_num", "paksha", "vara", "vara_lord", "nakshatra", "nakshatra_lord", "yoga", "karana", "masa_amanta", "adhik_masa", "moon_sign", "sun_sign", "ayana", "ritu"]}
                      },
                      "required": [
                        "moment",
                        "panchanga"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "panchanga": {"tithi": "Tritiya", "tithi_num": 3, "paksha": "Shukla", "vara": "Tuesday", "vara_lord": "Mars", "nakshatra": "Vishakha", "nakshatra_lord": "Jupiter", "yoga": "Priti", "karana": "Gara", "masa_amanta": "Ashwin", "adhik_masa": false, "moon_sign": "Libra", "sun_sign": "Virgo", "ayana": "Dakshinayana", "ritu": "Varsha"}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-samvatsara": {
      "post": {
        "operationId": "mundane-samvatsara",
        "summary": "Mundane: Samvatsara",
        "description": "The samvatsara section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "samvatsara": {"type": "object", "properties": {"samvatsara": {"type": "string"}, "shaka_year": {"type": "integer"}, "cycle_index": {"type": "integer"}, "cycle_lord": {"type": "string"}, "nature": {"type": "string"}, "score": {"type": "integer"}, "audit": {"type": "object", "properties": {"formula": {"type": "string"}, "inputs": {"type": "object", "properties": {"gregorian_year": {"type": "integer"}, "shaka_year": {"type": "integer"}}, "required": ["gregorian_year", "shaka_year"]}, "result": {"type": "object", "properties": {"index": {"type": "integer"}, "name": {"type": "string"}}, "required": ["index", "name"]}}, "required": ["formula", "inputs", "result"]}}, "required": ["samvatsara", "shaka_year", "cycle_index", "cycle_lord", "nature", "score", "audit"]}
                      },
                      "required": [
                        "moment",
                        "samvatsara"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "samvatsara": {"samvatsara": "Parabhava", "shaka_year": 1948, "cycle_index": 40, "cycle_lord": "Jupiter", "nature": "Inauspicious", "score": 34, "audit": {"formula": "shaka = year-78 (post Mesha Sankranti); index = (shaka+12) mod 60", "inputs": {"gregorian_year": 2026, "shaka_year": 1948}, "result": {"index": 40, "name": "Parabhava"}}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-nava-nayaka": {
      "post": {
        "operationId": "mundane-nava-nayaka",
        "summary": "Mundane: Nava Nayaka (cabinet of the year)",
        "description": "The nava nayaka (cabinet of the year) section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "nava_nayaka": {"type": "object", "properties": {"rulers": {"type": "array", "items": {"type": "object", "properties": {"role": {"type": "string"}, "planet": {"type": "string"}, "quality": {"type": "string"}, "strength": {"type": "integer"}, "ingress_date": {"type": "string"}, "ingress_weekday": {"type": "string"}, "represents": {"type": "string"}, "ingress_point": {"type": "string"}}, "required": ["role", "planet", "quality", "strength", "ingress_date", "ingress_weekday", "represents", "ingress_point"]}}, "summary": {"type": "string"}, "audit": {"type": "object", "properties": {"formula": {"type": "string"}, "note": {"type": "string"}}, "required": ["formula", "note"]}}, "required": ["rulers", "summary", "audit"]}
                      },
                      "required": [
                        "moment",
                        "nava_nayaka"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "nava_nayaka": {"rulers": [{"role": "Raja", "planet": "Jupiter", "quality": "Benefic", "strength": 92, "ingress_date": "2026-03-19", "ingress_weekday": "Thursday", "represents": "General mood, leadership, political climate", "ingress_point": "Chaitra Pratipada (lunar new year)"}, {"role": "Mantri", "planet": "Mars", "quality": "Aggressive", "strength": 18, "ingress_date": "2026-04-14", "ingress_weekday": "Tuesday", "represents": "Financial policy, governance, economic decisions", "ingress_point": "Aries"}, {"role": "Sasyadhipati", "planet": "Jupiter", "quality": "Benefic", "strength": 92, "ingress_date": "2026-07-16", "ingress_weekday": "Thursday", "represents": "Summer crop productivity (Karka Sankranti)", "ingress_point": "Cancer"}], "summary": "Raja (year-king) is Jupiter — expansion, wisdom & prosperity; Mantri (minister) Mars shapes economic policy (assertive, militaristic governance). Governance looks constructive.", "audit": {"formula": "Each Nayaka = weekday-lord of the day the Sun ingresses its defining point (Samhita solar-ingress method).", "note": "Rule scheme is configurable; ingress date + weekday returned for every ruler."}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-positions": {
      "post": {
        "operationId": "mundane-positions",
        "summary": "Mundane: Planet positions & strength",
        "description": "The planet positions & strength section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "positions": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "longitude": {"type": "number"}, "sign_index": {"type": "integer"}, "sign": {"type": "string"}, "degree_in_sign": {"type": "number"}, "nakshatra": {"type": "string"}, "nadi": {"type": "string"}, "retrograde": {"type": "boolean"}, "dignity": {"type": "string"}, "strength": {"type": "integer"}, "kota_zone": {"type": "string"}}, "required": ["planet", "longitude", "sign_index", "sign", "degree_in_sign", "nakshatra", "nadi", "retrograde", "dignity", "strength", "kota_zone"]}}
                      },
                      "required": [
                        "moment",
                        "positions"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "positions": [{"planet": "Sun", "longitude": 175.7106, "sign_index": 6, "sign": "Virgo", "degree_in_sign": 25.7106, "nakshatra": "Chitra", "nadi": "Chanda", "retrograde": false, "dignity": "neutral", "strength": 46, "kota_zone": "Prakara"}, {"planet": "Moon", "longitude": 206.2887, "sign_index": 7, "sign": "Libra", "degree_in_sign": 26.2887, "nakshatra": "Vishakha", "nadi": "Marutha", "retrograde": false, "dignity": "neutral", "strength": 46, "kota_zone": "Stambha"}, {"planet": "Mars", "longitude": 104.4464, "sign_index": 4, "sign": "Cancer", "degree_in_sign": 14.4464, "nakshatra": "Pushya", "nadi": "Amrita", "retrograde": false, "dignity": "debilitated", "strength": 18, "kota_zone": "Madhya"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-scores": {
      "post": {
        "operationId": "mundane-scores",
        "summary": "Mundane: Threat & sector scores",
        "description": "The threat & sector scores section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "scores": {"type": "object", "properties": {"global_risk": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "war": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "civil_unrest": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "economy": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "market": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "government": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "weather": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "pandemic": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "earthquake": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "food_supply": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "commodity_pressure": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "energy_crisis": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "audit": {"type": "object", "properties": {"house_system": {"type": "string"}, "house_malefics": {"type": "object", "properties": {"6th (Virgo)": {"type": "integer"}, "8th (Scorpio)": {"type": "integer"}, "12th (Pisces)": {"type": "integer"}}, "required": ["6th (Virgo)", "8th (Scorpio)", "12th (Pisces)"]}, "eclipse_proximity": {"type": "integer"}, "formulae": {"type": "object", "properties": {"war": {"type": "string"}, "economy": {"type": "string"}, "government": {"type": "string"}, "weather": {"type": "string"}, "pandemic": {"type": "string"}, "earthquake": {"type": "string"}, "global_risk": {"type": "string"}}, "required": ["war", "economy", "government", "weather", "pandemic", "earthquake", "global_risk"]}}, "required": ["house_system", "house_malefics", "eclipse_proximity", "formulae"]}}, "required": ["global_risk", "war", "civil_unrest", "economy", "market", "government", "weather", "pandemic", "earthquake", "food_supply", "commodity_pressure", "energy_crisis", "audit"]}
                      },
                      "required": [
                        "moment",
                        "scores"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "scores": {"global_risk": {"score": 43, "band": "Elevated"}, "war": {"score": 34, "band": "Elevated"}, "civil_unrest": {"score": 49, "band": "Elevated"}, "economy": {"score": 64, "band": "Stable"}, "market": {"score": 64, "band": "Stable"}, "government": {"score": 34, "band": "Weak"}, "weather": {"score": 64, "band": "Stable"}, "pandemic": {"score": 32, "band": "Elevated"}, "earthquake": {"score": 47, "band": "Elevated"}, "food_supply": {"score": 75, "band": "Strong"}, "commodity_pressure": {"score": 62, "band": "High"}, "energy_crisis": {"score": 55, "band": "High"}, "audit": {"house_system": "Natural world zodiac (Aries = 1st house) — location-independent.", "house_malefics": {"6th (Virgo)": 0, "8th (Scorpio)": 0, "12th (Pisces)": 34}, "eclipse_proximity": 0, "formulae": {"war": "Mars_affl*.20 + Saturn_affl*.15 + Rahu_affl*.20 + eclipse*.15 + 6H*.15 + 8H*.15", "economy": "Jupiter*.25 + Venus*.20 + Mercury*.20 − Saturn_affl*.15 − Rahu_affl*.20 (+30 base)", "government": "10H_str*.40 + Sun*.20 + Jupiter*.20 − Mars_affl*.10 − Rahu_affl*.10", "weather": "Moon*.30 + Venus*.25 + Jupiter*.20 + Meghadhipati*.25", "pandemic": "Rahu_affl*.25 + Saturn_affl*.20 + 6H*.20 + 8H*.15 + 12H*.10 + Moon_affl*.10", "earthquake": "Rahu_affl*.20 + Ketu_affl*.20 + Saturn_affl*.20 + Mars_affl*.20 + eclipse*.20", "global_risk": "war*.25 + pandemic*.20 + quake*.15 + civil*.15 + (100−govt)*.15 + (100−economy)*.10"}}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-ai-forecast": {
      "post": {
        "operationId": "mundane-ai-forecast",
        "summary": "Mundane: Blended outlook (rule-based)",
        "description": "The blended outlook (rule-based) section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "ai_forecast": {"type": "object", "properties": {"outlook": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "headline": {"type": "string"}, "horizons": {"type": "array", "items": {"type": "object", "properties": {"horizon": {"type": "string"}, "text": {"type": "string"}}, "required": ["horizon", "text"]}}, "sectors": {"type": "array", "items": {"type": "object", "properties": {"sector": {"type": "string"}, "score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["sector", "score", "band"]}}, "audit": {"type": "object", "properties": {"method": {"type": "string"}, "weights": {"type": "object", "properties": {"economy": {"type": "number"}, "war_calm": {"type": "number"}, "weather": {"type": "number"}, "pandemic_calm": {"type": "number"}, "kota_safe": {"type": "number"}, "sbc_calm": {"type": "number"}, "nava": {"type": "number"}}, "required": ["economy", "war_calm", "weather", "pandemic_calm", "kota_safe", "sbc_calm", "nava"]}, "inputs": {"type": "object", "properties": {"economy": {"type": "integer"}, "war": {"type": "integer"}, "weather": {"type": "integer"}, "pandemic": {"type": "integer"}, "kota_threat": {"type": "integer"}, "sbc_conflict": {"type": "integer"}, "nava_avg": {"type": "integer"}}, "required": ["economy", "war", "weather", "pandemic", "kota_threat", "sbc_conflict", "nava_avg"]}, "result": {"type": "integer"}}, "required": ["method", "weights", "inputs", "result"]}}, "required": ["outlook", "headline", "horizons", "sectors", "audit"]},
                        "basis": {"type": "string"}
                      },
                      "required": [
                        "moment",
                        "ai_forecast",
                        "basis"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "ai_forecast": {"outlook": {"score": 57, "band": "Mixed"}, "headline": "Mixed global climate — civil unrest is the primary watch this period.", "horizons": [{"horizon": "This week", "text": "Moon in Vishakha (Tritiya Shukla, Tuesday). Near-term tone is mixed; the standout watch is civil unrest (49/100)."}, {"horizon": "This month", "text": "Stable economy, Stable markets and adequate rainfall under Meghadhipati Moon."}, {"horizon": "This quarter", "text": "The Mesha Sankranti (2026-04-14) opens a mixed quarter. Annular eclipse on 2027-02-06 in Capricorn stresses Mars-ruled sectors."}], "sectors": [{"sector": "Governance", "score": 34, "band": "Weak"}, {"sector": "Economy", "score": 64, "band": "Stable"}, {"sector": "Markets", "score": 64, "band": "Stable"}], "audit": {"method": "Transparent weighted blend of engine scores (not an opaque model).", "weights": {"economy": 0.2, "war_calm": 0.2, "weather": 0.15, "pandemic_calm": 0.1, "kota_safe": 0.15, "sbc_calm": 0.1, "nava": 0.1}, "inputs": {"economy": 64, "war": 34, "weather": 64, "pandemic": 32, "kota_threat": 54, "sbc_conflict": 90, "nava_avg": 62}, "result": 57}},
                        "basis": "Rule-based: a weighted blend of the other sections' scores, not a language model."
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-kota-chakra": {
      "post": {
        "operationId": "mundane-kota-chakra",
        "summary": "Mundane: Kota Chakra",
        "description": "The kota chakra section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "kota_chakra": {"type": "object", "properties": {"entrance_nakshatra": {"type": "string"}, "kota_swami": {"type": "string"}, "kota_pala": {"type": "string"}, "layers": {"type": "array", "items": {"type": "string"}}, "planets": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "nakshatra": {"type": "string"}, "layer": {"type": "string"}, "is_inner": {"type": "boolean"}, "malefic": {"type": "boolean"}}, "required": ["planet", "nakshatra", "layer", "is_inner", "malefic"]}}, "inner_malefics": {"type": "integer"}, "inner_benefics": {"type": "integer"}, "kota_score": {"type": "integer"}, "threat": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "audit": {"type": "object", "properties": {"formula": {"type": "string"}, "inner_layers": {"type": "array", "items": {"type": "string"}}}, "required": ["formula", "inner_layers"]}}, "required": ["entrance_nakshatra", "kota_swami", "kota_pala", "layers", "planets", "inner_malefics", "inner_benefics", "kota_score", "threat", "audit"]}
                      },
                      "required": [
                        "moment",
                        "kota_chakra"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "kota_chakra": {"entrance_nakshatra": "Vishakha", "kota_swami": "Jupiter", "kota_pala": "Ketu", "layers": ["Stambha", "Madhya", "Prakara"], "planets": [{"planet": "Sun", "nakshatra": "Chitra", "layer": "Prakara", "is_inner": false, "malefic": true}, {"planet": "Moon", "nakshatra": "Vishakha", "layer": "Stambha", "is_inner": true, "malefic": false}, {"planet": "Mars", "nakshatra": "Pushya", "layer": "Madhya", "is_inner": true, "malefic": true}], "inner_malefics": 3, "inner_benefics": 4, "kota_score": 1, "threat": {"score": 54, "band": "High"}, "audit": {"formula": "entrance = Moon (or Janma) nakshatra (28-fold); within each 7-nakshatra side from entrance the depth = [Stambha,Madhya,Prakara,Bahya,Bahya,Prakara,Madhya][count%7]; score = inner_benefics − inner_malefics", "inner_layers": ["Stambha", "Madhya"]}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-sarvatobhadra": {
      "post": {
        "operationId": "mundane-sarvatobhadra",
        "summary": "Mundane: Sarvatobhadra",
        "description": "The sarvatobhadra section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "sarvatobhadra": {"type": "object", "properties": {"vedhas": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "from_nakshatra": {"type": "string"}, "pierces_nakshatra": {"type": "string"}, "weight": {"type": "integer"}, "afflicts_planets": {"type": "array", "items": {"type": "string"}}, "tone": {"type": "string"}}, "required": ["planet", "from_nakshatra", "pierces_nakshatra", "weight", "afflicts_planets", "tone"]}}, "conflict_score": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "audit": {"type": "object", "properties": {"formula": {"type": "string"}}, "required": ["formula"]}}, "required": ["vedhas", "conflict_score", "audit"]}
                      },
                      "required": [
                        "moment",
                        "sarvatobhadra"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "sarvatobhadra": {"vedhas": [{"planet": "Saturn", "from_nakshatra": "U.Bhadra", "pierces_nakshatra": "Hasta", "weight": 10, "afflicts_planets": [], "tone": "malefic"}, {"planet": "Mars", "from_nakshatra": "Pushya", "pierces_nakshatra": "Abhijit", "weight": 9, "afflicts_planets": [], "tone": "malefic"}, {"planet": "Rahu", "from_nakshatra": "Dhanishtha", "pierces_nakshatra": "Magha", "weight": 8, "afflicts_planets": ["Ketu"], "tone": "malefic"}], "conflict_score": {"score": 90, "band": "Severe"}, "audit": {"formula": "vedha(nak) = (nak+14) mod 28 (diametric); severity = Σ malefic weights (Sa10 Ma9 Ra8 Su7 Ke7); conflict = clamp(severity×2.2)"}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-kurma-chakra": {
      "post": {
        "operationId": "mundane-kurma-chakra",
        "summary": "Mundane: Kurma Chakra",
        "description": "The kurma chakra section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "kurma_chakra": {"type": "object", "properties": {"zones": {"type": "array", "items": {"type": "object", "properties": {"direction": {"type": "string"}, "nakshatras": {"type": "array", "items": {"type": "string"}}, "planets": {"type": "array", "items": {"type": "string"}}, "malefics": {"type": "array", "items": {"type": "string"}}, "threat": {"type": "string"}}, "required": ["direction", "nakshatras", "planets", "malefics", "threat"]}}, "planet_locations": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "nakshatra": {"type": "string"}, "direction": {"type": "string"}}, "required": ["planet", "nakshatra", "direction"]}}, "hotspot": {"type": "string"}, "audit": {"type": "object", "properties": {"formula": {"type": "string"}}, "required": ["formula"]}}, "required": ["zones", "planet_locations", "hotspot", "audit"]}
                      },
                      "required": [
                        "moment",
                        "kurma_chakra"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "kurma_chakra": {"zones": [{"direction": "Center", "nakshatras": ["Krittika", "Rohini", "Mrigashira"], "planets": [], "malefics": [], "threat": "Low"}, {"direction": "East", "nakshatras": ["Ardra", "Punarvasu", "Pushya"], "planets": ["Mars"], "malefics": ["Mars"], "threat": "Medium"}, {"direction": "South-East", "nakshatras": ["Ashlesha", "Magha", "P.Phalguni"], "planets": ["Jupiter", "Ketu"], "malefics": ["Ketu"], "threat": "Low"}], "planet_locations": [{"planet": "Sun", "nakshatra": "Chitra", "direction": "South"}, {"planet": "Moon", "nakshatra": "Vishakha", "direction": "South-West"}, {"planet": "Mars", "nakshatra": "Pushya", "direction": "East"}], "hotspot": "East", "audit": {"formula": "nakshatra → Kurma zone (3 per zone from Krittika=Center); threat = Σ malefic weight (Sa/Ra/Ma=2, Su/Ke=1): ≥3 High, =2 Medium, else Low."}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-sanghatta": {
      "post": {
        "operationId": "mundane-sanghatta",
        "summary": "Mundane: Sanghatta",
        "description": "The sanghatta section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "sanghatta": {"type": "object", "properties": {"score": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "strikes": {"type": "integer"}, "watches": {"type": "integer"}, "lines": {"type": "array", "items": {"type": "object", "properties": {"line": {"type": "integer"}, "nakshatras": {"type": "array", "items": {"type": "string"}}, "planets": {"type": "array", "items": {"type": "string"}}, "malefics": {"type": "array", "items": {"type": "string"}}, "status": {"type": "string"}}, "required": ["line", "nakshatras", "planets", "malefics", "status"]}}, "argala": {"type": "object", "properties": {"focus": {"type": "string"}, "kendras": {"type": "array", "items": {"type": "string"}}, "malefics": {"type": "array", "items": {"type": "string"}}, "verdict": {"type": "string"}}, "required": ["focus", "kendras", "malefics", "verdict"]}, "audit": {"type": "object", "properties": {"formula": {"type": "string"}}, "required": ["formula"]}}, "required": ["score", "strikes", "watches", "lines", "argala", "audit"]}
                      },
                      "required": [
                        "moment",
                        "sanghatta"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "sanghatta": {"score": {"score": 25, "band": "Moderate"}, "strikes": 0, "watches": 5, "lines": [{"line": 1, "nakshatras": ["Ashwini", "Jyeshtha", "Mula"], "planets": [], "malefics": [], "status": "Clear"}, {"line": 2, "nakshatras": ["Bharani", "Anuradha", "P.Ashadha"], "planets": ["Saturn"], "malefics": ["Saturn"], "status": "Watch"}, {"line": 3, "nakshatras": ["Krittika", "Vishakha", "U.Ashadha"], "planets": ["Moon", "Mercury"], "malefics": [], "status": "Clear"}], "argala": {"focus": "Libra", "kendras": ["Capricorn", "Aries", "Cancer"], "malefics": ["Mars"], "verdict": "Single malefic pressure on the Libra axis (Mars). External challenge, not yet a full Argala strike."}, "audit": {"formula": "9 fixed nakshatra lines; ≥2 malefics = Strike, 1 = Watch; score = strikes×30 + watches×5. Argala = malefics in 4/7/10 from the Moon-sign focus."}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-eclipses": {
      "post": {
        "operationId": "mundane-eclipses",
        "summary": "Mundane: Eclipses",
        "description": "The eclipses section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "eclipses": {"type": "object", "properties": {"solar": {"type": "object", "properties": {"kind": {"type": "string"}, "date": {"type": "string"}, "type": {"type": "string"}, "sign": {"type": "string"}, "nakshatra": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "magnitude": {"type": "number"}, "severity": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "effects": {"type": "string"}}, "required": ["kind", "date", "type", "sign", "nakshatra", "nakshatra_lord", "magnitude", "severity", "effects"]}, "lunar": {"type": "object", "properties": {"kind": {"type": "string"}, "date": {"type": "string"}, "type": {"type": "string"}, "sign": {"type": "string"}, "nakshatra": {"type": "string"}, "nakshatra_lord": {"type": "string"}, "magnitude": {"type": "number"}, "severity": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "effects": {"type": "string"}}, "required": ["kind", "date", "type", "sign", "nakshatra", "nakshatra_lord", "magnitude", "severity", "effects"]}, "audit": {"type": "object", "properties": {"formula": {"type": "string"}}, "required": ["formula"]}}, "required": ["solar", "lunar", "audit"]}
                      },
                      "required": [
                        "moment",
                        "eclipses"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "eclipses": {"solar": {"kind": "solar", "date": "2027-02-06", "type": "Annular", "sign": "Capricorn", "nakshatra": "Dhanishtha", "nakshatra_lord": "Mars", "magnitude": 0.9, "severity": {"score": 90, "band": "Severe"}, "effects": "Solar eclipse in Capricorn (Dhanishtha) — ruled by Mars; stresses Base metals, leather, mining and Capricorn-ruled regions."}, "lunar": {"kind": "lunar", "date": "2027-02-20", "type": "Penumbral", "sign": "Leo", "nakshatra": "Magha", "nakshatra_lord": "Ketu", "magnitude": 0.3, "severity": {"score": 30, "band": "Moderate"}, "effects": "Lunar eclipse in Leo (Magha) — ruled by Ketu; stresses Gold, power, govt bonds and Leo-ruled regions."}, "audit": {"formula": "swe.sol_eclipse_when_glob / lun_eclipse_when from the moment; magnitude proxy by type; sector by eclipse-nakshatra lord."}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-ingress-charts": {
      "post": {
        "operationId": "mundane-ingress-charts",
        "summary": "Mundane: Ingress charts",
        "description": "The ingress charts section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "ingress_charts": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "date": {"type": "string"}, "time": {"type": "string"}, "moon_sign": {"type": "string"}, "moon_lord": {"type": "string"}, "lord_dignity": {"type": "string"}, "governs": {"type": "string"}, "score": {"type": "integer"}, "band": {"type": "string"}, "forecast": {"type": "string"}}, "required": ["name", "date", "time", "moon_sign", "moon_lord", "lord_dignity", "governs", "score", "band", "forecast"]}}
                      },
                      "required": [
                        "moment",
                        "ingress_charts"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "ingress_charts": [{"name": "Mesha Sankranti", "date": "2026-04-14", "time": "09:32", "moon_sign": "Aquarius", "moon_lord": "Saturn", "lord_dignity": "neutral", "governs": "the year as a whole", "score": 46, "band": "Mixed", "forecast": "Moon in Aquarius at ingress, lord Saturn (neutral) — mixed outlook for the year as a whole."}, {"name": "Karka Sankranti", "date": "2026-07-16", "time": "23:39", "moon_sign": "Leo", "moon_lord": "Sun", "lord_dignity": "friend", "governs": "monsoon & the rains quarter", "score": 64, "band": "Mixed", "forecast": "Moon in Leo at ingress, lord Sun (friend) — mixed outlook for monsoon & the rains quarter."}, {"name": "Tula Sankranti", "date": "2026-10-17", "time": "19:51", "moon_sign": "Sagittarius", "moon_lord": "Jupiter", "lord_dignity": "exalted", "governs": "the post-monsoon / harvest quarter", "score": 92, "band": "Favourable", "forecast": "Moon in Sagittarius at ingress, lord Jupiter (exalted) — favourable outlook for the post-monsoon / harvest quarter."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-weather": {
      "post": {
        "operationId": "mundane-weather",
        "summary": "Mundane: Weather indications",
        "description": "The weather indications section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "weather": {"type": "object", "properties": {"rainfall": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "drought_risk": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "flood_cyclone_risk": {"type": "object", "properties": {"score": {"type": "integer"}, "band": {"type": "string"}}, "required": ["score", "band"]}, "meghadhipati": {"type": "string"}, "meghadhipati_strength": {"type": "integer"}, "narrative": {"type": "string"}, "audit": {"type": "object", "properties": {"formula": {"type": "string"}}, "required": ["formula"]}}, "required": ["rainfall", "drought_risk", "flood_cyclone_risk", "meghadhipati", "meghadhipati_strength", "narrative", "audit"]}
                      },
                      "required": [
                        "moment",
                        "weather"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "weather": {"rainfall": {"score": 64, "band": "Adequate"}, "drought_risk": {"score": 38, "band": "Elevated"}, "flood_cyclone_risk": {"score": 55, "band": "High"}, "meghadhipati": "Moon", "meghadhipati_strength": 46, "narrative": "Adequate rainfall under Meghadhipati Moon (strength 46). Flood / cyclone watch in coastal & water-sign regions. Crop conditions broadly supportive.", "audit": {"formula": "rainfall = Moon*.30 + Venus*.25 + Jupiter*.20 + Meghadhipati*.25; drought = inverse + dryness; flood = malefics in water signs (Cn/Sc/Pi) + Moon affliction"}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-sapt-nadi": {
      "post": {
        "operationId": "mundane-sapt-nadi",
        "summary": "Mundane: Sapta Nadi",
        "description": "The sapta nadi section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "sapt_nadi": {"type": "object", "properties": {"rows": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "nakshatra": {"type": "string"}, "nadi": {"type": "string"}}, "required": ["planet", "nakshatra", "nadi"]}}, "verdict": {"type": "string"}, "note": {"type": "string"}, "wet": {"type": "integer"}, "dry": {"type": "integer"}, "audit": {"type": "object", "properties": {"formula": {"type": "string"}}, "required": ["formula"]}}, "required": ["rows", "verdict", "note", "wet", "dry", "audit"]}
                      },
                      "required": [
                        "moment",
                        "sapt_nadi"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "sapt_nadi": {"rows": [{"planet": "Sun", "nakshatra": "Chitra", "nadi": "Chanda"}, {"planet": "Moon", "nakshatra": "Vishakha", "nadi": "Marutha"}, {"planet": "Mars", "nakshatra": "Pushya", "nadi": "Amrita"}], "verdict": "FLOOD", "note": "Bountiful rains — strong monsoon / heavy rainfall expected. Agriculture will flourish.", "wet": 4, "dry": 2, "audit": {"formula": "Each planet's nakshatra → Sapta-Nadi channel (boustrophedon); verdict from (wet−dry) channel balance + Moon's channel."}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-dhoomadi": {
      "post": {
        "operationId": "mundane-dhoomadi",
        "summary": "Mundane: Dhoomadi",
        "description": "The dhoomadi section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "dhoomadi": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}, "degree": {"type": "number"}, "nakshatra": {"type": "string"}}, "required": ["name", "longitude", "sign", "degree", "nakshatra"]}}
                      },
                      "required": [
                        "moment",
                        "dhoomadi"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "dhoomadi": [{"name": "Dhuma", "longitude": 309.04, "sign": "Aquarius", "degree": 9.04, "nakshatra": "Shatabhisha"}, {"name": "Vyatipata", "longitude": 50.96, "sign": "Taurus", "degree": 20.96, "nakshatra": "Rohini"}, {"name": "Parivesha", "longitude": 230.96, "sign": "Scorpio", "degree": 20.96, "nakshatra": "Jyeshtha"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-latta": {
      "post": {
        "operationId": "mundane-latta",
        "summary": "Mundane: Latta",
        "description": "The latta section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "latta": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "direction": {"type": "string"}, "steps": {"type": "integer"}, "from_nakshatra": {"type": "string"}, "latta_nakshatra": {"type": "string"}}, "required": ["planet", "direction", "steps", "from_nakshatra", "latta_nakshatra"]}}
                      },
                      "required": [
                        "moment",
                        "latta"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "latta": [{"planet": "Sun", "direction": "F", "steps": 12, "from_nakshatra": "Chitra", "latta_nakshatra": "U.Bhadra"}, {"planet": "Moon", "direction": "B", "steps": 22, "from_nakshatra": "Vishakha", "latta_nakshatra": "Shravana"}, {"planet": "Mars", "direction": "F", "steps": 3, "from_nakshatra": "Pushya", "latta_nakshatra": "P.Phalguni"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-triple-malefic": {
      "post": {
        "operationId": "mundane-triple-malefic",
        "summary": "Mundane: Triple malefic",
        "description": "The triple malefic section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "triple_malefic": {"type": "object", "properties": {"active": {"type": "boolean"}, "clusters": {"type": "array"}, "primary": {"type": "array", "items": {"type": "object", "properties": {"planet": {"type": "string"}, "longitude": {"type": "number"}, "sign": {"type": "string"}}, "required": ["planet", "longitude", "sign"]}}, "note": {"type": "string"}, "audit": {"type": "object", "properties": {"formula": {"type": "string"}}, "required": ["formula"]}}, "required": ["active", "clusters", "primary", "note", "audit"]}
                      },
                      "required": [
                        "moment",
                        "triple_malefic"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "triple_malefic": {"active": false, "clusters": [], "primary": [{"planet": "Saturn", "longitude": 346.3846, "sign": "Pisces"}, {"planet": "Mars", "longitude": 104.4464, "sign": "Cancer"}, {"planet": "Rahu", "longitude": 302.8318, "sign": "Aquarius"}], "note": "No triple-malefic configuration active. Baseline stability in the geopolitical arena.", "audit": {"formula": "≥3 natural malefics (Sa/Ma/Ra/Ke/Su) sharing one sign = active war configuration."}}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-country-impact": {
      "post": {
        "operationId": "mundane-country-impact",
        "summary": "Mundane: Country impact",
        "description": "The country impact section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "country_impact": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "flag": {"type": "string"}, "lat": {"type": "number"}, "lon": {"type": "number"}, "natal_lagna": {"type": "string"}, "sade_sati": {"type": "boolean"}, "stability": {"type": "integer"}, "economy": {"type": "integer"}, "conflict": {"type": "integer"}, "hits": {"type": "array", "items": {"type": "string"}}, "headline": {"type": "string"}}, "required": ["name", "flag", "lat", "lon", "natal_lagna", "sade_sati", "stability", "economy", "conflict", "hits", "headline"]}}
                      },
                      "required": [
                        "moment",
                        "country_impact"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "country_impact": [{"name": "Bhutan", "flag": "🇧🇹", "lat": 27.47, "lon": 89.64, "natal_lagna": "Virgo", "sade_sati": true, "stability": 56, "economy": 41, "conflict": 63, "hits": ["Saturn→7th (foreign)", "Rahu→6th (military)", "Ketu→12th (crisis)"], "headline": "Heightened conflict / security pressure."}, {"name": "Taiwan", "flag": "🇹🇼", "lat": 25.03, "lon": 121.57, "natal_lagna": "Virgo", "sade_sati": true, "stability": 56, "economy": 41, "conflict": 63, "hits": ["Saturn→7th (foreign)", "Rahu→6th (military)", "Ketu→12th (crisis)"], "headline": "Heightened conflict / security pressure."}, {"name": "Czechia", "flag": "🇨🇿", "lat": 50.09, "lon": 14.42, "natal_lagna": "Virgo", "sade_sati": true, "stability": 56, "economy": 41, "conflict": 63, "hits": ["Saturn→7th (foreign)", "Rahu→6th (military)", "Ketu→12th (crisis)"], "headline": "Heightened conflict / security pressure."}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/mundane/mundane-commodities": {
      "post": {
        "operationId": "mundane-commodities",
        "summary": "Mundane: Commodities",
        "description": "The commodities section of the world-level mundane dashboard for a moment and place.",
        "tags": [
          "mundane"
        ],
        "x-credits": 3,
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/MundaneInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "2026-10-13T12:00:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "moment": {"type": "object", "properties": {"date": {"type": "string"}, "time": {"type": "string"}, "timezone": {"type": "number"}, "ayanamsa": {"type": "string"}, "janma_nak": {"type": "null"}}, "required": ["date", "time", "timezone", "ayanamsa", "janma_nak"]},
                        "commodities": {"type": "array", "items": {"type": "object", "properties": {"sign": {"type": "string"}, "lord": {"type": "string"}, "commodities": {"type": "string"}, "score": {"type": "integer"}, "trend": {"type": "string"}}, "required": ["sign", "lord", "commodities", "score", "trend"]}}
                      },
                      "required": [
                        "moment",
                        "commodities"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "captured": {
                    "summary": "Captured from the engine (sandbox key, trimmed)",
                    "value": {
                      "data": {
                        "moment": {"date": "2026-10-13", "time": "12:00:00", "timezone": 5.5, "ayanamsa": "Lahiri", "janma_nak": null},
                        "commodities": [{"sign": "Aries", "lord": "Mars", "commodities": "Wheat, iron, defence", "score": 18, "trend": "Price Pressure"}, {"sign": "Taurus", "lord": "Venus", "commodities": "Cattle, sugar, banking", "score": 80, "trend": "Bullish"}, {"sign": "Gemini", "lord": "Mercury", "commodities": "Textiles, telecom, paper", "score": 64, "trend": "Stable"}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en"
                      }
                    },
                    "x-example-source": "captured"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/ai/ai-insight": {
      "post": {
        "operationId": "ai-insight",
        "summary": "AI Reading: Structured reading",
        "description": "An AI-written reading of a birth chart, grounded in chart data the service computes from the birth (or in one report named in `context`); choose persona, tier and language. Optional JSON output.",
        "tags": [
          "ai"
        ],
        "x-credits": {
          "metered": {
            "fast": {
              "minimum": 15,
              "ceiling": 300
            },
            "balanced": {
              "minimum": 60,
              "ceiling": 1000
            },
            "deep": {
              "minimum": 180,
              "ceiling": 5000
            }
          },
          "credits_per_usd": 18500
        },
        "x-status": "beta",
        "x-languages": [
          "en",
          "as",
          "bn",
          "de",
          "es",
          "fr",
          "gu",
          "hi",
          "it",
          "ja",
          "kn",
          "ko",
          "ml",
          "mr",
          "ne",
          "nl",
          "or",
          "pa",
          "pl",
          "pt",
          "ru",
          "si",
          "ta",
          "te",
          "tr",
          "ur"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/InsightInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en", "as", "bn", "de", "es", "fr", "gu", "hi", "it", "ja", "kn", "ko", "ml", "mr", "ne", "nl", "or", "pa", "pl", "pt", "ru", "si", "ta", "te", "tr", "ur"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "tier": "fast",
                "persona": "coach"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "mode": {"type": "string"},
                        "text": {"type": "string"},
                        "tier": {"type": "string"},
                        "persona": {"type": "string"},
                        "as_of": {"type": "string"},
                        "grounding": {"type": "object", "properties": {"source": {"type": "string"}, "characters": {"type": "integer"}, "truncated": {"type": "boolean"}}, "required": ["source", "characters", "truncated"]}
                      },
                      "required": [
                        "mode",
                        "text",
                        "tier",
                        "persona",
                        "as_of",
                        "grounding"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "illustrative": {
                    "summary": "Illustrative: written by hand from the documented shape",
                    "value": {
                      "data": {
                        "mode": "insight",
                        "text": "You are running Jupiter Mahadasha with Mars Antardasha until January 2027. Jupiter rules your 3rd and 12th houses from a Capricorn Ascendant, so this is a period of effort, writing, travel and foreign connections. Mars as the sub-period lord adds drive to work matters: start the projects you have been planning, but avoid hasty decisions around property. Your Moon in Virgo favours careful planning; use it.",
                        "tier": "fast",
                        "persona": "coach",
                        "as_of": "2026-10-14",
                        "grounding": {"source": "birth-chart", "characters": 9412, "truncated": false}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en",
                        "ai": {"provider": "anthropic", "model": "claude-haiku-4-5-20251001", "tier": "fast", "input_tokens": 2380, "output_tokens": 214}
                      }
                    },
                    "x-example-source": "illustrative"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/ai/ai-chat": {
      "post": {
        "operationId": "ai-chat",
        "summary": "AI Reading: Chat answer",
        "description": "An AI answer to a question about a birth chart, with earlier turns as history; grounded in chart data the service computes from the birth (or in one report named in `context`).",
        "tags": [
          "ai"
        ],
        "x-credits": {
          "metered": {
            "fast": {
              "minimum": 15,
              "ceiling": 300
            },
            "balanced": {
              "minimum": 60,
              "ceiling": 1000
            },
            "deep": {
              "minimum": 180,
              "ceiling": 5000
            }
          },
          "credits_per_usd": 18500
        },
        "x-status": "beta",
        "x-languages": [
          "en",
          "as",
          "bn",
          "de",
          "es",
          "fr",
          "gu",
          "hi",
          "it",
          "ja",
          "kn",
          "ko",
          "ml",
          "mr",
          "ne",
          "nl",
          "or",
          "pa",
          "pl",
          "pt",
          "ru",
          "si",
          "ta",
          "te",
          "tr",
          "ur"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ChatInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en", "as", "bn", "de", "es", "fr", "gu", "hi", "it", "ja", "kn", "ko", "ml", "mr", "ne", "nl", "or", "pa", "pl", "pt", "ru", "si", "ta", "te", "tr", "ur"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "tier": "fast",
                "question": "When is a good time to change jobs?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "mode": {"type": "string"},
                        "question": {"type": "string"},
                        "text": {"type": "string"},
                        "tier": {"type": "string"},
                        "persona": {"type": "string"},
                        "as_of": {"type": "string"},
                        "grounding": {"type": "object", "properties": {"source": {"type": "string"}, "characters": {"type": "integer"}, "truncated": {"type": "boolean"}}, "required": ["source", "characters", "truncated"]}
                      },
                      "required": [
                        "mode",
                        "question",
                        "text",
                        "tier",
                        "persona",
                        "as_of",
                        "grounding"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "illustrative": {
                    "summary": "Illustrative: written by hand from the documented shape",
                    "value": {
                      "data": {
                        "mode": "chat",
                        "question": "When is a good time to change jobs?",
                        "text": "The strongest window for a job change is from January 2027, when the Mars sub-period ends and Rahu's begins within your Jupiter Mahadasha. Rahu sub-periods favour unconventional moves and new environments, which supports a change of employer. Until then, prepare: update your skills and network rather than resign.",
                        "tier": "fast",
                        "persona": "coach",
                        "as_of": "2026-10-14",
                        "grounding": {"source": "birth-chart", "characters": 9412, "truncated": false}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en",
                        "ai": {"provider": "anthropic", "model": "claude-haiku-4-5-20251001", "tier": "fast", "input_tokens": 2412, "output_tokens": 168}
                      }
                    },
                    "x-example-source": "illustrative"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/ai/ai-lens": {
      "post": {
        "operationId": "ai-lens",
        "summary": "AI Reading: Custom lens",
        "description": "An AI-written reading of a birth chart through one lens (career, marriage, wealth, health, spiritual or year ahead), grounded in chart data the service computes from the birth.",
        "tags": [
          "ai"
        ],
        "x-credits": {
          "metered": {
            "fast": {
              "minimum": 15,
              "ceiling": 300
            },
            "balanced": {
              "minimum": 60,
              "ceiling": 1000
            },
            "deep": {
              "minimum": 180,
              "ceiling": 5000
            }
          },
          "credits_per_usd": 18500
        },
        "x-status": "beta",
        "x-languages": [
          "en",
          "as",
          "bn",
          "de",
          "es",
          "fr",
          "gu",
          "hi",
          "it",
          "ja",
          "kn",
          "ko",
          "ml",
          "mr",
          "ne",
          "nl",
          "or",
          "pa",
          "pl",
          "pt",
          "ru",
          "si",
          "ta",
          "te",
          "tr",
          "ur"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LensInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en", "as", "bn", "de", "es", "fr", "gu", "hi", "it", "ja", "kn", "ko", "ml", "mr", "ne", "nl", "or", "pa", "pl", "pt", "ru", "si", "ta", "te", "tr", "ur"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "tier": "fast",
                "lens": "career"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "mode": {"type": "string"},
                        "lens": {"type": "string"},
                        "text": {"type": "string"},
                        "tier": {"type": "string"},
                        "persona": {"type": "string"},
                        "as_of": {"type": "string"},
                        "grounding": {"type": "object", "properties": {"source": {"type": "string"}, "characters": {"type": "integer"}, "truncated": {"type": "boolean"}}, "required": ["source", "characters", "truncated"]}
                      },
                      "required": [
                        "mode",
                        "lens",
                        "text",
                        "tier",
                        "persona",
                        "as_of",
                        "grounding"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "illustrative": {
                    "summary": "Illustrative: written by hand from the documented shape",
                    "value": {
                      "data": {
                        "mode": "lens",
                        "lens": "career",
                        "text": "Career: your 10th house is ruled by Venus, which favours work involving design, finance or people. Saturn, your Ascendant lord, gives persistence and rewards long-term roles. In the D10 the 10th lord is well placed. The best timing windows in the current dasha sequence are mid-2027 to 2029.",
                        "tier": "fast",
                        "persona": "coach",
                        "as_of": "2026-10-14",
                        "grounding": {"source": "birth-chart", "characters": 9412, "truncated": false}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en",
                        "ai": {"provider": "anthropic", "model": "claude-haiku-4-5-20251001", "tier": "fast", "input_tokens": 2501, "output_tokens": 231}
                      }
                    },
                    "x-example-source": "illustrative"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/ai/ai-general": {
      "post": {
        "operationId": "ai-general",
        "summary": "AI Reading: General question",
        "description": "An AI answer to a general astrology question, grounded in chart data the service computes from the birth (or in one report named in `context`); choose persona, tier and language.",
        "tags": [
          "ai"
        ],
        "x-credits": {
          "metered": {
            "fast": {
              "minimum": 15,
              "ceiling": 300
            },
            "balanced": {
              "minimum": 60,
              "ceiling": 1000
            },
            "deep": {
              "minimum": 180,
              "ceiling": 5000
            }
          },
          "credits_per_usd": 18500
        },
        "x-status": "beta",
        "x-languages": [
          "en",
          "as",
          "bn",
          "de",
          "es",
          "fr",
          "gu",
          "hi",
          "it",
          "ja",
          "kn",
          "ko",
          "ml",
          "mr",
          "ne",
          "nl",
          "or",
          "pa",
          "pl",
          "pt",
          "ru",
          "si",
          "ta",
          "te",
          "tr",
          "ur"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeneralInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en", "as", "bn", "de", "es", "fr", "gu", "hi", "it", "ja", "kn", "ko", "ml", "mr", "ne", "nl", "or", "pa", "pl", "pt", "ru", "si", "ta", "te", "tr", "ur"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "tier": "fast",
                "question": "What does my Moon sign say about me?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "mode": {"type": "string"},
                        "question": {"type": "string"},
                        "text": {"type": "string"},
                        "tier": {"type": "string"},
                        "persona": {"type": "string"},
                        "as_of": {"type": "string"},
                        "grounding": {"type": "object", "properties": {"source": {"type": "string"}, "characters": {"type": "integer"}, "truncated": {"type": "boolean"}}, "required": ["source", "characters", "truncated"]}
                      },
                      "required": [
                        "mode",
                        "question",
                        "text",
                        "tier",
                        "persona",
                        "as_of",
                        "grounding"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "illustrative": {
                    "summary": "Illustrative: written by hand from the documented shape",
                    "value": {
                      "data": {
                        "mode": "general",
                        "question": "What does my Moon sign say about me?",
                        "text": "Your Moon is in Virgo in Chitra nakshatra. Virgo Moons are observant, practical and detail-minded; you feel settled when things are in order and you show care through useful help. Chitra adds an eye for craft and beauty. Watch a tendency to over-analyse your feelings.",
                        "tier": "fast",
                        "persona": "coach",
                        "as_of": "2026-10-14",
                        "grounding": {"source": "birth-chart", "characters": 9412, "truncated": false}
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en",
                        "ai": {"provider": "anthropic", "model": "claude-haiku-4-5-20251001", "tier": "fast", "input_tokens": 2366, "output_tokens": 152}
                      }
                    },
                    "x-example-source": "illustrative"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/ai/location-ai-analysis": {
      "post": {
        "operationId": "location-ai-analysis",
        "summary": "AI Relocation Answer",
        "description": "An AI-written answer to a relocation question, grounded in the cities the service ranks for the birth (and KP analysis of the top ones); returns the answer and the ranked cities.",
        "tags": [
          "ai"
        ],
        "x-credits": {
          "metered": {
            "fast": {
              "minimum": 15,
              "ceiling": 300
            },
            "balanced": {
              "minimum": 60,
              "ceiling": 1000
            },
            "deep": {
              "minimum": 180,
              "ceiling": 5000
            }
          },
          "credits_per_usd": 18500
        },
        "x-status": "beta",
        "x-languages": [
          "en"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LocationAiInput"
                  },
                  {
                    "properties": {
                      "labels": {
                        "$ref": "#/components/schemas/LabelsLanguage"
                      },
                      "language": {
                        "type": "string",
                        "enum": ["en"],
                        "default": "en",
                        "description": "Output language (ISO 639-1). The values listed are the ones this capability supports; any other is refused with 422 unsupported_language. Identifiers, enum values and numbers never change with language."
                      }
                    }
                  }
                ]
              },
              "example": {
                "datetime": "1990-10-18T14:30:00",
                "timezone": "Asia/Kolkata",
                "latitude": 28.6139,
                "longitude": 77.209,
                "tier": "fast",
                "question": "Where should I move for my career?"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Idempotent-Replayed": {
                "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
                "schema": {
                  "type": "string",
                  "enum": [
                    "true"
                  ]
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "question": {"type": "string"},
                        "goal": {"type": "string"},
                        "goal_inferred": {"type": "boolean"},
                        "region": {"type": "string"},
                        "as_of": {"type": "string"},
                        "answer": {"type": "string"},
                        "running": {"type": "object", "properties": {"vimshottari": {"type": "object", "properties": {"mahadasha": {"type": "string"}, "antardasha": {"type": "string"}, "mahadasha_end": {"type": "string"}, "antardasha_end": {"type": "string"}}, "required": ["mahadasha", "antardasha", "mahadasha_end", "antardasha_end"]}, "char": {"type": "object", "properties": {"sign": {"type": "string"}, "lord": {"type": "string"}, "end": {"type": "string"}}, "required": ["sign", "lord", "end"]}, "yogini": {"type": "object", "properties": {"yogini": {"type": "string"}, "lord": {"type": "string"}, "end": {"type": "string"}}, "required": ["yogini", "lord", "end"]}}, "required": ["vimshottari", "char", "yogini"]},
                        "formula": {"type": "array", "items": {"type": "object", "properties": {"house": {"type": "integer"}, "weight": {"type": "number"}}, "required": ["house", "weight"]}},
                        "kp_cities_analysed": {"type": "integer"},
                        "cities": {"type": "array", "items": {"type": "object", "properties": {"rank": {"type": "integer"}, "city": {"type": "string"}, "country": {"type": "string"}, "country_code": {"type": "string"}, "region": {"type": "string"}, "latitude": {"type": "number"}, "longitude": {"type": "number"}, "score": {"type": "number"}, "distance_km": {"type": "number"}, "ascendant_sign": {"type": "string"}, "ascendant_lord": {"type": "string"}, "midheaven_sign": {"type": "string"}, "midheaven_lord": {"type": "string"}, "reasons": {"type": "array", "items": {"type": "string"}}}, "required": ["rank", "city", "country", "country_code", "region", "latitude", "longitude", "score", "distance_km", "ascendant_sign", "ascendant_lord", "midheaven_sign", "midheaven_lord", "reasons"]}}
                      },
                      "required": [
                        "question",
                        "goal",
                        "goal_inferred",
                        "region",
                        "as_of",
                        "answer",
                        "running",
                        "formula",
                        "kp_cities_analysed",
                        "cities"
                      ],
                      "x-schema-source": "example",
                      "description": "Inferred from the example response below, not a contract: other responses may omit a field, set it to null or carry more items."
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                },
                "examples": {
                  "illustrative": {
                    "summary": "Illustrative: written by hand from the documented shape",
                    "value": {
                      "data": {
                        "question": "Where should I move for my career?",
                        "goal": "career",
                        "goal_inferred": true,
                        "region": "world",
                        "as_of": "2026-10-14",
                        "answer": "For career, Seoul ranks first: it puts your career houses on strong angles, and your running Jupiter-Mars period favours a move made for work. The next places on the list are close behind; compare their reasons before deciding.",
                        "running": {"vimshottari": {"mahadasha": "Jupiter", "antardasha": "Mars", "mahadasha_end": "2029-05-30", "antardasha_end": "2027-01-04"}, "char": {"sign": "Leo", "lord": "Sun", "end": "2031-10-18"}, "yogini": {"yogini": "Mangala", "lord": "Moon", "end": "2027-06-16"}},
                        "formula": [{"house": 10, "weight": 0.4}, {"house": 11, "weight": 0.3}, {"house": 6, "weight": 0.2}],
                        "kp_cities_analysed": 3,
                        "cities": [{"rank": 1, "city": "Seoul", "country": "South Korea", "country_code": "KR", "region": "asia", "latitude": 37.5665, "longitude": 126.978, "score": 87.0, "distance_km": 4687.0, "ascendant_sign": "Aries", "ascendant_lord": "Mars", "midheaven_sign": "Sagittarius", "midheaven_lord": "Jupiter", "reasons": ["Saturn (natural significator) in H10", "Malefics Saturn and Rahu weakens H10", "Jupiter (sign lord) in kendra/trikona H4"]}, {"rank": 2, "city": "Busan", "country": "South Korea", "country_code": "KR", "region": "asia", "latitude": 35.1796, "longitude": 129.0756, "score": 87.0, "distance_km": 4896.0, "ascendant_sign": "Aries", "ascendant_lord": "Mars", "midheaven_sign": "Sagittarius", "midheaven_lord": "Jupiter", "reasons": ["Saturn (natural significator) in H10", "Malefics Saturn and Rahu weakens H10", "Jupiter (sign lord) in kendra/trikona H4"]}, {"rank": 3, "city": "Incheon", "country": "South Korea", "country_code": "KR", "region": "asia", "latitude": 37.4563, "longitude": 126.7052, "score": 87.0, "distance_km": 4663.0, "ascendant_sign": "Aries", "ascendant_lord": "Mars", "midheaven_sign": "Sagittarius", "midheaven_lord": "Jupiter", "reasons": ["Saturn (natural significator) in H10", "Malefics Saturn and Rahu weakens H10", "Jupiter (sign lord) in kendra/trikona H4"]}]
                      },
                      "meta": {
                        "request_id": "req_00000000000000000000",
                        "api_version": "v1",
                        "credits_used": 0,
                        "warnings": [],
                        "language": "en",
                        "ai": {"provider": "anthropic", "model": "claude-haiku-4-5-20251001", "tier": "fast", "input_tokens": 1630, "output_tokens": 342}
                      }
                    },
                    "x-example-source": "illustrative"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          },
          "502": {
            "$ref": "#/components/responses/Error502"
          },
          "503": {
            "$ref": "#/components/responses/Error503"
          },
          "504": {
            "$ref": "#/components/responses/Error504"
          }
        }
      }
    },
    "/v1/jobs/pdf": {
      "post": {
        "operationId": "create-pdf-job",
        "summary": "Render a report as a PDF",
        "description": "Queues a PDF of any report capability. The response is 202 with the job; poll `GET /v1/jobs/{job_id}` until `status` is `succeeded`, then download `download_url`. Branding is optional. Sandbox keys get a SANDBOX watermark, 5 PDFs a day, free.",
        "tags": [
          "jobs"
        ],
        "x-credits": {
          "report_credits_plus": 120
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PdfJobRequest"
              },
              "example": {
                "capability": "report-career",
                "input": {
                  "datetime": "1990-10-18T14:30:00",
                  "timezone": "Asia/Kolkata",
                  "latitude": 28.6139,
                  "longitude": 77.209
                },
                "branding": {
                  "brand_name": "Shree Jyotish Kendra",
                  "accent": "#1f4fd1",
                  "footer_note": "Consultations: jyotish.example"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted and queued (or the stored job, for a repeated Idempotency-Key).",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              },
              "Location": {
                "description": "The job's URL.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobEnvelope"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "402": {
            "$ref": "#/components/responses/Error402"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "409": {
            "$ref": "#/components/responses/Error409"
          },
          "413": {
            "$ref": "#/components/responses/Error413"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        }
      }
    },
    "/v1/jobs/{job_id}": {
      "get": {
        "operationId": "get-job",
        "summary": "Poll a job",
        "description": "The job's status, timestamps, error and, once it succeeded, a signed download URL. Only the organisation and environment (sandbox or live) that created a job can see it. Free.",
        "tags": [
          "jobs"
        ],
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The job.",
            "headers": {
              "X-Request-Id": {
                "description": "Identifier of this request; quote it to support.",
                "schema": {
                  "type": "string"
                }
              },
              "RateLimit-Limit": {
                "description": "Requests allowed in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Remaining": {
                "description": "Requests left in the current window.",
                "schema": {
                  "type": "integer"
                }
              },
              "RateLimit-Reset": {
                "description": "Seconds until the window resets.",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobEnvelope"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          }
        }
      }
    },
    "/v1/files/{token}": {
      "get": {
        "operationId": "download-file",
        "summary": "Download a PDF",
        "description": "Streams the PDF for a signed token from `download_url`. Needs no API key. Free.",
        "tags": [
          "jobs"
        ],
        "security": [],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The PDF.",
            "headers": {
              "Content-Disposition": {
                "description": "attachment; filename=...",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "410": {
            "$ref": "#/components/responses/Error410"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Envelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": true,
            "description": "The capability's result. Its fields are documented per capability."
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        }
      },
      "Meta": {
        "type": "object",
        "required": [
          "request_id",
          "api_version",
          "credits_used",
          "warnings"
        ],
        "properties": {
          "request_id": {
            "type": "string",
            "examples": [
              "req_3f9a1c7e2b4d6a8c0e1f"
            ]
          },
          "api_version": {
            "type": "string",
            "const": "v1"
          },
          "credits_used": {
            "type": "integer",
            "minimum": 0,
            "description": "Credits charged for this call (0 for a sandbox key)."
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "language": {
            "type": "string",
            "description": "The language the output is written in: the `language` asked for (one the capability supports), `en` by default."
          },
          "ai": {
            "$ref": "#/components/schemas/AiMeta"
          },
          "labels": {
            "$ref": "#/components/schemas/LabelsMeta"
          },
          "replayed": {
            "type": "boolean",
            "const": true,
            "description": "Present when this is a stored response replayed for a repeated Idempotency-Key."
          }
        }
      },
      "LabelsMeta": {
        "type": "object",
        "description": "Present when the request sent `labels`: each identifier found in `data` (values and object keys) mapped to its name in that language. `data` itself is unchanged; show `terms[value] ?? value`.",
        "required": [
          "language",
          "quality",
          "terms"
        ],
        "properties": {
          "language": {
            "type": "string",
            "enum": [
              "as",
              "bn",
              "de",
              "es",
              "fr",
              "gu",
              "hi",
              "it",
              "kn",
              "ko",
              "ml",
              "mr",
              "ne",
              "nl",
              "or",
              "pa",
              "pl",
              "pt",
              "ru",
              "si",
              "ta",
              "te",
              "tr",
              "ur"
            ]
          },
          "quality": {
            "type": "string",
            "enum": [
              "curated",
              "transliterated",
              "partial"
            ],
            "description": "curated: standard Jyotish vocabulary in the script; transliterated: the Sanskrit term written in the language's script; partial: native zodiac, planet and weekday names, other terms absent (show the English). None is reviewed by native speakers yet."
          },
          "terms": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "examples": [
          {
            "language": "hi",
            "quality": "curated",
            "terms": {
              "Aries": "मेष",
              "Sun": "सूर्य"
            }
          }
        ]
      },
      "LabelsLanguage": {
        "type": "string",
        "enum": [
          "as",
          "bn",
          "de",
          "es",
          "fr",
          "gu",
          "hi",
          "it",
          "kn",
          "ko",
          "ml",
          "mr",
          "ne",
          "nl",
          "or",
          "pa",
          "pl",
          "pt",
          "ru",
          "si",
          "ta",
          "te",
          "tr",
          "ur"
        ],
        "description": "Optional. Adds `meta.labels`: translated display names for the identifiers in the answer. `data` is unchanged. Free. Any other code is refused with 422 unsupported_language."
      },
      "AiMeta": {
        "type": "object",
        "description": "Present on AI readings.",
        "properties": {
          "provider": {
            "type": [
              "string",
              "null"
            ]
          },
          "model": {
            "type": [
              "string",
              "null"
            ]
          },
          "tier": {
            "type": "string",
            "enum": [
              "fast",
              "balanced",
              "deep"
            ]
          },
          "input_tokens": {
            "type": "integer",
            "minimum": 0
          },
          "output_tokens": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "Error": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "field",
              "request_id",
              "retryable"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "Stable identifier; program against this."
              },
              "message": {
                "type": "string",
                "description": "For people; may change."
              },
              "field": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The input field at fault, if any."
              },
              "request_id": {
                "type": "string"
              },
              "retryable": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "AnalyseInput": {
        "additionalProperties": false,
        "properties": {
          "boundary": {
            "description": "The property outline, in order round the shape.",
            "items": {
              "maxItems": 2,
              "minItems": 2,
              "prefixItems": [
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                },
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                }
              ],
              "type": "array"
            },
            "maxItems": 500,
            "minItems": 3,
            "title": "Boundary",
            "type": "array"
          },
          "north": {
            "$ref": "#/components/schemas/North"
          },
          "units": {
            "anyOf": [
              {
                "enum": [
                  "m",
                  "cm",
                  "mm",
                  "ft",
                  "in",
                  "yd"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The unit the coordinates are in, if they are real lengths.",
            "title": "Units"
          },
          "scale": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Scale"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "For a drawing in pixels: a length on the plan and its real length."
          },
          "centre": {
            "anyOf": [
              {
                "maxItems": 2,
                "minItems": 2,
                "prefixItems": [
                  {
                    "maximum": 1000000.0,
                    "minimum": -1000000.0,
                    "type": "number"
                  },
                  {
                    "maximum": 1000000.0,
                    "minimum": -1000000.0,
                    "type": "number"
                  }
                ],
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The plan's centre (Brahmasthan); defaults to the centre of the outline's bounding box.",
            "title": "Centre"
          },
          "rooms": {
            "items": {
              "$ref": "#/components/schemas/Room"
            },
            "maxItems": 80,
            "title": "Rooms",
            "type": "array"
          },
          "structures": {
            "items": {
              "$ref": "#/components/schemas/Structure"
            },
            "maxItems": 80,
            "title": "Structures",
            "type": "array"
          },
          "fixtures": {
            "items": {
              "$ref": "#/components/schemas/Fixture"
            },
            "maxItems": 50,
            "title": "Fixtures",
            "type": "array"
          },
          "holes": {
            "description": "Open courtyards and cut-outs.",
            "items": {
              "$ref": "#/components/schemas/Hole"
            },
            "maxItems": 20,
            "title": "Holes",
            "type": "array"
          },
          "ayadi": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AyadiOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Ayadi options; Ayadi needs units or a scale."
          }
        },
        "required": [
          "boundary"
        ],
        "title": "AnalyseInput",
        "type": "object"
      },
      "AshtakavargaInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "school": {
            "default": "BPHS",
            "description": "Reduction school: BPHS, JHORA (Jagannatha Hora) or PLIGHT (Parashara's Light).",
            "title": "School",
            "type": "string"
          },
          "compare_all_schools": {
            "default": false,
            "description": "Also return the reductions and Ayus under every school.",
            "title": "Compare All Schools",
            "type": "boolean"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "AshtakavargaInput",
        "type": "object"
      },
      "AuspiciousInput": {
        "additionalProperties": false,
        "properties": {
          "start_date": {
            "format": "date",
            "title": "Start Date",
            "type": "string"
          },
          "end_date": {
            "format": "date",
            "title": "End Date",
            "type": "string"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone of the place, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "deity": {
            "anyOf": [
              {
                "enum": [
                  "Sun",
                  "Surya",
                  "Vishnu",
                  "Ram",
                  "Moon",
                  "Soma",
                  "Shiva",
                  "Mahamrityunjaya",
                  "Mars",
                  "Hanuman",
                  "Devi",
                  "Kartikeya",
                  "Mercury",
                  "Ganesha",
                  "Saraswati",
                  "Jupiter",
                  "Brihaspati",
                  "Lakshmi-Narayan",
                  "Venus",
                  "Lakshmi",
                  "Mahalakshmi",
                  "Durga",
                  "Saturn",
                  "Kali",
                  "Rahu",
                  "Ketu"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Deity of the remedy; favours that deity's weekday.",
            "title": "Deity"
          }
        },
        "required": [
          "start_date",
          "end_date",
          "latitude",
          "longitude"
        ],
        "title": "AuspiciousInput",
        "type": "object"
      },
      "AyadiInput": {
        "additionalProperties": false,
        "properties": {
          "perimeter_m": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "maximum": 10000,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Building perimeter in metres.",
            "title": "Perimeter M"
          },
          "length_m": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "maximum": 5000,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Or: length of a rectangular building.",
            "title": "Length M"
          },
          "breadth_m": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "maximum": 5000,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "And its breadth.",
            "title": "Breadth M"
          },
          "unit": {
            "default": "kishku_hasta",
            "description": "The traditional unit the perimeter is counted in.",
            "enum": [
              "kishku_hasta",
              "kerala_kol",
              "custom"
            ],
            "title": "Unit",
            "type": "string"
          },
          "custom_unit_metres": {
            "anyOf": [
              {
                "maximum": 2.0,
                "minimum": 0.1,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Length of the custom unit.",
            "title": "Custom Unit Metres"
          },
          "owner_nakshatra": {
            "anyOf": [
              {
                "enum": [
                  "Ashwini",
                  "Bharani",
                  "Krittika",
                  "Rohini",
                  "Mrigashira",
                  "Ardra",
                  "Punarvasu",
                  "Pushya",
                  "Ashlesha",
                  "Magha",
                  "Purva Phalguni",
                  "Uttara Phalguni",
                  "Hasta",
                  "Chitra",
                  "Swati",
                  "Vishakha",
                  "Anuradha",
                  "Jyeshtha",
                  "Mula",
                  "Purva Ashadha",
                  "Uttara Ashadha",
                  "Shravana",
                  "Dhanishta",
                  "Shatabhisha",
                  "Purva Bhadrapada",
                  "Uttara Bhadrapada",
                  "Revati"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Owner's birth star; enables Tara-bala.",
            "title": "Owner Nakshatra"
          }
        },
        "title": "AyadiInput",
        "type": "object"
      },
      "AyadiOptions": {
        "additionalProperties": false,
        "properties": {
          "unit": {
            "default": "kishku_hasta",
            "enum": [
              "kishku_hasta",
              "kerala_kol",
              "custom"
            ],
            "title": "Unit",
            "type": "string"
          },
          "custom_unit_metres": {
            "anyOf": [
              {
                "maximum": 2.0,
                "minimum": 0.1,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Custom Unit Metres"
          },
          "owner_nakshatra": {
            "anyOf": [
              {
                "enum": [
                  "Ashwini",
                  "Bharani",
                  "Krittika",
                  "Rohini",
                  "Mrigashira",
                  "Ardra",
                  "Punarvasu",
                  "Pushya",
                  "Ashlesha",
                  "Magha",
                  "Purva Phalguni",
                  "Uttara Phalguni",
                  "Hasta",
                  "Chitra",
                  "Swati",
                  "Vishakha",
                  "Anuradha",
                  "Jyeshtha",
                  "Mula",
                  "Purva Ashadha",
                  "Uttara Ashadha",
                  "Shravana",
                  "Dhanishta",
                  "Shatabhisha",
                  "Purva Bhadrapada",
                  "Uttara Bhadrapada",
                  "Revati"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Owner's birth star; enables Tara-bala.",
            "title": "Owner Nakshatra"
          }
        },
        "title": "AyadiOptions",
        "type": "object"
      },
      "AyuMilanInput": {
        "additionalProperties": false,
        "properties": {
          "groom": {
            "$ref": "#/components/schemas/ChartInput"
          },
          "bride": {
            "$ref": "#/components/schemas/ChartInput"
          },
          "report_type": {
            "default": "half",
            "description": "half: the matching tables. full: also both birth charts' positions.",
            "enum": [
              "full",
              "half"
            ],
            "title": "Report Type",
            "type": "string"
          }
        },
        "required": [
          "groom",
          "bride"
        ],
        "title": "AyuMilanInput",
        "type": "object"
      },
      "BBox": {
        "additionalProperties": false,
        "properties": {
          "west": {
            "maximum": 180,
            "minimum": -180,
            "title": "West",
            "type": "number"
          },
          "south": {
            "maximum": 90,
            "minimum": -90,
            "title": "South",
            "type": "number"
          },
          "east": {
            "description": "May be less than west for a box across the antimeridian.",
            "maximum": 180,
            "minimum": -180,
            "title": "East",
            "type": "number"
          },
          "north": {
            "maximum": 90,
            "minimum": -90,
            "title": "North",
            "type": "number"
          }
        },
        "required": [
          "west",
          "south",
          "east",
          "north"
        ],
        "title": "BBox",
        "type": "object"
      },
      "BNNDashaInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date for `current` (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "BNNDashaInput",
        "type": "object"
      },
      "BNNInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "BNNInput",
        "type": "object"
      },
      "BNNProgressionInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "progression_years": {
            "default": 80,
            "description": "Years of the progression table.",
            "maximum": 120,
            "minimum": 1,
            "title": "Progression Years",
            "type": "integer"
          },
          "doctrine": {
            "anyOf": [
              {
                "enum": [
                  1,
                  2,
                  3,
                  4
                ],
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Force one progression doctrine (1-4) for every karaka.",
            "title": "Doctrine"
          },
          "doctrine_by_planet": {
            "anyOf": [
              {
                "additionalProperties": {
                  "enum": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "type": "integer"
                },
                "propertyNames": {
                  "enum": [
                    "Jupiter",
                    "Saturn",
                    "Mars",
                    "Mercury",
                    "Venus"
                  ]
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Force a doctrine (1-4) per planet.",
            "title": "Doctrine By Planet"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "BNNProgressionInput",
        "type": "object"
      },
      "BNNSnapshotInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "target": {
            "description": "Local date and time to progress to, in the birth's time zone, ISO 8601 without offset",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Target",
            "type": "string",
            "x-format": "local-date-time"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "target"
        ],
        "title": "BNNSnapshotInput",
        "type": "object"
      },
      "BiorhythmInput": {
        "additionalProperties": false,
        "properties": {
          "birth_date": {
            "format": "date",
            "title": "Birth Date",
            "type": "string"
          },
          "date": {
            "description": "The day to read, YYYY-MM-DD.",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "window_days": {
            "default": 15,
            "description": "Days on each side of `date` in the series.",
            "maximum": 60,
            "minimum": 0,
            "title": "Window Days",
            "type": "integer"
          }
        },
        "required": [
          "birth_date",
          "date"
        ],
        "title": "BiorhythmInput",
        "type": "object"
      },
      "BirthInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "BirthInput",
        "type": "object"
      },
      "BulkInput": {
        "additionalProperties": false,
        "properties": {
          "pairs": {
            "description": "Up to 100 pairs per request.",
            "items": {
              "$ref": "#/components/schemas/Pair"
            },
            "maxItems": 100,
            "minItems": 1,
            "title": "Pairs",
            "type": "array"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          }
        },
        "required": [
          "pairs"
        ],
        "title": "BulkInput",
        "type": "object"
      },
      "BulkSynastryInput": {
        "additionalProperties": false,
        "properties": {
          "person": {
            "$ref": "#/components/schemas/WesternBirth"
          },
          "candidates": {
            "description": "Up to 50 candidates.",
            "items": {
              "$ref": "#/components/schemas/WesternBirth"
            },
            "maxItems": 50,
            "minItems": 1,
            "title": "Candidates",
            "type": "array"
          }
        },
        "required": [
          "person",
          "candidates"
        ],
        "title": "BulkSynastryInput",
        "type": "object"
      },
      "BundleCompositesNumerologyInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "name": {
            "description": "Full name as used day to day.",
            "maxLength": 120,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "gender": {
            "default": "male",
            "enum": [
              "male",
              "female",
              "other"
            ],
            "title": "Gender",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "name"
        ],
        "title": "NumerologyInput",
        "type": "object"
      },
      "CategoriesInput": {
        "additionalProperties": false,
        "properties": {
          "goal": {
            "anyOf": [
              {
                "enum": [
                  "career",
                  "marriage",
                  "wealth",
                  "spiritual",
                  "health",
                  "education",
                  "peace",
                  "children",
                  "property",
                  "romance",
                  "fame",
                  "foreign",
                  "travel",
                  "politics",
                  "arts",
                  "business"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Return only this goal; all sixteen when omitted.",
            "title": "Goal"
          }
        },
        "title": "CategoriesInput",
        "type": "object"
      },
      "ChandrodayaInput": {
        "additionalProperties": false,
        "properties": {
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "birth_date": {
            "format": "date",
            "title": "Birth Date",
            "type": "string"
          },
          "count": {
            "default": 1000,
            "description": "Which full moon after the birth.",
            "maximum": 2000,
            "minimum": 1,
            "title": "Count",
            "type": "integer"
          }
        },
        "required": [
          "birth_date"
        ],
        "title": "ChandrodayaInput",
        "type": "object"
      },
      "CharaInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "depth": {
            "default": "antardasha",
            "description": "Levels of the period tree to return.",
            "enum": [
              "mahadasha",
              "antardasha"
            ],
            "title": "Depth",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date for `current` (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          },
          "method": {
            "default": "standard",
            "description": "Chara dasha calculation method.",
            "enum": [
              "standard",
              "kn_rao"
            ],
            "title": "Method",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "CharaInput",
        "type": "object"
      },
      "ChartInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "ChartInput",
        "type": "object"
      },
      "ChatInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Language of the reading.",
            "enum": [
              "en",
              "hi",
              "mr",
              "ne",
              "bn",
              "ta",
              "te",
              "kn",
              "ml",
              "gu",
              "pa",
              "or",
              "si",
              "fr",
              "es",
              "pt",
              "de",
              "it",
              "nl",
              "pl",
              "tr",
              "ru",
              "ko",
              "ja",
              "as",
              "ur"
            ],
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "tier": {
            "default": "balanced",
            "description": "fast (Claude Haiku), balanced (Sonnet) or deep (Opus). Sets the price range.",
            "enum": [
              "fast",
              "balanced",
              "deep"
            ],
            "title": "Tier",
            "type": "string"
          },
          "persona": {
            "default": "coach",
            "description": "Voice of the reading: coach (plain), pandit (traditional) or analyst.",
            "enum": [
              "coach",
              "pandit",
              "analyst"
            ],
            "title": "Persona",
            "type": "string"
          },
          "context": {
            "anyOf": [
              {
                "enum": [
                  "report-career",
                  "report-children",
                  "report-education",
                  "report-foreign-travel",
                  "report-health",
                  "report-marriage",
                  "report-politics",
                  "report-property",
                  "report-relocation",
                  "report-romance",
                  "report-spiritual",
                  "report-wealth",
                  "detailed-life"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Ground the reading in this report's data instead of the natal chart. Only the AI reading is charged, never less than the report itself.",
            "title": "Context"
          },
          "question": {
            "maxLength": 1000,
            "minLength": 1,
            "title": "Question",
            "type": "string"
          },
          "history": {
            "description": "Earlier turns, oldest first.",
            "items": {
              "$ref": "#/components/schemas/Turn"
            },
            "maxItems": 6,
            "title": "History",
            "type": "array"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "question"
        ],
        "title": "ChatInput",
        "type": "object"
      },
      "ClassicalInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "bundle": {
            "default": "small",
            "description": "small: ascendant reading. medium: + gemstones, rudraksha. large: + yogas, graha phala. dasha: ascendant, dasha reading, yogas. annual: ascendant + the next 12 months from the current month.",
            "enum": [
              "small",
              "medium",
              "large",
              "dasha",
              "annual"
            ],
            "title": "Bundle",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "ClassicalInput",
        "type": "object"
      },
      "CombinedInput": {
        "additionalProperties": false,
        "properties": {
          "vastu_scores": {
            "additionalProperties": {
              "maximum": 100,
              "minimum": 0,
              "type": "number"
            },
            "description": "Category scores from vastu-analyse.",
            "minProperties": 1,
            "propertyNames": {
              "enum": [
                "career",
                "marriage",
                "wealth",
                "spiritual",
                "health",
                "education",
                "peace",
                "children",
                "property",
                "romance",
                "fame",
                "foreign",
                "travel",
                "politics",
                "arts"
              ]
            },
            "title": "Vastu Scores",
            "type": "object"
          },
          "location_scores": {
            "additionalProperties": {
              "maximum": 100,
              "minimum": 0,
              "type": "number"
            },
            "description": "The city's location-astrology category scores.",
            "minProperties": 1,
            "propertyNames": {
              "enum": [
                "career",
                "marriage",
                "wealth",
                "spiritual",
                "health",
                "education",
                "peace",
                "children",
                "property",
                "romance",
                "fame",
                "foreign",
                "travel",
                "politics",
                "arts"
              ]
            },
            "title": "Location Scores",
            "type": "object"
          }
        },
        "required": [
          "vastu_scores",
          "location_scores"
        ],
        "title": "CombinedInput",
        "type": "object"
      },
      "CompatibilityInput": {
        "additionalProperties": false,
        "properties": {
          "name_1": {
            "maxLength": 120,
            "minLength": 1,
            "title": "Name 1",
            "type": "string"
          },
          "name_2": {
            "maxLength": 120,
            "minLength": 1,
            "title": "Name 2",
            "type": "string"
          },
          "reversals": {
            "default": true,
            "title": "Reversals",
            "type": "boolean"
          }
        },
        "required": [
          "name_1",
          "name_2"
        ],
        "title": "CompatibilityInput",
        "type": "object"
      },
      "DailyForecastInput": {
        "additionalProperties": false,
        "properties": {
          "birth": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ChartInput"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A birth; its Moon sign, Sun sign and nakshatra are used (Lahiri)."
          },
          "moon_sign": {
            "anyOf": [
              {
                "enum": [
                  "Aries",
                  "Taurus",
                  "Gemini",
                  "Cancer",
                  "Leo",
                  "Virgo",
                  "Libra",
                  "Scorpio",
                  "Sagittarius",
                  "Capricorn",
                  "Aquarius",
                  "Pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Birth Moon sign (sidereal), instead of `birth`.",
            "title": "Moon Sign"
          },
          "sun_sign": {
            "anyOf": [
              {
                "enum": [
                  "Aries",
                  "Taurus",
                  "Gemini",
                  "Cancer",
                  "Leo",
                  "Virgo",
                  "Libra",
                  "Scorpio",
                  "Sagittarius",
                  "Capricorn",
                  "Aquarius",
                  "Pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Birth Sun sign (sidereal), instead of `birth`.",
            "title": "Sun Sign"
          },
          "nakshatra": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Birth Moon nakshatra, instead of `birth`.",
            "title": "Nakshatra"
          },
          "date": {
            "description": "The day to forecast, YYYY-MM-DD.",
            "format": "date",
            "title": "Date",
            "type": "string"
          }
        },
        "required": [
          "date"
        ],
        "title": "DailyForecastInput",
        "type": "object"
      },
      "DashaRankInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "enum": [
              "lahiri",
              "krishnamurti",
              "raman"
            ],
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "goal": {
            "default": "career",
            "description": "The life goal to score places for.",
            "enum": [
              "career",
              "marriage",
              "wealth",
              "spiritual",
              "health",
              "education",
              "peace",
              "children",
              "property",
              "romance",
              "fame",
              "foreign",
              "travel",
              "politics",
              "arts",
              "business"
            ],
            "title": "Goal",
            "type": "string"
          },
          "region": {
            "default": "world",
            "description": "Limit the catalogue to one region.",
            "enum": [
              "world",
              "asia",
              "europe",
              "americas",
              "africa",
              "oceania"
            ],
            "title": "Region",
            "type": "string"
          },
          "limit": {
            "default": 10,
            "description": "How many places to return, best first.",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "max_city_rank": {
            "anyOf": [
              {
                "maximum": 9,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Only catalogue cities of this importance rank or better (1 = global hubs).",
            "title": "Max City Rank"
          },
          "dasha_system": {
            "default": "vimshottari",
            "description": "Which running dasha weights the ranking.",
            "enum": [
              "vimshottari",
              "char",
              "yogini",
              "combined"
            ],
            "title": "Dasha System",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date whose running dasha is used (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "DashaRankInput",
        "type": "object"
      },
      "DashaSystemsDashaInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "depth": {
            "default": "antardasha",
            "description": "Levels of the period tree to return.",
            "enum": [
              "mahadasha",
              "antardasha"
            ],
            "title": "Depth",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date for `current` (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "DashaInput",
        "type": "object"
      },
      "DatePlaceInput": {
        "additionalProperties": false,
        "properties": {
          "date": {
            "description": "Civil date, YYYY-MM-DD.",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "node": {
            "default": "true",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "language": {
            "const": "en",
            "default": "en",
            "description": "Output language. English only; other values are refused.",
            "title": "Language",
            "type": "string"
          }
        },
        "required": [
          "date",
          "latitude",
          "longitude"
        ],
        "title": "DatePlaceInput",
        "type": "object"
      },
      "DavisonInput": {
        "additionalProperties": false,
        "properties": {
          "person_a": {
            "$ref": "#/components/schemas/LahiriBirth"
          },
          "person_b": {
            "$ref": "#/components/schemas/LahiriBirth"
          }
        },
        "required": [
          "person_a",
          "person_b"
        ],
        "title": "DavisonInput",
        "type": "object"
      },
      "DayInput": {
        "additionalProperties": false,
        "description": "One date at one place, for computations that involve no lunar node.",
        "properties": {
          "date": {
            "description": "Civil date, YYYY-MM-DD.",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "node": {
            "default": "true",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "language": {
            "const": "en",
            "default": "en",
            "description": "Output language. English only; other values are refused.",
            "title": "Language",
            "type": "string"
          }
        },
        "required": [
          "date",
          "latitude",
          "longitude"
        ],
        "title": "DayInput",
        "type": "object"
      },
      "DayNumberInput": {
        "additionalProperties": false,
        "properties": {
          "date": {
            "description": "Usually a birth date, YYYY-MM-DD.",
            "format": "date",
            "title": "Date",
            "type": "string"
          }
        },
        "required": [
          "date"
        ],
        "title": "DayNumberInput",
        "type": "object"
      },
      "Defect": {
        "additionalProperties": false,
        "description": "One entry of vastu-analyse `data.defects`, passed as it came.",
        "properties": {
          "key": {
            "default": "",
            "description": "The defect's key (empty when no remedy is written for it).",
            "maxLength": 80,
            "title": "Key",
            "type": "string"
          },
          "title": {
            "description": "e.g. 'Toilet placed in NE'.",
            "maxLength": 300,
            "minLength": 1,
            "title": "Title",
            "type": "string"
          },
          "severity": {
            "enum": [
              "severe",
              "poor",
              "mixed"
            ],
            "title": "Severity",
            "type": "string"
          },
          "has_remedy": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "As in vastu-analyse; not used.",
            "title": "Has Remedy"
          }
        },
        "required": [
          "title",
          "severity"
        ],
        "title": "Defect",
        "type": "object"
      },
      "DivisionalInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "charts": {
            "anyOf": [
              {
                "items": {
                  "enum": [
                    "D1",
                    "D2",
                    "D3",
                    "D4",
                    "D6",
                    "D7",
                    "D8",
                    "D9",
                    "D10",
                    "D12",
                    "D16",
                    "D20",
                    "D24",
                    "D27",
                    "D30",
                    "D40",
                    "D45",
                    "D60",
                    "D81",
                    "D108",
                    "D144",
                    "D150",
                    "D300"
                  ],
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Which vargas to return, e.g. [\"D9\", \"D10\"]. All 23 when omitted.",
            "title": "Charts"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "DivisionalInput",
        "type": "object"
      },
      "DxfInput": {
        "additionalProperties": false,
        "properties": {
          "dxf_base64": {
            "description": "The ASCII DXF file, base64-encoded (at most 2 MB decoded).",
            "maxLength": 2796210,
            "minLength": 8,
            "title": "Dxf Base64",
            "type": "string"
          }
        },
        "required": [
          "dxf_base64"
        ],
        "title": "DxfInput",
        "type": "object"
      },
      "EventsInput": {
        "additionalProperties": false,
        "properties": {
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "from_date": {
            "format": "date",
            "title": "From Date",
            "type": "string"
          },
          "to_date": {
            "format": "date",
            "title": "To Date",
            "type": "string"
          },
          "planets": {
            "anyOf": [
              {
                "items": {
                  "enum": [
                    "Sun",
                    "Moon",
                    "Mercury",
                    "Venus",
                    "Mars",
                    "Jupiter",
                    "Saturn",
                    "Rahu",
                    "Ketu"
                  ],
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Bodies to follow. Default: all but the Moon, which is included only when named.",
            "title": "Planets"
          },
          "include_nakshatra_ingresses": {
            "default": true,
            "title": "Include Nakshatra Ingresses",
            "type": "boolean"
          },
          "include_stations": {
            "default": true,
            "title": "Include Stations",
            "type": "boolean"
          },
          "node": {
            "default": "mean",
            "description": "Lunar node for Rahu/Ketu. 'true' also reports the true node's frequent stations.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          }
        },
        "required": [
          "from_date",
          "to_date"
        ],
        "title": "EventsInput",
        "type": "object"
      },
      "ExplainInput": {
        "additionalProperties": false,
        "properties": {
          "defect": {
            "$ref": "#/components/schemas/Defect",
            "description": "One entry of vastu-analyse data.defects, as it came."
          },
          "remedies": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Remedy"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The data.remedies entry for this defect (its 'defect' equals the defect's title), as it came. With it, the explanation says why each remedy works."
          },
          "dasha": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunningDasha"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The running dasha, to relate the defect to the chart."
          },
          "tier": {
            "default": "fast",
            "description": "fast (Claude Haiku), balanced (Sonnet) or deep (Opus). Sets the price range.",
            "enum": [
              "fast",
              "balanced",
              "deep"
            ],
            "title": "Tier",
            "type": "string"
          }
        },
        "required": [
          "defect"
        ],
        "title": "ExplainInput",
        "type": "object"
      },
      "Fixture": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "default": "",
            "maxLength": 120,
            "title": "Name",
            "type": "string"
          },
          "type": {
            "enum": [
              "bed",
              "stove",
              "desk",
              "safe",
              "wc"
            ],
            "title": "Type",
            "type": "string"
          },
          "position": {
            "maxItems": 2,
            "minItems": 2,
            "prefixItems": [
              {
                "maximum": 1000000.0,
                "minimum": -1000000.0,
                "type": "number"
              },
              {
                "maximum": 1000000.0,
                "minimum": -1000000.0,
                "type": "number"
              }
            ],
            "title": "Position",
            "type": "array"
          },
          "toward": {
            "description": "A second point in the direction the fixture faces (bed: where the head rests).",
            "maxItems": 2,
            "minItems": 2,
            "prefixItems": [
              {
                "maximum": 1000000.0,
                "minimum": -1000000.0,
                "type": "number"
              },
              {
                "maximum": 1000000.0,
                "minimum": -1000000.0,
                "type": "number"
              }
            ],
            "title": "Toward",
            "type": "array"
          }
        },
        "required": [
          "type",
          "position",
          "toward"
        ],
        "title": "Fixture",
        "type": "object"
      },
      "GemCatalogueInput": {
        "additionalProperties": false,
        "properties": {
          "planets": {
            "anyOf": [
              {
                "items": {
                  "enum": [
                    "Sun",
                    "Moon",
                    "Mars",
                    "Mercury",
                    "Jupiter",
                    "Venus",
                    "Saturn",
                    "Rahu",
                    "Ketu"
                  ],
                  "type": "string"
                },
                "maxItems": 9,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Only these planets; all nine when omitted.",
            "title": "Planets"
          }
        },
        "title": "GemCatalogueInput",
        "type": "object"
      },
      "GemInput": {
        "additionalProperties": false,
        "properties": {
          "planet": {
            "anyOf": [
              {
                "enum": [
                  "Sun",
                  "Moon",
                  "Mars",
                  "Mercury",
                  "Jupiter",
                  "Venus",
                  "Saturn",
                  "Rahu",
                  "Ketu"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "One of the nine grahas.",
            "title": "Planet"
          },
          "sign": {
            "anyOf": [
              {
                "enum": [
                  "Aries",
                  "Taurus",
                  "Gemini",
                  "Cancer",
                  "Leo",
                  "Virgo",
                  "Libra",
                  "Scorpio",
                  "Sagittarius",
                  "Capricorn",
                  "Aquarius",
                  "Pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A sign; its lord's gemstone is returned.",
            "title": "Sign"
          }
        },
        "title": "GemInput",
        "type": "object"
      },
      "GeneralInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Language of the reading.",
            "enum": [
              "en",
              "hi",
              "mr",
              "ne",
              "bn",
              "ta",
              "te",
              "kn",
              "ml",
              "gu",
              "pa",
              "or",
              "si",
              "fr",
              "es",
              "pt",
              "de",
              "it",
              "nl",
              "pl",
              "tr",
              "ru",
              "ko",
              "ja",
              "as",
              "ur"
            ],
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "tier": {
            "default": "balanced",
            "description": "fast (Claude Haiku), balanced (Sonnet) or deep (Opus). Sets the price range.",
            "enum": [
              "fast",
              "balanced",
              "deep"
            ],
            "title": "Tier",
            "type": "string"
          },
          "persona": {
            "default": "coach",
            "description": "Voice of the reading: coach (plain), pandit (traditional) or analyst.",
            "enum": [
              "coach",
              "pandit",
              "analyst"
            ],
            "title": "Persona",
            "type": "string"
          },
          "context": {
            "anyOf": [
              {
                "enum": [
                  "report-career",
                  "report-children",
                  "report-education",
                  "report-foreign-travel",
                  "report-health",
                  "report-marriage",
                  "report-politics",
                  "report-property",
                  "report-relocation",
                  "report-romance",
                  "report-spiritual",
                  "report-wealth",
                  "detailed-life"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Ground the reading in this report's data instead of the natal chart. Only the AI reading is charged, never less than the report itself.",
            "title": "Context"
          },
          "question": {
            "maxLength": 1000,
            "minLength": 1,
            "title": "Question",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "question"
        ],
        "title": "GeneralInput",
        "type": "object"
      },
      "GeoSearchAdvancedInput": {
        "additionalProperties": false,
        "properties": {
          "date": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Resolve the UTC offset for this date (DST-aware).",
            "title": "Date"
          },
          "time": {
            "anyOf": [
              {
                "pattern": "^\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
                "type": "string",
                "x-format": "local-time"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Local time, HH:MM; with `date`, resolves one instant.",
            "title": "Time"
          },
          "limit": {
            "default": 10,
            "maximum": 50,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "city": {
            "default": "",
            "maxLength": 100,
            "title": "City",
            "type": "string"
          },
          "country": {
            "default": "",
            "maxLength": 100,
            "title": "Country",
            "type": "string"
          },
          "state": {
            "default": "",
            "maxLength": 100,
            "title": "State",
            "type": "string"
          }
        },
        "title": "GeoSearchAdvancedInput",
        "type": "object"
      },
      "GeoSearchInput": {
        "additionalProperties": false,
        "properties": {
          "date": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Resolve the UTC offset for this date (DST-aware).",
            "title": "Date"
          },
          "time": {
            "anyOf": [
              {
                "pattern": "^\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
                "type": "string",
                "x-format": "local-time"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Local time, HH:MM; with `date`, resolves one instant.",
            "title": "Time"
          },
          "limit": {
            "default": 10,
            "maximum": 50,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "name": {
            "description": "City name or part of it.",
            "maxLength": 100,
            "minLength": 2,
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "title": "GeoSearchInput",
        "type": "object"
      },
      "HeatmapInput": {
        "additionalProperties": false,
        "properties": {
          "boundary": {
            "description": "The property outline, in order round the shape.",
            "items": {
              "maxItems": 2,
              "minItems": 2,
              "prefixItems": [
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                },
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                }
              ],
              "type": "array"
            },
            "maxItems": 500,
            "minItems": 3,
            "title": "Boundary",
            "type": "array"
          },
          "north": {
            "$ref": "#/components/schemas/North"
          },
          "units": {
            "anyOf": [
              {
                "enum": [
                  "m",
                  "cm",
                  "mm",
                  "ft",
                  "in",
                  "yd"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The unit the coordinates are in, if they are real lengths.",
            "title": "Units"
          },
          "scale": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Scale"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "For a drawing in pixels: a length on the plan and its real length."
          },
          "centre": {
            "anyOf": [
              {
                "maxItems": 2,
                "minItems": 2,
                "prefixItems": [
                  {
                    "maximum": 1000000.0,
                    "minimum": -1000000.0,
                    "type": "number"
                  },
                  {
                    "maximum": 1000000.0,
                    "minimum": -1000000.0,
                    "type": "number"
                  }
                ],
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The plan's centre (Brahmasthan); defaults to the centre of the outline's bounding box.",
            "title": "Centre"
          },
          "rooms": {
            "items": {
              "$ref": "#/components/schemas/Room"
            },
            "maxItems": 80,
            "title": "Rooms",
            "type": "array"
          },
          "structures": {
            "items": {
              "$ref": "#/components/schemas/Structure"
            },
            "maxItems": 80,
            "title": "Structures",
            "type": "array"
          },
          "fixtures": {
            "items": {
              "$ref": "#/components/schemas/Fixture"
            },
            "maxItems": 50,
            "title": "Fixtures",
            "type": "array"
          },
          "holes": {
            "description": "Open courtyards and cut-outs.",
            "items": {
              "$ref": "#/components/schemas/Hole"
            },
            "maxItems": 20,
            "title": "Holes",
            "type": "array"
          },
          "ayadi": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AyadiOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Ayadi options; Ayadi needs units or a scale."
          },
          "category": {
            "description": "Life goal to weight the field for.",
            "enum": [
              "career",
              "marriage",
              "wealth",
              "spiritual",
              "health",
              "education",
              "peace",
              "children",
              "property",
              "romance",
              "fame",
              "foreign",
              "travel",
              "politics",
              "arts"
            ],
            "title": "Category",
            "type": "string"
          }
        },
        "required": [
          "boundary",
          "category"
        ],
        "title": "HeatmapInput",
        "type": "object"
      },
      "Hole": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "default": "",
            "maxLength": 120,
            "title": "Name",
            "type": "string"
          },
          "kind": {
            "enum": [
              "courtyard",
              "cutout"
            ],
            "title": "Kind",
            "type": "string"
          },
          "polygon": {
            "items": {
              "maxItems": 2,
              "minItems": 2,
              "prefixItems": [
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                },
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                }
              ],
              "type": "array"
            },
            "maxItems": 200,
            "minItems": 3,
            "title": "Polygon",
            "type": "array"
          }
        },
        "required": [
          "kind",
          "polygon"
        ],
        "title": "Hole",
        "type": "object"
      },
      "ImageInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "style": {
            "default": "north",
            "description": "Chart drawing style.",
            "enum": [
              "north",
              "south",
              "east",
              "western"
            ],
            "title": "Style",
            "type": "string"
          },
          "charts": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "maxItems": 40,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Which charts, e.g. [\"D1\", \"D9\", \"chalit\"]. D1 when omitted.",
            "title": "Charts"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "ImageInput",
        "type": "object"
      },
      "InsightInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Language of the reading.",
            "enum": [
              "en",
              "hi",
              "mr",
              "ne",
              "bn",
              "ta",
              "te",
              "kn",
              "ml",
              "gu",
              "pa",
              "or",
              "si",
              "fr",
              "es",
              "pt",
              "de",
              "it",
              "nl",
              "pl",
              "tr",
              "ru",
              "ko",
              "ja",
              "as",
              "ur"
            ],
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "tier": {
            "default": "balanced",
            "description": "fast (Claude Haiku), balanced (Sonnet) or deep (Opus). Sets the price range.",
            "enum": [
              "fast",
              "balanced",
              "deep"
            ],
            "title": "Tier",
            "type": "string"
          },
          "persona": {
            "default": "coach",
            "description": "Voice of the reading: coach (plain), pandit (traditional) or analyst.",
            "enum": [
              "coach",
              "pandit",
              "analyst"
            ],
            "title": "Persona",
            "type": "string"
          },
          "context": {
            "anyOf": [
              {
                "enum": [
                  "report-career",
                  "report-children",
                  "report-education",
                  "report-foreign-travel",
                  "report-health",
                  "report-marriage",
                  "report-politics",
                  "report-property",
                  "report-relocation",
                  "report-romance",
                  "report-spiritual",
                  "report-wealth",
                  "detailed-life"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Ground the reading in this report's data instead of the natal chart. Only the AI reading is charged, never less than the report itself.",
            "title": "Context"
          },
          "json_mode": {
            "default": false,
            "description": "Return the reading as a JSON object (data.reading) as well as text.",
            "title": "Json Mode",
            "type": "boolean"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "InsightInput",
        "type": "object"
      },
      "KPBTRInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "krishnamurti",
            "default": "krishnamurti",
            "description": "Every KP capability uses the KP (Krishnamurti) ayanamsha and Placidus cusps.",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "window_minutes": {
            "default": 60,
            "description": "Total window centred on the given time, in minutes.",
            "maximum": 240,
            "minimum": 2,
            "title": "Window Minutes",
            "type": "integer"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "KPBTRInput",
        "type": "object"
      },
      "KPEphemerisInput": {
        "additionalProperties": false,
        "properties": {
          "year": {
            "maximum": 2200,
            "minimum": 1800,
            "title": "Year",
            "type": "integer"
          },
          "month": {
            "maximum": 12,
            "minimum": 1,
            "title": "Month",
            "type": "integer"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone the times are given in",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30",
            "title": "Utc Offset"
          },
          "time": {
            "default": "05:30:00",
            "description": "Time of day of each daily row (month table only)",
            "pattern": "^\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Time",
            "type": "string",
            "x-format": "local-time"
          },
          "planet": {
            "anyOf": [
              {
                "enum": [
                  "Sun",
                  "Moon",
                  "Mercury",
                  "Venus",
                  "Mars",
                  "Jupiter",
                  "Saturn",
                  "Uranus",
                  "Neptune",
                  "Pluto",
                  "Rahu",
                  "Ketu"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "With a planet: its change times instead of the table",
            "title": "Planet"
          },
          "mode": {
            "default": "sub",
            "description": "sub: sign/star/sub-lord changes; star: sign/nakshatra changes",
            "enum": [
              "sub",
              "star"
            ],
            "title": "Mode",
            "type": "string"
          }
        },
        "required": [
          "year",
          "month"
        ],
        "title": "KPEphemerisInput",
        "type": "object"
      },
      "KPHoraryInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "krishnamurti",
            "default": "krishnamurti",
            "description": "Every KP capability uses the KP (Krishnamurti) ayanamsha and Placidus cusps.",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "kp_horary_number": {
            "default": 0,
            "description": "KP horary number 1-249 (sets the ascendant); 0 casts the actual moment.",
            "maximum": 249,
            "minimum": 0,
            "title": "Kp Horary Number",
            "type": "integer"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "KPHoraryInput",
        "type": "object"
      },
      "KPNodeInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "krishnamurti",
            "default": "krishnamurti",
            "description": "Every KP capability uses the KP (Krishnamurti) ayanamsha and Placidus cusps.",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "KPNodeInput",
        "type": "object"
      },
      "KPTransitInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "krishnamurti",
            "default": "krishnamurti",
            "description": "Every KP capability uses the KP (Krishnamurti) ayanamsha and Placidus cusps.",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "transit": {
            "$ref": "#/components/schemas/KpLalkitabBnnTajikaMoment",
            "description": "The moment and place of the transit chart."
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "transit"
        ],
        "title": "KPTransitInput",
        "type": "object"
      },
      "KpInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "enum": [
              "lahiri",
              "krishnamurti",
              "raman"
            ],
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "place": {
            "$ref": "#/components/schemas/Place"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date whose running dasha is read (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          },
          "goals": {
            "anyOf": [
              {
                "items": {
                  "enum": [
                    "career",
                    "marriage",
                    "wealth",
                    "spiritual",
                    "health",
                    "education",
                    "peace",
                    "children",
                    "property",
                    "romance",
                    "fame",
                    "foreign",
                    "travel",
                    "politics",
                    "arts",
                    "business"
                  ],
                  "type": "string"
                },
                "minItems": 1,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Goals to judge; all sixteen when omitted.",
            "title": "Goals"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "place"
        ],
        "title": "KpInput",
        "type": "object"
      },
      "KpLalkitabBnnTajikaMoment": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "Moment",
        "type": "object"
      },
      "LKVarshaphalInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "target_year": {
            "description": "Calendar year in which the annual chart's year ENDS (on that year's birthday).",
            "title": "Target Year",
            "type": "integer"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "target_year"
        ],
        "title": "LKVarshaphalInput",
        "type": "object"
      },
      "LahiriBirth": {
        "additionalProperties": false,
        "description": "For routes whose engine ignores the ayanamsha (geometry, or Lahiri fixed).",
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "description": "This capability is computed with Lahiri only.",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "LahiriBirth",
        "type": "object"
      },
      "LanguagesInput": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "anyOf": [
              {
                "maxLength": 8,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Only this locale code, e.g. 'hi'.",
            "title": "Code"
          }
        },
        "title": "LanguagesInput",
        "type": "object"
      },
      "LensInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Language of the reading.",
            "enum": [
              "en",
              "hi",
              "mr",
              "ne",
              "bn",
              "ta",
              "te",
              "kn",
              "ml",
              "gu",
              "pa",
              "or",
              "si",
              "fr",
              "es",
              "pt",
              "de",
              "it",
              "nl",
              "pl",
              "tr",
              "ru",
              "ko",
              "ja",
              "as",
              "ur"
            ],
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "tier": {
            "default": "balanced",
            "description": "fast (Claude Haiku), balanced (Sonnet) or deep (Opus). Sets the price range.",
            "enum": [
              "fast",
              "balanced",
              "deep"
            ],
            "title": "Tier",
            "type": "string"
          },
          "persona": {
            "default": "coach",
            "description": "Voice of the reading: coach (plain), pandit (traditional) or analyst.",
            "enum": [
              "coach",
              "pandit",
              "analyst"
            ],
            "title": "Persona",
            "type": "string"
          },
          "context": {
            "anyOf": [
              {
                "enum": [
                  "report-career",
                  "report-children",
                  "report-education",
                  "report-foreign-travel",
                  "report-health",
                  "report-marriage",
                  "report-politics",
                  "report-property",
                  "report-relocation",
                  "report-romance",
                  "report-spiritual",
                  "report-wealth",
                  "detailed-life"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Ground the reading in this report's data instead of the natal chart. Only the AI reading is charged, never less than the report itself.",
            "title": "Context"
          },
          "lens": {
            "description": "The focus of the reading.",
            "enum": [
              "career",
              "marriage",
              "wealth",
              "health",
              "spiritual",
              "year_ahead"
            ],
            "title": "Lens",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "lens"
        ],
        "title": "LensInput",
        "type": "object"
      },
      "LifeStageBirth": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "LifeStageBirth",
        "type": "object"
      },
      "LifeStageInput": {
        "additionalProperties": false,
        "properties": {
          "groom": {
            "$ref": "#/components/schemas/LifeStageBirth"
          },
          "bride": {
            "$ref": "#/components/schemas/LifeStageBirth"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date the reading is for (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          }
        },
        "required": [
          "groom",
          "bride"
        ],
        "title": "LifeStageInput",
        "type": "object"
      },
      "LinesInput": {
        "additionalProperties": false,
        "description": "The ayanamsha sets only the sidereal Midheaven-sign bands; the lines are the same for every ayanamsha.",
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "enum": [
              "lahiri",
              "krishnamurti",
              "raman"
            ],
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node for the Rahu/Ketu lines: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "LinesInput",
        "type": "object"
      },
      "LocalSpaceInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "description": "This capability is computed with Lahiri only.",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "observer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Place"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Where the native stands now; the birthplace when omitted."
          },
          "corridor_km": {
            "default": 300,
            "description": "How near a city must lie to a ray to be listed.",
            "maximum": 2000,
            "minimum": 10,
            "title": "Corridor Km",
            "type": "number"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "topocentric": {
            "default": false,
            "description": "Parallax-correct positions for the observer.",
            "title": "Topocentric",
            "type": "boolean"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "LocalSpaceInput",
        "type": "object"
      },
      "LocationAiInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "description": "This capability is computed with Lahiri only.",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "question": {
            "maxLength": 1000,
            "minLength": 1,
            "title": "Question",
            "type": "string"
          },
          "tier": {
            "default": "balanced",
            "description": "fast, balanced or deep. Sets the price range.",
            "enum": [
              "fast",
              "balanced",
              "deep"
            ],
            "title": "Tier",
            "type": "string"
          },
          "goal": {
            "anyOf": [
              {
                "enum": [
                  "career",
                  "marriage",
                  "wealth",
                  "spiritual",
                  "health",
                  "education",
                  "peace",
                  "children",
                  "property",
                  "romance",
                  "fame",
                  "foreign",
                  "travel",
                  "politics",
                  "arts",
                  "business"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Life goal to rank places for. Inferred from the question when omitted.",
            "title": "Goal"
          },
          "region": {
            "default": "world",
            "description": "Limit the catalogue to one region.",
            "enum": [
              "world",
              "asia",
              "europe",
              "americas",
              "africa",
              "oceania"
            ],
            "title": "Region",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date whose running dasha is used (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          },
          "limit": {
            "default": 10,
            "description": "How many ranked places ground the answer.",
            "maximum": 10,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "kp_cities": {
            "default": 3,
            "description": "How many of the top places get a full KP analysis.",
            "maximum": 3,
            "minimum": 0,
            "title": "Kp Cities",
            "type": "integer"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "question"
        ],
        "title": "LocationAiInput",
        "type": "object"
      },
      "LocationAstrologyCompareInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "description": "This capability is computed with Lahiri only.",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "place_a": {
            "$ref": "#/components/schemas/Place"
          },
          "place_b": {
            "$ref": "#/components/schemas/Place"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date whose running dasha is read (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "place_a",
          "place_b"
        ],
        "title": "CompareInput",
        "type": "object"
      },
      "LocationAstrologyDashaInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "enum": [
              "lahiri",
              "krishnamurti",
              "raman"
            ],
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date for `current` (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "DashaInput",
        "type": "object"
      },
      "LocationAstrologyRankInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "enum": [
              "lahiri",
              "krishnamurti",
              "raman"
            ],
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "goal": {
            "default": "career",
            "description": "The life goal to score places for.",
            "enum": [
              "career",
              "marriage",
              "wealth",
              "spiritual",
              "health",
              "education",
              "peace",
              "children",
              "property",
              "romance",
              "fame",
              "foreign",
              "travel",
              "politics",
              "arts",
              "business"
            ],
            "title": "Goal",
            "type": "string"
          },
          "region": {
            "default": "world",
            "description": "Limit the catalogue to one region.",
            "enum": [
              "world",
              "asia",
              "europe",
              "americas",
              "africa",
              "oceania"
            ],
            "title": "Region",
            "type": "string"
          },
          "limit": {
            "default": 10,
            "description": "How many places to return, best first.",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          },
          "max_city_rank": {
            "anyOf": [
              {
                "maximum": 9,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Only catalogue cities of this importance rank or better (1 = global hubs).",
            "title": "Max City Rank"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "RankInput",
        "type": "object"
      },
      "LongevityInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date the age, running dasha and transits are judged on (YYYY-MM-DD). Defaults to today (UTC).",
            "title": "As Of"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "LongevityInput",
        "type": "object"
      },
      "MatchInput": {
        "additionalProperties": false,
        "properties": {
          "groom": {
            "$ref": "#/components/schemas/Person"
          },
          "bride": {
            "$ref": "#/components/schemas/Person"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          }
        },
        "required": [
          "groom",
          "bride"
        ],
        "title": "MatchInput",
        "type": "object"
      },
      "MatchingReportInput": {
        "additionalProperties": false,
        "properties": {
          "groom": {
            "$ref": "#/components/schemas/ChartInput"
          },
          "bride": {
            "$ref": "#/components/schemas/ChartInput"
          }
        },
        "required": [
          "groom",
          "bride"
        ],
        "title": "MatchingReportInput",
        "type": "object"
      },
      "MomentInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time of the moment, ISO 8601 without offset.",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30",
            "title": "Utc Offset"
          }
        },
        "required": [
          "datetime"
        ],
        "title": "MomentInput",
        "type": "object"
      },
      "MonthInput": {
        "additionalProperties": false,
        "properties": {
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "year": {
            "description": "Calendar year.",
            "title": "Year",
            "type": "integer"
          },
          "month": {
            "maximum": 12,
            "minimum": 1,
            "title": "Month",
            "type": "integer"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          }
        },
        "required": [
          "latitude",
          "longitude",
          "year",
          "month"
        ],
        "title": "MonthInput",
        "type": "object"
      },
      "MonthlyForecastInput": {
        "additionalProperties": false,
        "properties": {
          "birth": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ChartInput"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A birth; its Moon sign, Sun sign and nakshatra are used (Lahiri)."
          },
          "moon_sign": {
            "anyOf": [
              {
                "enum": [
                  "Aries",
                  "Taurus",
                  "Gemini",
                  "Cancer",
                  "Leo",
                  "Virgo",
                  "Libra",
                  "Scorpio",
                  "Sagittarius",
                  "Capricorn",
                  "Aquarius",
                  "Pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Birth Moon sign (sidereal), instead of `birth`.",
            "title": "Moon Sign"
          },
          "sun_sign": {
            "anyOf": [
              {
                "enum": [
                  "Aries",
                  "Taurus",
                  "Gemini",
                  "Cancer",
                  "Leo",
                  "Virgo",
                  "Libra",
                  "Scorpio",
                  "Sagittarius",
                  "Capricorn",
                  "Aquarius",
                  "Pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Birth Sun sign (sidereal), instead of `birth`.",
            "title": "Sun Sign"
          },
          "nakshatra": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Birth Moon nakshatra, instead of `birth`.",
            "title": "Nakshatra"
          },
          "month": {
            "description": "Calendar month, YYYY-MM.",
            "title": "Month",
            "type": "string"
          }
        },
        "required": [
          "month"
        ],
        "title": "MonthlyForecastInput",
        "type": "object"
      },
      "MuddaInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "target_year": {
            "description": "Calendar year of the return.",
            "title": "Target Year",
            "type": "integer"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date for `current` (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "target_year"
        ],
        "title": "MuddaInput",
        "type": "object"
      },
      "MuhurtaInput": {
        "additionalProperties": false,
        "properties": {
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "purpose": {
            "default": "general",
            "description": "The undertaking; see muhurta-purposes.",
            "enum": [
              "bhoomi-pujan",
              "business",
              "engagement",
              "gold-purchase",
              "griha-pravesh",
              "property",
              "general",
              "travel",
              "vehicle",
              "vivah"
            ],
            "title": "Purpose",
            "type": "string"
          },
          "start_date": {
            "format": "date",
            "title": "Start Date",
            "type": "string"
          },
          "days": {
            "default": 90,
            "description": "Days searched from start_date.",
            "maximum": 400,
            "minimum": 1,
            "title": "Days",
            "type": "integer"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          }
        },
        "required": [
          "latitude",
          "longitude",
          "start_date"
        ],
        "title": "MuhurtaInput",
        "type": "object"
      },
      "MundaneInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time of the moment, ISO 8601 without offset.",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "enum": [
              "lahiri",
              "krishnamurti",
              "raman"
            ],
            "title": "Ayanamsha",
            "type": "string"
          },
          "janma_nakshatra": {
            "anyOf": [
              {
                "maximum": 28,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Entrance nakshatra (1-28, Abhijit included) for the chakras; Moon's when omitted.",
            "title": "Janma Nakshatra"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "MundaneInput",
        "type": "object"
      },
      "NakshatraVastuCatalogueInput": {
        "additionalProperties": false,
        "properties": {
          "nakshatras": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "maxItems": 27,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Only these; all 27 when omitted.",
            "title": "Nakshatras"
          }
        },
        "title": "NakshatraVastuCatalogueInput",
        "type": "object"
      },
      "NakshatraVastuInput": {
        "additionalProperties": false,
        "properties": {
          "nakshatra": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Nakshatra"
          },
          "nakshatra_number": {
            "anyOf": [
              {
                "maximum": 27,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Nakshatra Number"
          }
        },
        "title": "NakshatraVastuInput",
        "type": "object"
      },
      "NameInput": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "default": "",
            "description": "Name to print in the reading (optional).",
            "maxLength": 120,
            "title": "Name",
            "type": "string"
          }
        },
        "title": "NameInput",
        "type": "object"
      },
      "NameNumerologyInput": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Full name in Latin letters.",
            "maxLength": 120,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "date_of_birth": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Ranks name suggestions by friendliness to the radical number.",
            "title": "Date Of Birth"
          }
        },
        "required": [
          "name"
        ],
        "title": "NameNumerologyInput",
        "type": "object"
      },
      "NavataraInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "enum": [
              "lahiri",
              "krishnamurti",
              "raman"
            ],
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "variant": {
            "default": "place",
            "description": "One place, or every catalogue city ranked.",
            "enum": [
              "place",
              "ranking"
            ],
            "title": "Variant",
            "type": "string"
          },
          "place": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Place"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "For `place`; the birthplace when omitted."
          },
          "limit": {
            "default": 20,
            "description": "For `ranking`: how many cities to return.",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "type": "integer"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "NavataraInput",
        "type": "object"
      },
      "NiryanaShoolaInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "depth": {
            "default": "antardasha",
            "description": "Levels of the period tree to return.",
            "enum": [
              "mahadasha",
              "antardasha"
            ],
            "title": "Depth",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date for `current` (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          },
          "method": {
            "anyOf": [
              {
                "enum": [
                  "pvr_2_8_789",
                  "jhora_research",
                  "plight_compat",
                  "lagna7_uniform9"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Calculation method. The engine's recommended method when omitted.",
            "title": "Method"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "NiryanaShoolaInput",
        "type": "object"
      },
      "North": {
        "additionalProperties": false,
        "properties": {
          "degrees": {
            "default": 0,
            "description": "Bearing of north, clockwise from the top of the plan (smaller y): 0 = north is up, 90 = north is right.",
            "exclusiveMaximum": 360,
            "minimum": 0,
            "title": "Degrees",
            "type": "number"
          },
          "reference": {
            "default": "unknown",
            "description": "What the reading is relative to. A magnetic reading with a site is corrected to true north.",
            "enum": [
              "magnetic",
              "true",
              "unknown"
            ],
            "title": "Reference",
            "type": "string"
          },
          "declination_degrees": {
            "anyOf": [
              {
                "maximum": 90,
                "minimum": -90,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Magnetic declination, east positive.",
            "title": "Declination Degrees"
          },
          "uncertainty_degrees": {
            "anyOf": [
              {
                "maximum": 45,
                "minimum": 0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "How far the reading may be off.",
            "title": "Uncertainty Degrees"
          },
          "measured_on": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Day the reading was taken (for the declination model).",
            "title": "Measured On"
          },
          "site": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Site"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Where the property is; used to look up the declination."
          }
        },
        "title": "North",
        "type": "object"
      },
      "ObservanceFilter": {
        "additionalProperties": false,
        "properties": {
          "observance": {
            "anyOf": [
              {
                "enum": [
                  "amavasya",
                  "ashtami",
                  "chandra-darshan",
                  "chaturdashi",
                  "dwadashi",
                  "ekadashi",
                  "masik-durgashtami",
                  "masik-janmashtami",
                  "masik-kalashtami",
                  "masik-karthigai",
                  "masik-shivaratri",
                  "navami",
                  "pradosham",
                  "purnima",
                  "sankashti-chaturthi",
                  "satyanarayana-puja",
                  "shashthi",
                  "skanda-sashti",
                  "trayodashi",
                  "vinayaka-chaturthi"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Return only this observance.",
            "title": "Observance"
          }
        },
        "title": "ObservanceFilter",
        "type": "object"
      },
      "Pair": {
        "additionalProperties": false,
        "properties": {
          "groom": {
            "$ref": "#/components/schemas/Person"
          },
          "bride": {
            "$ref": "#/components/schemas/Person"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "label": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Your reference for this pair, echoed back.",
            "title": "Label"
          }
        },
        "required": [
          "groom",
          "bride"
        ],
        "title": "Pair",
        "type": "object"
      },
      "PairInput": {
        "additionalProperties": false,
        "properties": {
          "groom": {
            "$ref": "#/components/schemas/ChartInput"
          },
          "bride": {
            "$ref": "#/components/schemas/ChartInput"
          }
        },
        "required": [
          "groom",
          "bride"
        ],
        "title": "PairInput",
        "type": "object"
      },
      "PanchPakshiInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset.",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "PanchPakshiInput",
        "type": "object"
      },
      "Person": {
        "additionalProperties": false,
        "properties": {
          "nakshatra": {
            "description": "Moon's nakshatra, e.g. Rohini.",
            "title": "Nakshatra",
            "type": "string"
          },
          "pada": {
            "anyOf": [
              {
                "maximum": 4,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Moon's pada (1-4). Makes the score exact.",
            "title": "Pada"
          }
        },
        "required": [
          "nakshatra"
        ],
        "title": "Person",
        "type": "object"
      },
      "Place": {
        "additionalProperties": false,
        "properties": {
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "label": {
            "default": "",
            "description": "Name to echo back, e.g. Tokyo.",
            "maxLength": 120,
            "title": "Label",
            "type": "string"
          }
        },
        "required": [
          "latitude",
          "longitude"
        ],
        "title": "Place",
        "type": "object"
      },
      "Plan": {
        "additionalProperties": false,
        "properties": {
          "boundary": {
            "description": "The property outline, in order round the shape.",
            "items": {
              "maxItems": 2,
              "minItems": 2,
              "prefixItems": [
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                },
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                }
              ],
              "type": "array"
            },
            "maxItems": 500,
            "minItems": 3,
            "title": "Boundary",
            "type": "array"
          },
          "north": {
            "$ref": "#/components/schemas/North"
          },
          "units": {
            "anyOf": [
              {
                "enum": [
                  "m",
                  "cm",
                  "mm",
                  "ft",
                  "in",
                  "yd"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The unit the coordinates are in, if they are real lengths.",
            "title": "Units"
          },
          "scale": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Scale"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "For a drawing in pixels: a length on the plan and its real length."
          },
          "centre": {
            "anyOf": [
              {
                "maxItems": 2,
                "minItems": 2,
                "prefixItems": [
                  {
                    "maximum": 1000000.0,
                    "minimum": -1000000.0,
                    "type": "number"
                  },
                  {
                    "maximum": 1000000.0,
                    "minimum": -1000000.0,
                    "type": "number"
                  }
                ],
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The plan's centre (Brahmasthan); defaults to the centre of the outline's bounding box.",
            "title": "Centre"
          },
          "rooms": {
            "items": {
              "$ref": "#/components/schemas/Room"
            },
            "maxItems": 80,
            "title": "Rooms",
            "type": "array"
          },
          "structures": {
            "items": {
              "$ref": "#/components/schemas/Structure"
            },
            "maxItems": 80,
            "title": "Structures",
            "type": "array"
          },
          "fixtures": {
            "items": {
              "$ref": "#/components/schemas/Fixture"
            },
            "maxItems": 50,
            "title": "Fixtures",
            "type": "array"
          },
          "holes": {
            "description": "Open courtyards and cut-outs.",
            "items": {
              "$ref": "#/components/schemas/Hole"
            },
            "maxItems": 20,
            "title": "Holes",
            "type": "array"
          },
          "ayadi": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AyadiOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Ayadi options; Ayadi needs units or a scale."
          }
        },
        "required": [
          "boundary"
        ],
        "title": "Plan",
        "type": "object"
      },
      "PredictionInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "PredictionInput",
        "type": "object"
      },
      "PredictionsNumerologyRemediesMoment": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset.",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "Moment",
        "type": "object"
      },
      "PredictionsNumerologyRemediesNumerologyInput": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "Full name in Latin letters.",
            "maxLength": 120,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "date_of_birth": {
            "format": "date",
            "title": "Date Of Birth",
            "type": "string"
          },
          "gender": {
            "anyOf": [
              {
                "enum": [
                  "male",
                  "female"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Needed for the Kua number (null without it: the formula differs by gender).",
            "title": "Gender"
          }
        },
        "required": [
          "name",
          "date_of_birth"
        ],
        "title": "NumerologyInput",
        "type": "object"
      },
      "PurposeFilter": {
        "additionalProperties": false,
        "properties": {
          "purpose": {
            "anyOf": [
              {
                "enum": [
                  "bhoomi-pujan",
                  "business",
                  "engagement",
                  "gold-purchase",
                  "griha-pravesh",
                  "property",
                  "general",
                  "travel",
                  "vehicle",
                  "vivah"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Return only this purpose.",
            "title": "Purpose"
          }
        },
        "title": "PurposeFilter",
        "type": "object"
      },
      "ReadingInput": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "default": "",
            "maxLength": 120,
            "title": "Name",
            "type": "string"
          },
          "question": {
            "default": "",
            "maxLength": 500,
            "title": "Question",
            "type": "string"
          },
          "reversals": {
            "default": true,
            "description": "Allow reversed cards.",
            "title": "Reversals",
            "type": "boolean"
          }
        },
        "title": "ReadingInput",
        "type": "object"
      },
      "ReferenceInput": {
        "additionalProperties": false,
        "properties": {
          "sections": {
            "default": [
              "zones",
              "entrances",
              "devatas"
            ],
            "description": "Tables to return.",
            "items": {
              "enum": [
                "zones",
                "entrances",
                "devatas"
              ],
              "type": "string"
            },
            "minItems": 1,
            "title": "Sections",
            "type": "array"
          }
        },
        "title": "ReferenceInput",
        "type": "object"
      },
      "RelocationInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "enum": [
              "lahiri",
              "krishnamurti",
              "raman"
            ],
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "place": {
            "$ref": "#/components/schemas/Place",
            "description": "Where the chart is relocated to."
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "house_system": {
            "default": "placidus",
            "enum": [
              "placidus",
              "koch",
              "whole_sign",
              "equal",
              "campanus",
              "regiomontanus",
              "porphyry",
              "morinus"
            ],
            "title": "House System",
            "type": "string"
          },
          "topocentric": {
            "default": false,
            "description": "Parallax-correct positions for an observer at the new place.",
            "title": "Topocentric",
            "type": "boolean"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "place"
        ],
        "title": "RelocationInput",
        "type": "object"
      },
      "Remedy": {
        "additionalProperties": false,
        "description": "One entry of vastu-analyse `data.remedies`, passed as it came.",
        "properties": {
          "defect": {
            "description": "Title of the defect these remedies are for.",
            "maxLength": 300,
            "minLength": 1,
            "title": "Defect",
            "type": "string"
          },
          "severity": {
            "enum": [
              "severe",
              "poor",
              "mixed"
            ],
            "title": "Severity",
            "type": "string"
          },
          "priority": {
            "anyOf": [
              {
                "maximum": 5,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "1 = most urgent.",
            "title": "Priority"
          },
          "free": {
            "items": {
              "$ref": "#/components/schemas/RemedyAction"
            },
            "maxItems": 5,
            "title": "Free",
            "type": "array"
          },
          "objects": {
            "items": {
              "$ref": "#/components/schemas/RemedyAction"
            },
            "maxItems": 5,
            "title": "Objects",
            "type": "array"
          },
          "structural": {
            "items": {
              "$ref": "#/components/schemas/RemedyAction"
            },
            "maxItems": 5,
            "title": "Structural",
            "type": "array"
          }
        },
        "required": [
          "defect",
          "severity"
        ],
        "title": "Remedy",
        "type": "object"
      },
      "RemedyAction": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "maxLength": 200,
            "minLength": 1,
            "title": "Action",
            "type": "string"
          },
          "effort": {
            "default": "low",
            "enum": [
              "low",
              "medium",
              "high",
              "very high"
            ],
            "title": "Effort",
            "type": "string"
          },
          "cost_inr": {
            "default": 0,
            "maximum": 10000000,
            "minimum": 0,
            "title": "Cost Inr",
            "type": "integer"
          }
        },
        "required": [
          "action"
        ],
        "title": "RemedyAction",
        "type": "object"
      },
      "ReportInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "gender": {
            "anyOf": [
              {
                "enum": [
                  "male",
                  "female"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Optional. Weights the spouse significator (Venus or Jupiter); the report's language stays neutral.",
            "title": "Gender"
          },
          "birth_time_accuracy": {
            "anyOf": [
              {
                "enum": [
                  "exact",
                  "rounded",
                  "approx",
                  "unknown"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "How exact the birth time is: exact (from a record), rounded (5-15 min, the default), approx (hour), unknown. Lowers confidence and drops the finest divisional charts below exact.",
            "title": "Birth Time Accuracy"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "ReportInput",
        "type": "object"
      },
      "ResolveInstantInput": {
        "additionalProperties": false,
        "properties": {
          "timezone": {
            "description": "IANA time zone, e.g. Europe/London",
            "title": "Timezone",
            "type": "string"
          },
          "date": {
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "time": {
            "anyOf": [
              {
                "pattern": "^\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
                "type": "string",
                "x-format": "local-time"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Local time, HH:MM. Without it only the day's offset is given.",
            "title": "Time"
          }
        },
        "required": [
          "timezone",
          "date"
        ],
        "title": "ResolveInstantInput",
        "type": "object"
      },
      "RomanceInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "gender": {
            "anyOf": [
              {
                "enum": [
                  "male",
                  "female"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Optional. Weights the spouse significator (Venus or Jupiter); the report's language stays neutral.",
            "title": "Gender"
          },
          "birth_time_accuracy": {
            "anyOf": [
              {
                "enum": [
                  "exact",
                  "rounded",
                  "approx",
                  "unknown"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "How exact the birth time is: exact (from a record), rounded (5-15 min, the default), approx (hour), unknown. Lowers confidence and drops the finest divisional charts below exact.",
            "title": "Birth Time Accuracy"
          },
          "partner": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ChartInput"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Optional partner's birth. Without it the compatibility section is not produced."
          },
          "in_relationship": {
            "default": false,
            "description": "Whether the reader is currently in a relationship.",
            "title": "In Relationship",
            "type": "boolean"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "RomanceInput",
        "type": "object"
      },
      "Room": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "maxLength": 120,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "type": {
            "anyOf": [
              {
                "enum": [
                  "kitchen",
                  "master_bedroom",
                  "children_bedroom",
                  "guest_bedroom",
                  "pooja",
                  "toilet",
                  "bathroom",
                  "study",
                  "living_room",
                  "dining",
                  "store_room",
                  "stairs",
                  "main_entrance",
                  "water_tank_underground",
                  "water_tank_overhead",
                  "swimming_pool",
                  "septic_tank",
                  "borewell",
                  "garage",
                  "balcony",
                  "corridor"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Room use; omitted = untyped (reported, not scored).",
            "title": "Type"
          },
          "polygon": {
            "items": {
              "maxItems": 2,
              "minItems": 2,
              "prefixItems": [
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                },
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                }
              ],
              "type": "array"
            },
            "maxItems": 200,
            "minItems": 3,
            "title": "Polygon",
            "type": "array"
          }
        },
        "required": [
          "name",
          "polygon"
        ],
        "title": "Room",
        "type": "object"
      },
      "RudrakshaInput": {
        "additionalProperties": false,
        "properties": {
          "lagna_sign": {
            "anyOf": [
              {
                "enum": [
                  "Aries",
                  "Taurus",
                  "Gemini",
                  "Cancer",
                  "Leo",
                  "Virgo",
                  "Libra",
                  "Scorpio",
                  "Sagittarius",
                  "Capricorn",
                  "Aquarius",
                  "Pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Lagna Sign"
          },
          "moon_sign": {
            "anyOf": [
              {
                "enum": [
                  "Aries",
                  "Taurus",
                  "Gemini",
                  "Cancer",
                  "Leo",
                  "Virgo",
                  "Libra",
                  "Scorpio",
                  "Sagittarius",
                  "Capricorn",
                  "Aquarius",
                  "Pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Moon Sign"
          },
          "sun_sign": {
            "anyOf": [
              {
                "enum": [
                  "Aries",
                  "Taurus",
                  "Gemini",
                  "Cancer",
                  "Leo",
                  "Virgo",
                  "Libra",
                  "Scorpio",
                  "Sagittarius",
                  "Capricorn",
                  "Aquarius",
                  "Pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Sun Sign"
          },
          "dasha_lord": {
            "anyOf": [
              {
                "enum": [
                  "Sun",
                  "Moon",
                  "Mars",
                  "Mercury",
                  "Jupiter",
                  "Venus",
                  "Saturn",
                  "Rahu",
                  "Ketu"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Running Vimshottari mahadasha lord.",
            "title": "Dasha Lord"
          },
          "birth_date": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "For the numerological root number.",
            "title": "Birth Date"
          },
          "weak_planets": {
            "description": "Weak or afflicted planets.",
            "items": {
              "enum": [
                "Sun",
                "Moon",
                "Mars",
                "Mercury",
                "Jupiter",
                "Venus",
                "Saturn",
                "Rahu",
                "Ketu"
              ],
              "type": "string"
            },
            "maxItems": 9,
            "title": "Weak Planets",
            "type": "array"
          }
        },
        "title": "RudrakshaInput",
        "type": "object"
      },
      "RunningDasha": {
        "additionalProperties": false,
        "description": "The running Vimshottari periods. `data.running.vimshottari` of\nlocation-ai-analysis can be passed as it came.",
        "properties": {
          "mahadasha": {
            "enum": [
              "Sun",
              "Moon",
              "Mercury",
              "Venus",
              "Mars",
              "Jupiter",
              "Saturn",
              "Rahu",
              "Ketu"
            ],
            "title": "Mahadasha",
            "type": "string"
          },
          "antardasha": {
            "anyOf": [
              {
                "enum": [
                  "Sun",
                  "Moon",
                  "Mercury",
                  "Venus",
                  "Mars",
                  "Jupiter",
                  "Saturn",
                  "Rahu",
                  "Ketu"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Antardasha"
          },
          "mahadasha_end": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Accepted; not used.",
            "title": "Mahadasha End"
          },
          "antardasha_end": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Accepted; not used.",
            "title": "Antardasha End"
          }
        },
        "required": [
          "mahadasha"
        ],
        "title": "RunningDasha",
        "type": "object"
      },
      "SadeSatiInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date for `current` and `next` (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "SadeSatiInput",
        "type": "object"
      },
      "Scale": {
        "additionalProperties": false,
        "properties": {
          "plan_length": {
            "description": "A length measured on the plan, in plan coordinates.",
            "exclusiveMinimum": 0,
            "maximum": 2000000.0,
            "title": "Plan Length",
            "type": "number"
          },
          "real_length": {
            "description": "What that length is in reality.",
            "exclusiveMinimum": 0,
            "maximum": 100000.0,
            "title": "Real Length",
            "type": "number"
          },
          "unit": {
            "enum": [
              "m",
              "cm",
              "mm",
              "ft",
              "in",
              "yd"
            ],
            "title": "Unit",
            "type": "string"
          }
        },
        "required": [
          "plan_length",
          "real_length",
          "unit"
        ],
        "title": "Scale",
        "type": "object"
      },
      "ShraddhaInput": {
        "additionalProperties": false,
        "properties": {
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "death_date": {
            "description": "Civil date of the death; its tithi is read at that day's sunrise.",
            "format": "date",
            "title": "Death Date",
            "type": "string"
          },
          "year": {
            "description": "Year to find the shraddha dates in, 1900-2200.",
            "title": "Year",
            "type": "integer"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          }
        },
        "required": [
          "latitude",
          "longitude",
          "death_date",
          "year"
        ],
        "title": "ShraddhaInput",
        "type": "object"
      },
      "ShuffleInput": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "default": 3,
            "description": "Cards to turn over.",
            "maximum": 78,
            "minimum": 1,
            "title": "Count",
            "type": "integer"
          },
          "reversals": {
            "default": true,
            "title": "Reversals",
            "type": "boolean"
          },
          "draw_id": {
            "anyOf": [
              {
                "maxLength": 64,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Replay a previous shuffle.",
            "title": "Draw Id"
          },
          "daily": {
            "default": false,
            "description": "The stable deck of the day instead of a new shuffle.",
            "title": "Daily",
            "type": "boolean"
          }
        },
        "title": "ShuffleInput",
        "type": "object"
      },
      "SignHoroscopeInput": {
        "additionalProperties": false,
        "properties": {
          "date": {
            "description": "Civil date, YYYY-MM-DD.",
            "format": "date",
            "title": "Date",
            "type": "string"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "node": {
            "default": "true",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "language": {
            "const": "en",
            "default": "en",
            "description": "Output language. English only; other values are refused.",
            "title": "Language",
            "type": "string"
          },
          "sign": {
            "anyOf": [
              {
                "enum": [
                  "aries",
                  "taurus",
                  "gemini",
                  "cancer",
                  "leo",
                  "virgo",
                  "libra",
                  "scorpio",
                  "sagittarius",
                  "capricorn",
                  "aquarius",
                  "pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "One Moon sign (e.g. 'virgo'); all twelve when omitted.",
            "title": "Sign"
          }
        },
        "required": [
          "date",
          "latitude",
          "longitude"
        ],
        "title": "SignHoroscopeInput",
        "type": "object"
      },
      "SignPairInput": {
        "additionalProperties": false,
        "properties": {
          "sign_a": {
            "enum": [
              "Aries",
              "Taurus",
              "Gemini",
              "Cancer",
              "Leo",
              "Virgo",
              "Libra",
              "Scorpio",
              "Sagittarius",
              "Capricorn",
              "Aquarius",
              "Pisces"
            ],
            "title": "Sign A",
            "type": "string"
          },
          "sign_b": {
            "enum": [
              "Aries",
              "Taurus",
              "Gemini",
              "Cancer",
              "Leo",
              "Virgo",
              "Libra",
              "Scorpio",
              "Sagittarius",
              "Capricorn",
              "Aquarius",
              "Pisces"
            ],
            "title": "Sign B",
            "type": "string"
          }
        },
        "required": [
          "sign_a",
          "sign_b"
        ],
        "title": "SignPairInput",
        "type": "object"
      },
      "SignProfileInput": {
        "additionalProperties": false,
        "properties": {
          "sign": {
            "anyOf": [
              {
                "enum": [
                  "aries",
                  "taurus",
                  "gemini",
                  "cancer",
                  "leo",
                  "virgo",
                  "libra",
                  "scorpio",
                  "sagittarius",
                  "capricorn",
                  "aquarius",
                  "pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "One sign; all twelve when omitted.",
            "title": "Sign"
          }
        },
        "title": "SignProfileInput",
        "type": "object"
      },
      "Site": {
        "additionalProperties": false,
        "properties": {
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          }
        },
        "required": [
          "latitude",
          "longitude"
        ],
        "title": "Site",
        "type": "object"
      },
      "SolarReturnInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "enum": [
              "lahiri",
              "krishnamurti",
              "raman"
            ],
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "year": {
            "description": "Year of the solar return.",
            "maximum": 2200,
            "minimum": 1001,
            "title": "Year",
            "type": "integer"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "year"
        ],
        "title": "SolarReturnInput",
        "type": "object"
      },
      "Structure": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "maxLength": 120,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "type": {
            "enum": [
              "pillar",
              "staircase",
              "lift",
              "machine",
              "kitchen_pit",
              "beam",
              "wall",
              "stairs",
              "main_entrance",
              "water_tank_underground",
              "water_tank_overhead",
              "septic_tank",
              "borewell"
            ],
            "title": "Type",
            "type": "string"
          },
          "polygon": {
            "items": {
              "maxItems": 2,
              "minItems": 2,
              "prefixItems": [
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                },
                {
                  "maximum": 1000000.0,
                  "minimum": -1000000.0,
                  "type": "number"
                }
              ],
              "type": "array"
            },
            "maxItems": 200,
            "minItems": 3,
            "title": "Polygon",
            "type": "array"
          }
        },
        "required": [
          "name",
          "type",
          "polygon"
        ],
        "title": "Structure",
        "type": "object"
      },
      "SunSignInput": {
        "additionalProperties": false,
        "properties": {
          "sun_sign": {
            "description": "Tropical sun sign, e.g. Leo.",
            "enum": [
              "Aries",
              "Taurus",
              "Gemini",
              "Cancer",
              "Leo",
              "Virgo",
              "Libra",
              "Scorpio",
              "Sagittarius",
              "Capricorn",
              "Aquarius",
              "Pisces"
            ],
            "title": "Sun Sign",
            "type": "string"
          },
          "name": {
            "default": "",
            "maxLength": 120,
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "sun_sign"
        ],
        "title": "SunSignInput",
        "type": "object"
      },
      "SustainabilityInput": {
        "additionalProperties": false,
        "properties": {
          "groom": {
            "$ref": "#/components/schemas/ChartInput"
          },
          "bride": {
            "$ref": "#/components/schemas/ChartInput"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date the timing is read from (YYYY-MM-DD). Today in UTC.",
            "title": "As Of"
          }
        },
        "required": [
          "groom",
          "bride"
        ],
        "title": "SustainabilityInput",
        "type": "object"
      },
      "SyllablesInput": {
        "additionalProperties": false,
        "properties": {
          "nakshatra": {
            "anyOf": [
              {
                "enum": [
                  "Ashwini",
                  "Bharani",
                  "Krittika",
                  "Rohini",
                  "Mrigashira",
                  "Ardra",
                  "Punarvasu",
                  "Pushya",
                  "Ashlesha",
                  "Magha",
                  "Purva Phalguni",
                  "Uttara Phalguni",
                  "Hasta",
                  "Chitra",
                  "Swati",
                  "Vishakha",
                  "Anuradha",
                  "Jyeshtha",
                  "Mula",
                  "Purva Ashadha",
                  "Uttara Ashadha",
                  "Shravana",
                  "Dhanishta",
                  "Shatabhisha",
                  "Purva Bhadrapada",
                  "Uttara Bhadrapada",
                  "Revati"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Nakshatra"
          },
          "pada": {
            "anyOf": [
              {
                "maximum": 4,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "With `nakshatra`; omit for all four.",
            "title": "Pada"
          },
          "moon_longitude": {
            "anyOf": [
              {
                "exclusiveMaximum": 360,
                "minimum": 0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Sidereal (Lahiri) Moon longitude.",
            "title": "Moon Longitude"
          }
        },
        "title": "SyllablesInput",
        "type": "object"
      },
      "SynastryInput": {
        "additionalProperties": false,
        "properties": {
          "person_a": {
            "$ref": "#/components/schemas/WesternBirth"
          },
          "person_b": {
            "$ref": "#/components/schemas/WesternBirth"
          }
        },
        "required": [
          "person_a",
          "person_b"
        ],
        "title": "SynastryInput",
        "type": "object"
      },
      "TajikaInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "target_year": {
            "description": "Calendar year of the return.",
            "title": "Target Year",
            "type": "integer"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "target_year"
        ],
        "title": "TajikaInput",
        "type": "object"
      },
      "TemplateInput": {
        "additionalProperties": false,
        "properties": {
          "template_id": {
            "enum": [
              "1bhk_north_entry",
              "2bhk_east_entry",
              "3bhk_classic",
              "plot_rectangular",
              "shop_commercial",
              "office_floor",
              "sample_house_delhi"
            ],
            "title": "Template Id",
            "type": "string"
          },
          "width": {
            "default": 1200,
            "description": "Width of the frame the template is drawn into.",
            "maximum": 10000,
            "minimum": 100,
            "title": "Width",
            "type": "integer"
          },
          "height": {
            "default": 800,
            "description": "Height of the frame.",
            "maximum": 10000,
            "minimum": 100,
            "title": "Height",
            "type": "integer"
          }
        },
        "required": [
          "template_id"
        ],
        "title": "TemplateInput",
        "type": "object"
      },
      "TemplatesInput": {
        "additionalProperties": false,
        "properties": {
          "include_preview": {
            "default": false,
            "description": "Add each template's outline and rooms in percent of the frame, for thumbnails.",
            "title": "Include Preview",
            "type": "boolean"
          }
        },
        "title": "TemplatesInput",
        "type": "object"
      },
      "TransitDatesInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "name": {
            "default": "",
            "description": "Name to print in readings.",
            "maxLength": 120,
            "title": "Name",
            "type": "string"
          },
          "house_system": {
            "default": "P",
            "description": "P Placidus, K Koch, W Whole sign, E Equal.",
            "enum": [
              "P",
              "K",
              "W",
              "E"
            ],
            "title": "House System",
            "type": "string"
          },
          "days_ahead": {
            "default": 90,
            "description": "Look-ahead window in days.",
            "maximum": 1830,
            "minimum": 1,
            "title": "Days Ahead",
            "type": "integer"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "TransitDatesInput",
        "type": "object"
      },
      "Turn": {
        "additionalProperties": false,
        "properties": {
          "role": {
            "enum": [
              "user",
              "assistant"
            ],
            "title": "Role",
            "type": "string"
          },
          "content": {
            "maxLength": 4000,
            "minLength": 1,
            "title": "Content",
            "type": "string"
          }
        },
        "required": [
          "role",
          "content"
        ],
        "title": "Turn",
        "type": "object"
      },
      "TwelveMonthInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "start_month": {
            "description": "First of the twelve months, YYYY-MM.",
            "title": "Start Month",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "start_month"
        ],
        "title": "TwelveMonthInput",
        "type": "object"
      },
      "VarshaphalInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "target_year": {
            "description": "Calendar year of the return.",
            "title": "Target Year",
            "type": "integer"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "target_year"
        ],
        "title": "VarshaphalInput",
        "type": "object"
      },
      "VastuAiRankInput": {
        "additionalProperties": false,
        "properties": {
          "remedies": {
            "description": "vastu-analyse data.remedies, as it came.",
            "items": {
              "$ref": "#/components/schemas/Remedy"
            },
            "maxItems": 40,
            "minItems": 1,
            "title": "Remedies",
            "type": "array"
          },
          "defects": {
            "description": "vastu-analyse data.defects, as it came (optional).",
            "items": {
              "$ref": "#/components/schemas/Defect"
            },
            "maxItems": 100,
            "title": "Defects",
            "type": "array"
          },
          "dasha": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunningDasha"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The running dasha; defects in its zones rank higher."
          },
          "goal": {
            "anyOf": [
              {
                "enum": [
                  "career",
                  "marriage",
                  "wealth",
                  "spiritual",
                  "health",
                  "education",
                  "peace",
                  "children",
                  "property",
                  "romance",
                  "fame",
                  "foreign",
                  "travel",
                  "politics",
                  "arts"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The life goal to favour.",
            "title": "Goal"
          },
          "tier": {
            "default": "balanced",
            "description": "fast (Claude Haiku), balanced (Sonnet) or deep (Opus). Sets the price range.",
            "enum": [
              "fast",
              "balanced",
              "deep"
            ],
            "title": "Tier",
            "type": "string"
          }
        },
        "required": [
          "remedies"
        ],
        "title": "RankInput",
        "type": "object"
      },
      "VastuCompareInput": {
        "additionalProperties": false,
        "properties": {
          "a": {
            "$ref": "#/components/schemas/Plan"
          },
          "b": {
            "$ref": "#/components/schemas/Plan"
          },
          "name_a": {
            "default": "A",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name A",
            "type": "string"
          },
          "name_b": {
            "default": "B",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name B",
            "type": "string"
          }
        },
        "required": [
          "a",
          "b"
        ],
        "title": "CompareInput",
        "type": "object"
      },
      "VedicTransitInput": {
        "additionalProperties": false,
        "properties": {
          "birth": {
            "$ref": "#/components/schemas/BirthInput"
          },
          "transit": {
            "$ref": "#/components/schemas/PredictionsNumerologyRemediesMoment"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          }
        },
        "required": [
          "birth",
          "transit"
        ],
        "title": "VedicTransitInput",
        "type": "object"
      },
      "Vertex": {
        "additionalProperties": false,
        "properties": {
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          }
        },
        "required": [
          "latitude",
          "longitude"
        ],
        "title": "Vertex",
        "type": "object"
      },
      "VimshottariDeepInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "depth": {
            "default": "sukshma",
            "description": "Deepest level returned. With prana, prana periods are given for the antardasha running at `as_of`.",
            "enum": [
              "sukshma",
              "prana"
            ],
            "title": "Depth",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
                "type": "string",
                "x-format": "local-date-time"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Local date and time, at the birth's UTC offset, for `current` (and the antardasha subdivided to prana). A date alone means 00:00. Now when omitted.",
            "title": "As Of"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "VimshottariDeepInput",
        "type": "object"
      },
      "VimshottariInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "depth": {
            "default": "antardasha",
            "description": "How many levels of the period tree to return.",
            "enum": [
              "mahadasha",
              "antardasha",
              "pratyantardasha"
            ],
            "title": "Depth",
            "type": "string"
          },
          "as_of": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Date for `current` (YYYY-MM-DD). Today in UTC when omitted.",
            "title": "As Of"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "VimshottariInput",
        "type": "object"
      },
      "VisionInput": {
        "additionalProperties": false,
        "properties": {
          "image_base64": {
            "description": "The floor-plan image file, base64-encoded (a `data:image/...;base64,` prefix is accepted). PNG, JPEG or WebP; at most 3.75 MiB decoded and 8000 px a side.",
            "maxLength": 5400000,
            "minLength": 1,
            "title": "Image Base64",
            "type": "string"
          },
          "mime_type": {
            "anyOf": [
              {
                "enum": [
                  "image/png",
                  "image/jpeg",
                  "image/webp"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The image's type. Required unless image_base64 is a data: URI; must match the file.",
            "title": "Mime Type"
          },
          "tier": {
            "default": "fast",
            "description": "fast (Claude Haiku) or balanced (Sonnet). Sets the price range.",
            "enum": [
              "fast",
              "balanced"
            ],
            "title": "Tier",
            "type": "string"
          }
        },
        "required": [
          "image_base64"
        ],
        "title": "VisionInput",
        "type": "object"
      },
      "VratInput": {
        "additionalProperties": false,
        "properties": {
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "year": {
            "description": "Calendar year, 1900-2200.",
            "title": "Year",
            "type": "integer"
          },
          "observance": {
            "default": "ekadashi",
            "description": "Which observance; see vrat-observances.",
            "enum": [
              "amavasya",
              "ashtami",
              "chandra-darshan",
              "chaturdashi",
              "dwadashi",
              "ekadashi",
              "masik-durgashtami",
              "masik-janmashtami",
              "masik-kalashtami",
              "masik-karthigai",
              "masik-shivaratri",
              "navami",
              "pradosham",
              "purnima",
              "sankashti-chaturthi",
              "satyanarayana-puja",
              "shashthi",
              "skanda-sashti",
              "trayodashi",
              "vinayaka-chaturthi"
            ],
            "title": "Observance",
            "type": "string"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          }
        },
        "required": [
          "latitude",
          "longitude",
          "year"
        ],
        "title": "VratInput",
        "type": "object"
      },
      "WeeklyForecastInput": {
        "additionalProperties": false,
        "properties": {
          "birth": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ChartInput"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A birth; its Moon sign, Sun sign and nakshatra are used (Lahiri)."
          },
          "moon_sign": {
            "anyOf": [
              {
                "enum": [
                  "Aries",
                  "Taurus",
                  "Gemini",
                  "Cancer",
                  "Leo",
                  "Virgo",
                  "Libra",
                  "Scorpio",
                  "Sagittarius",
                  "Capricorn",
                  "Aquarius",
                  "Pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Birth Moon sign (sidereal), instead of `birth`.",
            "title": "Moon Sign"
          },
          "sun_sign": {
            "anyOf": [
              {
                "enum": [
                  "Aries",
                  "Taurus",
                  "Gemini",
                  "Cancer",
                  "Leo",
                  "Virgo",
                  "Libra",
                  "Scorpio",
                  "Sagittarius",
                  "Capricorn",
                  "Aquarius",
                  "Pisces"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Birth Sun sign (sidereal), instead of `birth`.",
            "title": "Sun Sign"
          },
          "nakshatra": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Birth Moon nakshatra, instead of `birth`.",
            "title": "Nakshatra"
          },
          "start_date": {
            "description": "First of the seven days, YYYY-MM-DD.",
            "format": "date",
            "title": "Start Date",
            "type": "string"
          }
        },
        "required": [
          "start_date"
        ],
        "title": "WeeklyForecastInput",
        "type": "object"
      },
      "WesternBirth": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "name": {
            "default": "",
            "description": "Name to print in readings.",
            "maxLength": 120,
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "WesternBirth",
        "type": "object"
      },
      "WesternInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "name": {
            "default": "",
            "description": "Name to print in readings.",
            "maxLength": 120,
            "title": "Name",
            "type": "string"
          },
          "house_system": {
            "default": "P",
            "description": "P Placidus, K Koch, W Whole sign, E Equal.",
            "enum": [
              "P",
              "K",
              "W",
              "E"
            ],
            "title": "House System",
            "type": "string"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "WesternInput",
        "type": "object"
      },
      "YearPlaceInput": {
        "additionalProperties": false,
        "properties": {
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "year": {
            "description": "Calendar year, 1900-2200.",
            "title": "Year",
            "type": "integer"
          }
        },
        "required": [
          "latitude",
          "longitude",
          "year"
        ],
        "title": "YearPlaceInput",
        "type": "object"
      },
      "YearlyForecastInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "name": {
            "default": "",
            "description": "Name to print in readings.",
            "maxLength": 120,
            "title": "Name",
            "type": "string"
          },
          "target_year": {
            "description": "Calendar year of the solar return, e.g. 2026.",
            "maximum": 2399,
            "minimum": 1800,
            "title": "Target Year",
            "type": "integer"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude",
          "target_year"
        ],
        "title": "YearlyForecastInput",
        "type": "object"
      },
      "YogaInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "default": "lahiri",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "node": {
            "default": "true",
            "description": "Lunar node: true (osculating) or mean.",
            "enum": [
              "true",
              "mean"
            ],
            "title": "Node",
            "type": "string"
          },
          "only_present": {
            "default": false,
            "description": "Return only the yogas that are present.",
            "title": "Only Present",
            "type": "boolean"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "YogaInput",
        "type": "object"
      },
      "ZoneInput": {
        "additionalProperties": false,
        "properties": {
          "datetime": {
            "description": "Local date and time, ISO 8601 without offset, e.g. 1990-10-18T14:30:00",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?$",
            "title": "Datetime",
            "type": "string",
            "x-format": "local-date-time"
          },
          "timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "IANA time zone, e.g. Asia/Kolkata",
            "title": "Timezone"
          },
          "utc_offset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed offset such as +05:30, if no IANA zone is known",
            "title": "Utc Offset"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "title": "Longitude",
            "type": "number"
          },
          "ayanamsha": {
            "const": "lahiri",
            "default": "lahiri",
            "description": "This capability is computed with Lahiri only.",
            "title": "Ayanamsha",
            "type": "string"
          },
          "language": {
            "default": "en",
            "description": "Output language (ISO 639-1). Each capability lists the languages it supports.",
            "title": "Language",
            "type": "string"
          },
          "polygon": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Vertex"
                },
                "maxItems": 500,
                "minItems": 3,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Region outline, 3+ vertices.",
            "title": "Polygon"
          },
          "bbox": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BBox"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "goal": {
            "anyOf": [
              {
                "enum": [
                  "career",
                  "marriage",
                  "wealth",
                  "spiritual",
                  "health",
                  "education",
                  "peace",
                  "children",
                  "property",
                  "romance",
                  "fame",
                  "foreign",
                  "travel",
                  "politics",
                  "arts",
                  "business"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Score for one goal; the mean of all sixteen when omitted.",
            "title": "Goal"
          }
        },
        "required": [
          "datetime",
          "latitude",
          "longitude"
        ],
        "title": "ZoneInput",
        "type": "object"
      },
      "Branding": {
        "additionalProperties": false,
        "description": "Optional branding. Without it the PDF is plain and unbranded.",
        "properties": {
          "brand_name": {
            "anyOf": [
              {
                "maxLength": 60,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Printed on the cover and in the running head.",
            "title": "Brand Name"
          },
          "accent": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Hex colour for headings and rules, e.g. #1f4fd1. Must reach 4.5:1 contrast against white.",
            "examples": [
              "#1f4fd1"
            ],
            "title": "Accent"
          },
          "logo": {
            "anyOf": [
              {
                "maxLength": 300000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "data:image/png;base64,... or data:image/svg+xml;base64,..., at most 200 KB. SVG is sanitised.",
            "title": "Logo"
          },
          "footer_note": {
            "anyOf": [
              {
                "maxLength": 200,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Printed at the foot of every page.",
            "title": "Footer Note"
          }
        },
        "title": "Branding",
        "type": "object"
      },
      "PdfJobRequest": {
        "additionalProperties": false,
        "properties": {
          "capability": {
            "description": "A report capability id, e.g. report-marriage. Its own credits are charged too.",
            "title": "Capability",
            "type": "string",
            "enum": [
              "bnn-graha-phala",
              "classical-kundli-report",
              "detailed-life",
              "lal-kitab-prediction",
              "longevity-analysis",
              "matching-report",
              "prediction-bhavesh",
              "prediction-classics",
              "prediction-dasha",
              "prediction-gem",
              "prediction-life-report",
              "prediction-lucky-info",
              "prediction-nakshatra-interp",
              "prediction-nature",
              "prediction-physical",
              "prediction-planetary-dispositions",
              "report-career",
              "report-children",
              "report-education",
              "report-foreign-travel",
              "report-health",
              "report-marriage",
              "report-politics",
              "report-property",
              "report-relocation",
              "report-romance",
              "report-spiritual",
              "report-wealth",
              "synastry-full",
              "synastry-predictions",
              "western-detailed-report",
              "western-yearly-forecast"
            ]
          },
          "input": {
            "additionalProperties": true,
            "description": "That capability's request body, exactly as for POST /v1/{family}/{capability}.",
            "title": "Input",
            "type": "object"
          },
          "branding": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Branding"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Optional branding. Without it the PDF is plain."
          },
          "language": {
            "const": "en",
            "default": "en",
            "description": "Document language. English only for now.",
            "title": "Language",
            "type": "string"
          }
        },
        "required": [
          "capability",
          "input"
        ],
        "title": "PdfJobRequest",
        "type": "object"
      },
      "Job": {
        "type": "object",
        "required": [
          "id",
          "object",
          "kind",
          "capability",
          "status",
          "attempts",
          "credits",
          "created_at",
          "download_url"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "object": {
            "type": "string",
            "const": "job"
          },
          "kind": {
            "type": "string",
            "const": "pdf"
          },
          "capability": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed",
              "expired"
            ]
          },
          "attempts": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3
          },
          "credits": {
            "type": "integer",
            "minimum": 0,
            "description": "Reserved at acceptance (the report's credits + 120); charged on success, released on failure."
          },
          "created_at": {
            "type": "string",
            "description": "UTC timestamp, RFC 3339 with Z."
          },
          "started_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "UTC timestamp, RFC 3339 with Z."
          },
          "finished_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "UTC timestamp, RFC 3339 with Z."
          },
          "error": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          },
          "download_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "description": "Signed URL of the PDF once the job succeeded (no API key needed). Valid 24 hours; poll again for a fresh one while the file is kept."
          },
          "download_expires_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "UTC timestamp, RFC 3339 with Z."
          },
          "file_expires_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "The file is deleted 7 days after the job succeeds."
          }
        }
      },
      "JobEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Job"
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id",
              "api_version",
              "warnings"
            ],
            "properties": {
              "request_id": {
                "type": "string"
              },
              "api_version": {
                "type": "string",
                "const": "v1"
              },
              "credits_reserved": {
                "type": "integer",
                "minimum": 0
              },
              "credits_used": {
                "type": "integer",
                "const": 0,
                "description": "Polling is never charged."
              },
              "warnings": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "replayed": {
                "type": "boolean",
                "const": true
              }
            }
          }
        }
      }
    },
    "responses": {
      "Success": {
        "description": "Success.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          },
          "RateLimit-Limit": {
            "description": "Requests allowed in the current window.",
            "schema": {
              "type": "integer"
            }
          },
          "RateLimit-Remaining": {
            "description": "Requests left in the current window.",
            "schema": {
              "type": "integer"
            }
          },
          "RateLimit-Reset": {
            "description": "Seconds until the window resets.",
            "schema": {
              "type": "integer"
            }
          },
          "Idempotent-Replayed": {
            "description": "`true` when the response is a replay for a repeated Idempotency-Key.",
            "schema": {
              "type": "string",
              "enum": [
                "true"
              ]
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Envelope"
            }
          }
        }
      },
      "Error400": {
        "description": "The request could not be read: invalid JSON, a key in the URL, or a bad Idempotency-Key. Known codes: `invalid_request`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error401": {
        "description": "The API key is missing, invalid, revoked or expired. Known codes: `invalid_key`, `expired_key`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error402": {
        "description": "The plan's payment is overdue past its grace period: live calls stop until it is paid. Sandbox keys still work. Known codes: `payment_required`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error403": {
        "description": "The account is not active. Known codes: `account_suspended`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error404": {
        "description": "There is no such capability, job or file. Known codes: `not_found`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error409": {
        "description": "The Idempotency-Key was reused with a different body, is still in progress, or expired. Known codes: `idempotency_conflict`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error413": {
        "description": "The request body is larger than 1 MiB. It was not read, and not charged. Known codes: `payload_too_large`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error422": {
        "description": "The input failed validation. `field` names the problem. `unsupported_language`: `language` names a language this capability cannot write in; `supported` lists the ones it does (also its `x-languages`). Known codes: `invalid_request`, `unsupported_language`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error429": {
        "description": "Rate limit reached (retry after `Retry-After`), credits/quota exhausted, the opt-in overage's monthly spend cap reached (`spend_cap_reached`: raise the cap or top up; retrying will not help), or the key's project has used its monthly credit budget (`project_budget_exceeded`: raise the budget or wait for next month; retrying will not help). Known codes: `rate_limited`, `quota_exhausted`, `spend_cap_reached`, `project_budget_exceeded`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          },
          "RateLimit-Limit": {
            "description": "Requests allowed in the current window.",
            "schema": {
              "type": "integer"
            }
          },
          "RateLimit-Remaining": {
            "description": "Requests left in the current window.",
            "schema": {
              "type": "integer"
            }
          },
          "RateLimit-Reset": {
            "description": "Seconds until the window resets.",
            "schema": {
              "type": "integer"
            }
          },
          "Retry-After": {
            "description": "Seconds to wait before retrying (rate_limited).",
            "schema": {
              "type": "integer"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error500": {
        "description": "The calculation failed on our side. Not charged; safe to retry with the same Idempotency-Key. Known codes: `computation_failed`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error502": {
        "description": "The calculation service returned an unusable answer. Not charged; retry with backoff. Known codes: `unavailable`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error503": {
        "description": "The calculation service is temporarily unavailable, the capability (or its family) is switched off (`temporarily_unavailable`), or the API is in scheduled maintenance (`maintenance`; retry after `Retry-After`). Never charged. Known codes: `unavailable`, `temporarily_unavailable`, `maintenance`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          },
          "Retry-After": {
            "description": "Seconds until the maintenance window is expected to end.",
            "schema": {
              "type": "integer"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error504": {
        "description": "The calculation took too long. Not charged; retry with backoff. Known codes: `deadline_exceeded`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Error410": {
        "description": "The download link or the file has expired. Known codes: `link_expired`, `file_expired`.",
        "headers": {
          "X-Request-Id": {
            "description": "Identifier of this request; quote it to support.",
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    },
    "parameters": {
      "IdempotencyKey": {
        "name": "Idempotency-Key",
        "in": "header",
        "required": false,
        "description": "Makes retries safe: a repeated key with the same body replays the stored response and is never charged twice.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Authorization: Bearer sk_live_... or sk_test_..."
      },
      "apiKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "Alternative header."
      }
    }
  }
}
