{
  "info": {
    "name": "AstroAPI.io — current calculation API",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "Eighteen source-defined calculation routes. Import locally and set ASTROAPI_KEY in a private, unsynced environment or supported secret store; do not put a real key in the collection or share/export it. Requests use real quota and may remain billable after invalid input, engine failure or timeout; do not configure automatic retries. All examples use synthetic birth data. Timeline requires Pro. Horoscope is beta. These are unversioned URLs, not a future v1 API; this collection is not proof of deployment. Eleven additive beta routes use the standard one-unit quota; Placidus is opt-in beta without polar fallback. No practitioner sign-off is claimed. Vimshottari depth2 remains the default; opt-in depth3 adds729pratyantardashas. Solar-arcs are symbolic true tropical directions, not a physical chart."
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{ASTROAPI_KEY}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.astroapi.io",
      "type": "string"
    }
  ],
  "protocolProfileBehavior": {
    "followRedirects": false
  },
  "item": [
    {
      "name": "birth-chart",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"date\": \"2000-01-01\",\n  \"time\": \"12:00\",\n  \"timezone\": \"UTC\",\n  \"lat\": 0,\n  \"lon\": 0,\n  \"zodiac\": \"sidereal\",\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/birth-chart",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "birth-chart"
          ]
        },
        "description": "Authenticated server-side calculation. Set the request timeout to 20000 ms. Preserve the documented response envelope; see openapi.json."
      },
      "response": []
    },
    {
      "name": "aspects",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"zodiac\": \"sidereal\",\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/aspects",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "aspects"
          ]
        },
        "description": "Authenticated server-side calculation. Set the request timeout to 20000 ms. Preserve the documented response envelope; see openapi.json."
      },
      "response": []
    },
    {
      "name": "houses",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"system\": \"whole_sign\",\n  \"zodiac\": \"sidereal\",\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/houses",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "houses"
          ]
        },
        "description": "Authenticated server-side calculation. Set the request timeout to 20000 ms. Preserve the documented response envelope; see openapi.json."
      },
      "response": []
    },
    {
      "name": "synastry",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"personA\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"personB\": {\n    \"date\": \"1990-06-15\",\n    \"time\": \"08:30\",\n    \"timezone\": \"Asia/Kolkata\",\n    \"lat\": 28.6139,\n    \"lon\": 77.209\n  },\n  \"zodiac\": \"sidereal\",\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/synastry",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "synastry"
          ]
        },
        "description": "Authenticated server-side calculation. Set the request timeout to 20000 ms. Preserve the documented response envelope; see openapi.json."
      },
      "response": []
    },
    {
      "name": "transits",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"transitDate\": \"2026-09-14\",\n  \"transitTime\": \"12:00\",\n  \"timezone\": \"UTC\",\n  \"zodiac\": \"sidereal\",\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/transits",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "transits"
          ]
        },
        "description": "Authenticated server-side calculation. Set the request timeout to 20000 ms. Preserve the documented response envelope; see openapi.json."
      },
      "response": []
    },
    {
      "name": "horoscope",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"transitDate\": \"2026-09-14\",\n  \"transitTime\": \"12:00\",\n  \"timezone\": \"UTC\",\n  \"zodiac\": \"sidereal\",\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/horoscope",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "horoscope"
          ]
        },
        "description": "Beta structured interpretation, not generated narrative or a predictive guarantee. Set the request timeout to 20000 ms."
      },
      "response": []
    },
    {
      "name": "nakshatra-timeline",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"planet\": \"moon\",\n  \"start_utc\": \"2026-09-14T00:00:00Z\",\n  \"end_utc\": \"2026-09-16T00:00:00Z\",\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/nakshatra-timeline",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "nakshatra-timeline"
          ]
        },
        "description": "Pro only; one admitted timeline unit. Set the request timeout to 70000 ms for the long-range operation. Maximum 180 days; example is two days. Hourly discovery is not an exhaustive event search."
      },
      "response": []
    },
    {
      "name": "natal-svg",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"house_system\": \"placidus\",\n  \"theme\": \"dark\",\n  \"show_aspects\": true,\n  \"zodiac\": \"sidereal\",\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/natal-svg",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "natal-svg"
          ]
        },
        "description": "Beta calculateNatalSvg. Standard one-unit quota. Engine timeout 15000 ms; no automatic retries. Synthetic input only."
      },
      "response": []
    },
    {
      "name": "vargas",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"division\": 9,\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/vargas",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "vargas"
          ]
        },
        "description": "Beta calculateVargas. Standard one-unit quota. Engine timeout 15000 ms; no automatic retries. Synthetic input only."
      },
      "response": []
    },
    {
      "name": "vimshottari",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/vimshottari",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "vimshottari"
          ]
        },
        "description": "Beta calculateVimshottari. Standard one-unit quota. Engine timeout 15000 ms; no automatic retries. Synthetic input only. Optional depth:3 adds729third-level periods; omission or2 preserves the existing response. No arbitrary recursion."
      },
      "response": []
    },
    {
      "name": "composite",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"personA\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"personB\": {\n    \"date\": \"1990-06-15\",\n    \"time\": \"08:30\",\n    \"timezone\": \"Asia/Kolkata\",\n    \"lat\": 28.6139,\n    \"lon\": 77.209\n  },\n  \"zodiac\": \"tropical\",\n  \"house_system\": \"equal\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/composite",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "composite"
          ]
        },
        "description": "Beta calculateComposite. One standard-call unit under existing plans, including failed admitted attempts. Engine timeout 15000 ms; no automatic retries. Explicit conventions and limitations in OpenAPI."
      },
      "response": []
    },
    {
      "name": "panchang",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"at\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"Asia/Kolkata\",\n    \"lat\": 28.6139,\n    \"lon\": 77.209\n  },\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/panchang",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "panchang"
          ]
        },
        "description": "Beta calculatePanchang. One standard-call unit under existing plans, including failed admitted attempts. Engine timeout 15000 ms; no automatic retries. Explicit conventions and limitations in OpenAPI."
      },
      "response": []
    },
    {
      "name": "secondary-progressions",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"target\": {\n    \"date\": \"2026-09-14\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\"\n  },\n  \"zodiac\": \"tropical\",\n  \"house_system\": \"equal\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/secondary-progressions",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "secondary-progressions"
          ]
        },
        "description": "Beta calculateSecondaryProgressions. One standard-call unit under existing plans, including failed admitted attempts. Engine timeout 15000 ms; no automatic retries. Explicit conventions and limitations in OpenAPI."
      },
      "response": []
    },
    {
      "name": "varga-svg",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"division\": 1,\n  \"layout\": \"north_indian\",\n  \"theme\": \"dark\",\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/varga-svg",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "varga-svg"
          ]
        },
        "description": "Beta calculateVargaSvg. One standard-call unit under existing plans, including failed admitted attempts. Engine timeout 15000 ms; no automatic retries. Explicit conventions and limitations in OpenAPI."
      },
      "response": []
    },
    {
      "name": "calculateLunarNodes",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"at\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\"\n  },\n  \"zodiac\": \"sidereal\",\n  \"ayanamsa\": \"lahiri\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/lunar-nodes",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "lunar-nodes"
          ]
        },
        "description": "Beta calculation; one standard quota unit per admitted attempt. See OpenAPI and the beta guide for supported fields and limits."
      },
      "response": []
    },
    {
      "name": "calculateReturns",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"body\": \"sun\",\n  \"after\": {\n    \"date\": \"2026-09-14\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\"\n  },\n  \"zodiac\": \"tropical\",\n  \"house_system\": \"equal\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/returns",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "returns"
          ]
        },
        "description": "Beta calculation; one standard quota unit per admitted attempt. See OpenAPI and the beta guide for supported fields and limits."
      },
      "response": []
    },
    {
      "name": "Solar arcs (beta)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"birth\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\",\n    \"lat\": 0,\n    \"lon\": 0\n  },\n  \"target\": {\n    \"date\": \"2026-09-15\",\n    \"time\": \"12:00\",\n    \"timezone\": \"UTC\"\n  },\n  \"zodiac\": \"tropical\",\n  \"house_system\": \"equal\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/solar-arcs",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "solar-arcs"
          ]
        },
        "description": "Symbolic direct true TROPICAL solar arc applied uniformly to natal planets and Ascendant/MC, not a physical sky chart or mean/Naibod arc. Input and day-for-year timing match secondary progressions: target UTC >= birth, fixed365.2421904-day TT year, civil dates1900–2050, strict fields/enums/numbers and DST/polar rejection. Sidereal uses the natal-date ayanamsa only; both arc Sun reference longitudes remain tropical. Equal/Whole Sign houses are synthetic from directed Ascendant, with MC independently directed. No relocation, converse arc, aspects, nodes, speeds or arbitrary year model. Internal evaluation is bounded to152progressed TT days and at most5Sun intervals of32days.\n\nAll plans use one standard quota unit reserved before validation or engine work; admitted failures are not refunded. No automatic retries or practitioner sign-off."
      },
      "response": []
    },
    {
      "name": "moon-phases",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"mode\": \"instant\",\n  \"at\": {\n    \"date\": \"2026-01-18\",\n    \"time\": \"19:52\",\n    \"timezone\": \"UTC\"\n  },\n  \"display_timezone\": \"America/New_York\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/moon-phases",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "moon-phases"
          ]
        },
        "description": "Explicit instant mode returns a named display sector, Moon-minus-Sun ecliptic longitude and separately calculated spherical illuminated fraction. Calendar mode returns primary longitude crossings, not eclipse predictions or visibility. Dates 1900–2050; calendar spans at most 366 UTC days. No coordinates, zodiac, user kernels or arbitrary search tuning. Uses existing DE421 and bundled time-scale data; future UTC assumes the bundled leap-second schedule. Experimental beta: one-second output and millisecond root convergence are not accuracy guarantees. Independent 2026 USNO comparison has a 60-second tolerance; broader epoch/time-scale acceptance remains separate. Each admitted request reserves one standard monthly quota unit, including invalid inputs and timeouts. All plans; no automatic retries. Source availability does not establish deployment. Each admitted request reserves one monthly usage unit before route validation or engine work; failed or timed-out admitted attempts are not refunded. Do not automatically retry."
      },
      "response": []
    },
    {
      "name": "calculateDavison",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"personA\": {\n    \"date\": \"2000-01-01\",\n    \"time\": \"12:00\",\n    \"lat\": 40,\n    \"lon\": -74\n  },\n  \"personB\": {\n    \"date\": \"2000-01-03\",\n    \"time\": \"12:00\",\n    \"lat\": 50,\n    \"lon\": 2\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/api/astro/davison",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "astro",
            "davison"
          ]
        },
        "description": "Uncorrected Davison with a uniform-TT time mean and arithmetic latitude/longitude after +180 is canonicalized to -180. Not a shortest-arc/spherical midpoint or corrected-MC chart. No nodes, relocation, Placidus or interpretations. Unknown fields and ambiguous/nonexistent civil times reject. See DAVISON_CONVENTIONS.md.\n\nEvery admitted attempt reserves one standard monthly unit, including errors. No automatic retries. Local implementation is not proof of deployment."
      },
      "response": []
    }
  ]
}
