{"openapi":"3.1.0","info":{"title":"astroAPI","version":"1.0.0","description":"Kommerzielle REST-API fuer astrologische Berechnungen auf Basis der\n**Swiss Ephemeris**.\n\n## Schnellstart\n\n1. Lies `GET /v1/health` (oeffentlich) und stelle sicher, dass die API\n   `200 OK` antwortet.\n2. Sende deinen API-Key im Header `X-API-Key: ak_test_...`. Den Demo-Key\n   gibt es im [Playground](/docs/playground); produktive Keys legt der\n   Admin auf Anfrage an.\n3. Probiere `GET /v1/me` — du bekommst dein Plan-Limit zurueck.\n4. Berechne dein erstes Horoskop: `POST /v1/radix` mit\n   `{\"datetime\":\"2026-04-20T12:00:00Z\",\"location\":{\"latitude\":52.52,\"longitude\":13.41}}`.\n\nAlle deterministischen Berechnungs-Endpunkte unterstuetzen HTTP-Caching\nueber `ETag` + `If-None-Match` (→ `304 Not Modified`) und liefern\n`Cache-Control: public, max-age=31536000, immutable`.\n\n## Antwortformat\n\nErfolg: `{ \"...inhalt...\" }` mit HTTP 200.\nFehler: `{ \"error\": { \"code\": \"...\", \"message\": \"...\", \"request_id\": \"...\" } }`\nmit dem passenden HTTP-Status (400, 401, 404, 429, 500). `request_id` ist\nein UUID, das bei Support-Anfragen weiterhilft.\n\n## Rate-Limit\n\nPro Plan und Stunde gilt ein Limit, das ueber die Header\n`X-RateLimit-Limit`, `X-RateLimit-Remaining` und `Retry-After` (bei 429)\nausgewiesen wird. Der Header `X-RateLimit-Source` zeigt, ob das\nLimit-Backend Redis (Sliding-Window) oder die DB-Failover-Tabelle ist.\n\n## Doku & Tools\n\n- **Reference (diese Seite)**: maschinenlesbare Spec + ReDoc.\n- **Doku-Hub**: Quickstart, Code-Snippets cURL/PHP/JS/Python unter\n  [/docs](/docs).\n- **Playground**: probieren ohne eigenen Key auf\n  [/docs/playground](/docs/playground).","contact":{"email":"ai@rd5.org"},"license":{"name":"Proprietary"}},"servers":[{"url":"https://astroapi.services","description":"Produktiv"},{"url":"http://astroapi.test","description":"Lokale Entwicklung"}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"Allgemein","description":"Service- und Account-Endpunkte. `GET /v1/health` ist oeffentlich\n(Monitoring); alle anderen Endpunkte verlangen einen API-Key im Header\n`X-API-Key`. `GET /v1/me` liefert die Eckdaten zum eigenen Client (Plan,\nStundenlimit, Schluessel-Umgebung)."},{"name":"Berechnung","description":"Astrologische Berechnungen auf Basis der Swiss Ephemeris. Alle Endpunkte\nhier sind **deterministisch**: gleiche Eingabe → gleiche Ausgabe. Daher\nliefern sie HTTP-Cache-Header (`Cache-Control: public, max-age=31536000,\nimmutable` + `ETag`), sodass Clients via `If-None-Match` 304 erhalten.\n\nBegriffsklaerung der wichtigsten Konzepte:\n\n- **Aspekt**: Winkelbeziehung zwischen zwei Punkten (0°, 60°, 90°, 120°,\n  180° u.a.). Der \"Orb\" ist die zugelassene Abweichung.\n- **Antiscium**: Spiegelung einer Laenge an der Achse 0° Krebs / 0°\n  Steinbock; Contra-Antiscium an 0° Widder / 0° Waage.\n- **Declination**: Abstand vom Himmelsaequator (statt von der Ekliptik\n  wie die Laenge). Parallels = gleiche Deklination, Contra-Parallels =\n  gleicher Betrag entgegengesetzt.\n- **Dignity (Wuerde)**: Klassische Sign-Beziehungen eines Planeten —\n  Domizil, Exaltation, Triplizitaet, Term/Bound, Face/Decan, Detriment,\n  Fall. Der \"Almuten\" eines Grades ist der Planet mit der hoechsten\n  Score-Summe.\n- **Firdaria**: Persisch-arabisches Zeit-Herrschaftssystem (Abu Ma'shar),\n  9 Hauptperioden ueber 75 Jahre Lebensspanne, sect-abhaengig.\n- **Heliacal Rising/Setting**: Erst-/Letztsichtbarkeit eines Sterns oder\n  Planeten am Morgen-/Abendhimmel relativ zur Sonne.\n- **Ingress**: Eintritt eines Planeten in ein neues Tierkreis-Zeichen.\n- **Lot (Arabischer Punkt)**: Abgeleiteter Punkt nach klassischer Formel,\n  z.B. Lot of Fortune = Asc + Mond − Sonne (Tag-Variante).\n- **Profection**: Whole-Sign-Time-Lord-System ab dem Aszendenten.\n- **Return**: Rueckkehr eines Planeten zur exakten Geburtslaenge (Solar\n  Return = Geburtstag, Lunar Return = monatlich, etc.).\n- **Station**: Wendepunkt eines Planeten zwischen direkt und retrograd.\n- **Void of Course**: Phase, in der der Mond keinen exakten Aspekt mehr\n  zu einem klassischen Planeten bildet, bevor er das Sign verlaesst.\n- **Zodiacal Releasing**: Hellenistisches Time-Lord-System nach Vettius\n  Valens, rekursiv ueber bis zu 4 Levels (L1..L4) ab einem Lot."},{"name":"Partnerschaft","description":"Endpunkte, die zwei Geburtsdaten zueinander in Beziehung setzen\n(Synastrie, Composite, Davison). Eingabe: zwei Person-Bloecke, jeweils\nmit Geburtsdatum, -ort und ggf. Hauesser-System."}],"paths":{"/v1/health":{"get":{"tags":["Allgemein"],"summary":"Status der API und der Datenbank.","description":"Monitoring-Endpunkt, ohne API-Key aufrufbar. Liefert 200, wenn die API laeuft und die Datenbank erreichbar ist, 503 sonst.","operationId":"getV1Health","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1HealthGetResponse"},"example":{"status":"ok","database":"connected","timestamp":"2026-04-15T18:00:00+00:00"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"security":[]}},"/v1/me":{"get":{"tags":["Allgemein"],"summary":"Info zum eigenen Client (Name, Plan, Rate-Limit).","description":"Praktisch, um schnell zu pruefen, dass ein API-Key gueltig ist und welcher Plan zugeordnet ist.","operationId":"getV1Me","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1MeGetResponse"},"example":{"client":{"id":1,"name":"Testkunde"},"plan":{"code":"free","label":"Free","requests_per_hour":60},"key":{"environment":"test"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}}}},"/v1/planets":{"get":{"tags":["Berechnung"],"summary":"Ekliptikale Positionen und Geschwindigkeiten aller Standardpunkte fuer einen Zeitpunkt.","description":"Liefert Laenge, Breite, Distanz und die drei Geschwindigkeitskomponenten fuer Sonne, Mond, Merkur, Venus, Mars, Jupiter, Saturn, Uranus, Neptun, Pluto, Mean/True Node, Mean/Osculating Apogee (Lilith), Earth und Chiron. Geozentrisch — keine Ortsangabe noetig.","operationId":"getV1Planets","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1PlanetsGetResponse"},"example":{"datetime_utc":"2026-04-15T12:00:00.000000Z","julian_day_ut":2461146.0,"ephemeris":"swiss","planets":{"sun":{"longitude":25.53,"latitude":3.0e-5,"distance":1.0,"longitude_speed":0.979,"latitude_speed":3.2e-5,"distance_speed":0.00028},"moon":{"longitude":358.79,"latitude":1.82,"distance":0.00249,"longitude_speed":13.99,"latitude_speed":1.17,"distance_speed":-3.4e-5}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"name":"datetime","in":"query","required":true,"description":"ISO 8601, UTC (z.B. \"2026-04-15T12:00:00Z\")","schema":{"type":"string"}}]}},"/v1/aspects":{"post":{"tags":["Berechnung"],"summary":"Berechnet Aspekte zwischen Positionen. Fuer freie Positionslisten oder Synastrie.","description":"Entweder \"positions\" (und optional \"positions_b\" fuer Synastrie) oder \"datetime\" uebergeben. Orben sind frei konfigurierbar ueber Presets oder eigene Werte. Liefert pro Aspekt Orbis, Applying/Separating, Exaktpunkt in Tagen und normierte Staerke.","operationId":"postV1Aspects","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1AspectsPostResponse"},"example":{"settings":{"aspect_names":["conjunction","opposition","trine","square","sextile"],"orbs":{"preset":"classic","max":3.0},"mode":"single"},"total_strength":4.82,"aspects":[{"first":"sun","second":"moon","aspect":"square","angle":90,"orb":2.15,"orb_percent":28.3,"strength":0.297,"applying":true,"exact_in_days":0.164}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"positions":{"description":"{ \"sun\": { \"longitude\": 25.5, \"speed\": 0.98 }, ... } — alternativ kann pro Punkt nur eine Zahl (longitude) uebergeben werden.","type":"object"},"positions_b":{"description":"Zweite Positionsliste fuer Synastrie. Dann werden nur Kreuz-Paare (A×B) berechnet.","type":"object"},"datetime":{"description":"ISO 8601 UTC. Alternative zu \"positions\": API berechnet die Standardplaneten selbst.","type":"string"},"aspect_types":{"description":"[\"major\"] | [\"minor\"] | [\"major\",\"minor\"]. Default: [\"major\"].","type":"array"},"aspects":{"description":"Explizite Liste, z.B. [\"conjunction\",\"trine\",\"square\"].","type":"array"},"orbs":{"description":"Preset-Name (\"classic\" | \"tight\" | \"transit\" | \"progression\") oder Objekt mit { \"max\": 5 } und/oder { \"conjunction\": 3, ... }. Default: \"classic\".","oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}}}}}}}},"/v1/radix":{"post":{"tags":["Berechnung"],"summary":"Kompletter Radix: Planeten + Haeuser + Aspekte in einer Antwort.","description":"Der zentrale Radix-Endpunkt. Nimmt Geburtsdaten und Ort entgegen und liefert per \"include\"-Parameter steuerbar Planetenpositionen, Haeusersystem und Aspekte. Default: alle drei.","operationId":"postV1Radix","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1RadixPostResponse"},"example":{"input":{"datetime":"1980-05-17T14:32:00","timezone":"Europe/Berlin","location":{"latitude":52.52,"longitude":13.405},"house_system":"koch"},"planets":{"sun":{"longitude":56.84,"...":"..."}},"houses":{"1":170.789,"2":199.386,"...":"..."},"aspects":{"list":[{"first":"sun","second":"moon","aspect":"square","orb":2.15}]}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"birth.datetime":{"description":"ISO 8601, z.B. \"1980-05-17T14:32:00\".","type":"string"},"birth.timezone":{"description":"IANA-Zone. Pflicht, wenn datetime keinen Offset enthaelt.","type":"string"},"birth.location.latitude":{"description":"Dezimalgrad.","type":"number"},"birth.location.longitude":{"description":"Dezimalgrad.","type":"number"},"options.house_system":{"description":"Default \"koch\". Alle Werte siehe Doku \"Haeusersysteme\".","type":"string"},"options.include":{"description":"Teilmenge von [\"planets\",\"houses\",\"aspects\"]. Default alle drei.","type":"array"},"options.aspects.orbs":{"description":"Orben-Konfiguration wie bei /v1/aspects.","oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]},"options.aspects.aspect_types":{"description":"Welche Kategorien.","type":"array"},"options.aspects.include_axes":{"description":"AC und MC als Aspekt-Punkte? Default true.","type":"boolean"}},"required":["birth.datetime","birth.location.latitude","birth.location.longitude"]}}}}}},"/v1/transits":{"post":{"tags":["Berechnung"],"summary":"Transite gegen ein Radix. Snapshot (Zeitpunkt) oder Window (Zeitraum mit Exaktpunkten).","description":"Liefert entweder aktuell wirksame Transit-Aspekte zum Zeitpunkt \"at\" (Snapshot-Modus) oder alle Aspekt-Exaktereignisse zwischen \"start\" und \"end\" (Window-Modus, inklusive Retrograd-Mehrfachtreffer). Radix-Input entweder als Geburtsdaten (\"natal\") oder als vorberechnete Positionen (\"natal_positions\").","operationId":"postV1Transits","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1TransitsPostResponse"},"example":{"mode":"window","settings":{"start":"2026-04-15T00:00:00Z","end":"2026-05-15T00:00:00Z","step_days":1.0,"transit_points":["jupiter","saturn"]},"event_count":3,"events":[{"transit_point":"jupiter","natal_point":"sun","aspect":"trine","angle":120,"exact_at":"2026-04-23T08:14:00Z","transit_longitude":145.53,"transit_speed":0.21,"retrograde":false}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"natal":{"description":"Geburtsdaten: { datetime, timezone, location: {latitude, longitude} }. Alternativ \"natal_positions\" nutzen.","type":"object"},"natal_positions":{"description":"Vorberechnete Radix-Positionen: { sun: 25.53, moon: 358.79, ascendant: 170.79, ... }.","type":"object"},"at":{"description":"Zeitpunkt (ISO 8601) fuer Snapshot-Modus. Alternativ \"start\"+\"end\" nutzen.","type":"string"},"start":{"description":"Fenster-Beginn fuer Window-Modus.","type":"string"},"end":{"description":"Fenster-Ende fuer Window-Modus.","type":"string"},"step_days":{"description":"Abtast-Schrittweite in Tagen (Window-Modus). Default: 1.0; 0.5 wenn Mars/Venus/Merkur/Sonne; 0.25 wenn Mond.","type":"number"},"transit_points":{"description":"Welche beweglichen Punkte. Default: Sonne-Pluto + Chiron.","type":"array"},"aspect_types":{"description":"[\"major\"] | [\"minor\"] | [\"major\",\"minor\"]. Default: [\"major\"].","type":"array"},"aspects":{"description":"Explizite Aspekt-Liste, ueberschreibt aspect_types.","type":"array"},"orbs":{"description":"Orben-Konfiguration wie bei /v1/aspects. Default: \"transit\" (1° pauschal) — passt zur Natur des Transits.","oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}}}}}}}},"/v1/progressions":{"post":{"tags":["Berechnung"],"summary":"Sekundaer-Progression oder Solararc-Direktion. Snapshot oder Window.","description":"Progressierte Positionen und Exakt-Kontakte mit Radix. \"method\": \"secondary\" (1 Tag = 1 Jahr) oder \"solar_arc\" (alle Punkte um Sonnenbogen verschoben). Snapshot via \"age_years\"/\"at\", Window via \"age_start\"/\"age_end\". Default-Orben: \"progression\" (1° pauschal).","operationId":"postV1Progressions","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ProgressionsPostResponse"},"example":{"mode":"window","method":"secondary","settings":{"age_start":40,"age_end":50,"step_years":0.1},"event_count":12,"events":[{"moving_point":"sun","natal_point":"moon","aspect":"square","angle":90,"exact_at_years":43.215,"exact_at":"2023-07-14T14:32:00Z","moving_longitude":88.79,"retrograde":false}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"method":{"description":"\"secondary\" (Default) oder \"solar_arc\".","type":"string"},"natal":{"description":"{ datetime, timezone, location } — API berechnet Radix-Positionen und Haeuser.","type":"object"},"natal_positions":{"description":"Vorberechnete Radix-Longitudes. Braucht dann zusaetzlich \"birth_jd\" (Julian Day UT der Geburt).","type":"object"},"birth_jd":{"description":"Julian Day UT der Geburt. Pflicht wenn \"natal_positions\" statt \"natal\" genutzt wird.","type":"number"},"age_years":{"description":"Zielalter in Jahren (Snapshot). Alternative: \"at\".","type":"number"},"at":{"description":"Zieldatum ISO 8601 (Snapshot). Wird aus Geburts-JD in Alter umgerechnet.","type":"string"},"age_start":{"description":"Fenster-Beginn in Jahren. Zusammen mit \"age_end\" aktiviert Window-Modus.","type":"number"},"age_end":{"description":"Fenster-Ende in Jahren.","type":"number"},"step_years":{"description":"Schrittweite fuer Window-Scan. Default 0.1 Jahr (~37 Tage).","type":"number"},"moving_points":{"description":"Welche Punkte progressiert werden. Default: Sonne-Pluto + Chiron.","type":"array"},"aspect_types|aspects|orbs":{"description":"Wie bei anderen Endpunkten. Default-Orben: \"progression\" (1° pauschal).","oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]}}}}}}}},"/v1/returns":{"post":{"tags":["Berechnung"],"summary":"Wiederkehrhoroskope (Returns): Sonne, Mond, Merkur, Venus, Mars, Jupiter, Saturn.","description":"Findet den/die naechsten Zeitpunkt/e, an denen der/die Transitplanet/en die Radix-Laenge wieder erreichen. Optional wird fuer jedes Return ein komplettes Chart am Return-Ort berechnet (Planeten, Haeuser, Aspekte). Retrograde Mehrfachreturns bei Merkur/Venus/Mars werden korrekt gefunden.","operationId":"postV1Returns","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ReturnsPostResponse"},"example":{"settings":{"planets":["sun","jupiter"],"from":"2026-01-01T00:00:00Z","count":1},"returns":{"sun":[{"planet":"sun","natal_longitude":56.84,"exact_at":"2026-05-17T17:21:08Z","retrograde_at_exact":false,"chart":{"planets":{"...":"..."},"houses":{"...":"..."},"aspects":["..."]}}]}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"natal":{"description":"{ datetime, timezone, location } — API berechnet Radix-Planetenlaengen selbst.","type":"object"},"natal_positions":{"description":"Vorberechnete Radix-Laengen. Dann ist \"location\" Pflicht (Return-Chart-Ort).","type":"object"},"planet":{"description":"String oder Array. Moegliche Werte: sun, moon, mercury, venus, mars, jupiter, saturn.","oneOf":[{"type":"string"},{"type":"number"},{"type":"object"}]},"from":{"description":"ISO 8601. Startpunkt der Suche. Default: aktueller Zeitpunkt (UTC).","type":"string"},"count":{"description":"Anzahl Returns pro Planet. Default 1, Maximum 50.","type":"integer"},"location":{"description":"Ort fuer das Return-Chart. Default: Geburtsort (wenn \"natal\" uebergeben wurde).","type":"object"},"include":{"description":"Teilmenge von [\"chart\",\"houses\",\"aspects\"]. Default: alle drei.","type":"array"},"house_system":{"description":"Haeusersystem fuer das Return-Chart. Default \"koch\".","type":"string"},"aspects":{"description":"{ orbs, aspect_types, aspects } — wie bei /v1/radix.","type":"object"}},"required":["planet"]}}}}}},"/v1/mercury-return":{"post":{"tags":["Berechnung"],"summary":"Mercury-Return — Convenience-Alias fuer /v1/returns mit planet=mercury.","description":"Identisch zu /v1/returns, der Transitplanet ist auf Merkur fixiert. Fuer Merkur typischerweise 3 Returns pro Jahr (direkt → retrograd → direkt). Body, Validierung und Antwort identisch zum generischen Endpunkt — siehe /v1/returns fuer das vollstaendige Schema.","operationId":"postV1MercuryReturn","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"natal":{"description":"Wie /v1/returns — Geburtsdaten oder natal_positions.","type":"object"},"from":{"description":"Suchstart (ISO 8601 UTC). Default: jetzt.","type":"string"},"count":{"description":"Anzahl Returns. Default 1, Maximum 50.","type":"integer"},"location":{"description":"","type":"object"},"include":{"description":"","type":"array"},"house_system":{"description":"","type":"string"}}}}}}}},"/v1/venus-return":{"post":{"tags":["Berechnung"],"summary":"Venus-Return — Convenience-Alias fuer /v1/returns mit planet=venus.","description":"Identisch zu /v1/returns, der Transitplanet ist auf Venus fixiert. Auch Venus-Returns koennen in Retrograd-Phasen drei Treffer pro Zyklus aufweisen. Body und Antwort identisch zum generischen Endpunkt — siehe /v1/returns.","operationId":"postV1VenusReturn","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"natal":{"description":"","type":"object"},"from":{"description":"","type":"string"},"count":{"description":"","type":"integer"},"location":{"description":"","type":"object"},"include":{"description":"","type":"array"},"house_system":{"description":"","type":"string"}}}}}}}},"/v1/mars-return":{"post":{"tags":["Berechnung"],"summary":"Mars-Return — Convenience-Alias fuer /v1/returns mit planet=mars.","description":"Identisch zu /v1/returns, der Transitplanet ist auf Mars fixiert. Mars-Returns kommen ungefaehr alle zwei Jahre und koennen retrograd dreifach treffen. Body und Antwort identisch zum generischen Endpunkt — siehe /v1/returns.","operationId":"postV1MarsReturn","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"natal":{"description":"","type":"object"},"from":{"description":"","type":"string"},"count":{"description":"","type":"integer"},"location":{"description":"","type":"object"},"include":{"description":"","type":"array"},"house_system":{"description":"","type":"string"}}}}}}}},"/v1/jupiter-return":{"post":{"tags":["Berechnung"],"summary":"Jupiter-Return — Convenience-Alias fuer /v1/returns mit planet=jupiter.","description":"Identisch zu /v1/returns, der Transitplanet ist auf Jupiter fixiert. Jupiter-Returns kommen alle ~12 Jahre. Body und Antwort identisch zum generischen Endpunkt — siehe /v1/returns.","operationId":"postV1JupiterReturn","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"natal":{"description":"","type":"object"},"from":{"description":"","type":"string"},"count":{"description":"","type":"integer"},"location":{"description":"","type":"object"},"include":{"description":"","type":"array"},"house_system":{"description":"","type":"string"}}}}}}}},"/v1/saturn-return":{"post":{"tags":["Berechnung"],"summary":"Saturn-Return — Convenience-Alias fuer /v1/returns mit planet=saturn.","description":"Identisch zu /v1/returns, der Transitplanet ist auf Saturn fixiert. Klassisches Schwellen-Ereignis um Lebensjahr 29-30, weitere Returns alle ~29.5 Jahre. Body und Antwort identisch zum generischen Endpunkt — siehe /v1/returns.","operationId":"postV1SaturnReturn","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"natal":{"description":"","type":"object"},"from":{"description":"","type":"string"},"count":{"description":"","type":"integer"},"location":{"description":"","type":"object"},"include":{"description":"","type":"array"},"house_system":{"description":"","type":"string"}}}}}}}},"/v1/lots":{"post":{"tags":["Berechnung"],"summary":"Hellenistische Lots (arabische Punkte): Fortune, Spirit, Eros, Necessity, Courage, Victory, Nemesis, Basis u.a.","description":"Berechnet die klassischen Lots nach der Formel A + B − C (mod 360) mit automatischer Day/Night-Regel (Tag-Horoskop = Sonne ueber dem Horizont). Einige Lots referenzieren andere (z.B. Eros nutzt Spirit) — wird intern aufgeloest. Katalog in config/lots.json, editierbar fuer eigene Punkte.","operationId":"postV1Lots","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1LotsPostResponse"},"example":{"settings":{"sect":"day","filter":["fortune","spirit","eros"]},"lots":[{"name":"fortune","display":"Glueckspunkt (Pars Fortunae)","longitude":112.54,"sign":"cancer","sign_degree":22.54,"sect":"day","formula":"ascendant + moon − sun"}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"natal":{"description":"{ datetime, timezone, location } — API rechnet Sonne, Mond, AC, alle Radix-Planeten.","type":"object"},"positions":{"description":"Vorberechnete Laengen. Pflicht: sun, moon, ascendant. Fuer bestimmte Lots zusaetzlich venus, mars, jupiter, saturn, mercury.","type":"object"},"lots":{"description":"Liste der gewuenschten Lots (\"fortune\",\"spirit\",\"eros\",...). Default: alle aus dem Katalog.","type":"array"}}}}}}}},"/v1/ephemeris":{"post":{"tags":["Berechnung"],"summary":"Zeitreihen-Ephemeriden: Positionen ausgewaehlter Punkte ueber einen Zeitraum.","description":"Abtastung mit frei waehlbarer Schrittweite (Tage, Stunden oder Minuten). Liefert pro Sample die gewaehlten Felder (longitude, latitude, distance, speed, retrograde, sign, sign_degree). Maximum 10000 Samples pro Request — sonst \"invalid_input\". Ideal fuer Prognose-Grafiken, Retrograd-Kalender, externe Datenbanken.","operationId":"postV1Ephemeris","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1EphemerisPostResponse"},"example":{"settings":{"start":"2026-04-15T00:00:00Z","end":"2026-05-15T00:00:00Z","step_days":1.0,"sample_count":31,"points":["sun","mars","jupiter"],"fields":["longitude","sign","sign_degree","retrograde"]},"samples":[{"datetime_utc":"2026-04-15T00:00:00Z","julian_day_ut":2461145.5,"points":{"sun":{"longitude":25.05,"sign":"aries","sign_degree":25.05,"retrograde":false}}}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"start":{"description":"Start des Zeitraums (ISO 8601 UTC).","type":"string"},"end":{"description":"Ende des Zeitraums (ISO 8601 UTC, muss nach \"start\" liegen).","type":"string"},"step_days":{"description":"Schrittweite in Tagen. Default 1.0.","type":"number"},"step_hours":{"description":"Alternative zu step_days (wird intern umgerechnet).","type":"number"},"step_minutes":{"description":"Alternative zu step_days.","type":"number"},"points":{"description":"Liste der Punkte. Default: Sonne-Pluto + Mean Node + Chiron. Alle Werte aus dem Planeten-Katalog erlaubt.","type":"array"},"asteroids":{"description":"Nummerierte Asteroiden-IDs (z.B. [433, 80]). Werden als \"asteroid_<id>\" benannt.","type":"array"},"fields":{"description":"Welche Werte pro Sample. Erlaubt: longitude, latitude, distance, speed, latitude_speed, distance_speed, retrograde, sign, sign_degree. Default: [\"longitude\",\"retrograde\"].","type":"array"}},"required":["start","end"]}}}}}},"/v1/asteroids":{"post":{"tags":["Berechnung"],"summary":"Asteroiden-Positionen zu einem Zeitpunkt (Live-Berechnung).","description":"Berechnet ekliptikale Positionen einer Liste von Asteroiden zum angegebenen UTC-Zeitpunkt. Eingabe akzeptiert MPC-Nummern (z.B. 433 fuer Eros) oder Namen (z.B. \"ceres\", \"lilith\"). Aliase: \"lilith\" und \"black_moon\" werden auf Mean Apogee gemappt, \"true_lilith\" auf Osculating Apogee. Das Limit pro Request ist planabhaengig (free/basic 50, pro 200, internal 5000).","operationId":"postV1Asteroids","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1AsteroidsPostResponse"},"example":{"settings":{"datetime_utc":"2026-04-20T12:00:00Z","asteroid_count":3,"requested":3},"positions":[{"input":"ceres","mpc_number":1,"name":"Ceres","longitude":125.42,"latitude":1.2,"distance":2.71,"longitude_speed":0.43,"retrograde":false,"sign":"leo","sign_degree":5.42},{"input":"433","mpc_number":433,"name":"Eros","longitude":218.77,"latitude":8.45,"distance":1.91,"longitude_speed":0.71,"retrograde":false,"sign":"scorpio","sign_degree":8.77}],"errors":[]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"at":{"description":"ISO 8601 UTC, z.B. \"2026-04-20T12:00:00Z\".","type":"string"},"asteroids":{"description":"Liste aus Namen (string) und/oder MPC-Nummern (integer). Beispiel: [\"ceres\", 433, \"lilith\"].","type":"array"},"key_by":{"description":"Optional \"mpc_number\": positions wird ein Objekt mit MPC-Nummern als Keys statt eines Arrays. Default: numerischer Index.","type":"string"}},"required":["at","asteroids"]}}}}}},"/v1/declinations":{"post":{"tags":["Berechnung"],"summary":"Deklinationen + Parallel/Contraparallel-Aspekte zu einem Zeitpunkt.","description":"Liefert aequatoriale Koordinaten (Rektaszension, Deklination + Speeds) der Standardplaneten zum angegebenen Zeitpunkt sowie optional Parallel- und Contraparallel-Aspekte zwischen ihnen. Parallel: gleiche Deklination mit gleichem Vorzeichen. Contraparallel: gleicher Betrag, entgegengesetztes Vorzeichen. Markiert Out-of-Bounds-Koerper (|Deklination| > 23.4366°). Default-Body-Set: Sonne, Mond, klassische 8 Planeten, Mondknoten (mean+true), Lilith (mean), Chiron — wer mehr will, gibt explizit \"bodies\" an.","operationId":"postV1Declinations","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1DeclinationsPostResponse"},"example":{"settings":{"datetime_utc":"2026-04-20T12:00:00Z","orb":1.0,"include_parallels":true,"body_count":7,"parallel_count":1,"out_of_bounds_threshold":23.4366},"positions":{"sun":{"right_ascension":28.42,"declination":11.96,"right_ascension_speed":0.985,"declination_speed":0.347,"out_of_bounds":false},"mars":{"right_ascension":41.18,"declination":12.47,"right_ascension_speed":0.71,"declination_speed":0.29,"out_of_bounds":false}},"parallels":[{"first":"sun","second":"mars","kind":"parallel","first_declination":11.96,"second_declination":12.47,"orb":0.51,"max_orb":1.0,"orb_percent":49.0,"applying":true,"exact_in_days":8.79}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"description":"ISO 8601 UTC, z.B. \"2026-04-20T12:00:00Z\".","type":"string"},"bodies":{"description":"Liste von Body-Namen aus dem libswe-Standardkatalog (z.B. [\"sun\",\"moon\",\"mercury\",\"venus\",\"mars\"]). Default: 14 Standardpunkte. Unbekannte Namen werden ignoriert.","type":"array"},"orb":{"description":"Orbis fuer Parallels in Grad. Default 1.0, Maximum 3.0.","type":"number"},"include_parallels":{"description":"Wenn false, werden nur Positionen ohne Paar-Aspekte zurueckgegeben. Default true.","type":"boolean"}},"required":["datetime"]}}}}}},"/v1/antiscia":{"post":{"tags":["Berechnung"],"summary":"Antiscia und Contra-Antiscia: Spiegelpunkte im Tierkreis.","description":"Liefert pro Body Antiscion (Spiegelung an der Solstitial-Achse 0° Krebs / 0° Steinbock, Formel (180-λ) mod 360) und Contra-Antiscion (Spiegelung an der Aequinoctial-Achse 0° Widder / 0° Waage, Formel (360-λ) mod 360). Optional Paar-Aspekte: zwei Bodies stehen \"in Antiscia\", wenn die Position des einen innerhalb des Orbis am Antiscion-Mirror des anderen liegt. Default-Body-Set: Sonne, Mond, klassische 8 Planeten, Mondknoten (mean+true), Lilith (mean), Chiron.","operationId":"postV1Antiscia","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1AntisciaPostResponse"},"example":{"settings":{"datetime_utc":"2026-04-20T12:00:00Z","orb":1.0,"include_pairs":true,"body_count":5,"pair_count":1},"positions":{"sun":{"longitude":30.42,"longitude_speed":0.97,"sign":"taurus","sign_degree":0.42,"antiscion":149.58,"antiscion_sign":"leo","contra_antiscion":329.58,"contra_antiscion_sign":"pisces"}},"pairs":[{"first":"sun","second":"mercury","kind":"antiscion","first_longitude":30.42,"second_longitude":149.1,"mirror_of_first":149.58,"orb":0.48,"max_orb":1.0,"orb_percent":52.0,"applying":true,"exact_in_days":0.62}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"description":"ISO 8601 UTC, z.B. \"2026-04-20T12:00:00Z\".","type":"string"},"bodies":{"description":"Liste von Body-Namen aus dem libswe-Standardkatalog. Default: 14 Standardpunkte. Unbekannte Namen werden ignoriert.","type":"array"},"orb":{"description":"Orbis fuer Paar-Aspekte in Grad. Default 1.0, Maximum 3.0.","type":"number"},"include_pairs":{"description":"Wenn false, werden nur Spiegelpunkte ohne Paar-Aspekte zurueckgegeben. Default true.","type":"boolean"}},"required":["datetime"]}}}}}},"/v1/lunar-phases":{"post":{"tags":["Berechnung"],"summary":"Mondphasen: aktuelle Phase oder alle Phasenwechsel im Fenster.","description":"Phasenwinkel = (lon_moon - lon_sun) mod 360°. Vier Hauptphasen: 0° = new_moon, 90° = first_quarter, 180° = full_moon, 270° = last_quarter. Zwei Modi: \"at\" → Snapshot mit aktueller Phase, Beleuchtung und naechstem Hauptevent. \"start\"+\"end\" → Window mit allen Hauptphasen-Events im Zeitraum (max 365 Tage). Beleuchtungsanteil = (1 - cos(angle)) / 2.","operationId":"postV1LunarPhases","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1LunarPhasesPostResponse"},"example":{"mode":"snapshot","current":{"datetime_utc":"2026-04-20T12:00:00Z","phase_angle":41.81,"phase_name":"waxing_crescent","illumination":0.127,"is_waxing":true,"next_event":{"kind":"first_quarter","datetime_utc":"2026-04-23T18:21:00Z","phase_angle":90.0,"in_days":3.27}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"at":{"description":"Snapshot-Modus: ISO 8601 UTC. Alternative zu \"start\"+\"end\".","type":"string"},"start":{"description":"Window-Modus: Beginn des Fensters (ISO 8601 UTC).","type":"string"},"end":{"description":"Window-Modus: Ende des Fensters (ISO 8601 UTC). Maximal 365 Tage nach \"start\".","type":"string"},"step_days":{"description":"Abtast-Schrittweite fuer die Suche im Window-Modus. Default 0.5, Range 0.05-2.0.","type":"number"}}}}}}}},"/v1/ingresses":{"post":{"tags":["Berechnung"],"summary":"Zeichenwechsel der Planeten im Window.","description":"Findet alle Sign-Ingresse (Eintritt in ein neues Tierkreiszeichen) der angegebenen Bodies im Zeitraum. Pro Event Body, exakter UTC-Zeitpunkt, from_sign, to_sign, longitude (immer ein Vielfaches von 30°) und direction (direct | retrograde). Default-Bodies: Sonne + Merkur..Pluto (9 Planeten ohne Mond — der Mond produziert ~13 Ingresse pro Monat und sollte explizit ueber \"bodies\" eingefordert werden, idealerweise mit step_days <= 0.5). Maximales Fenster: 365 Tage.","operationId":"postV1Ingresses","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1IngressesPostResponse"},"example":{"settings":{"start_utc":"2026-01-01T00:00:00Z","end_utc":"2026-12-31T23:59:59Z","step_days":1.0,"event_count":14,"bodies":["sun","mars","jupiter"]},"events":[{"body":"sun","datetime_utc":"2026-01-20T08:45:00Z","julian_day_ut":2461060.864583,"longitude":300.0,"from_sign":"capricorn","to_sign":"aquarius","direction":"direct","longitude_speed":1.018}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"start":{"description":"ISO 8601 UTC, Beginn des Fensters.","type":"string"},"end":{"description":"ISO 8601 UTC, Ende des Fensters. Maximal 365 Tage nach \"start\".","type":"string"},"bodies":{"description":"Liste von Body-Namen. Default: [\"sun\",\"mercury\",\"venus\",\"mars\",\"jupiter\",\"saturn\",\"uranus\",\"neptune\",\"pluto\"]. Unbekannte Namen werden ignoriert.","type":"array"},"step_days":{"description":"Abtast-Schrittweite. Default 1.0, Range 0.05-7.0. Kleiner waehlen, wenn der Mond enthalten ist.","type":"number"}},"required":["start","end"]}}}}}},"/v1/stations":{"post":{"tags":["Berechnung"],"summary":"Stationen (Wendepunkte) der Planeten im Window.","description":"Findet alle Punkte, an denen ein Planet die Bewegungsrichtung wechselt: kind=\"station_retrograde\" wenn longitude_speed von positiv nach negativ kreuzt (Beginn der Rueckwaertsphase), kind=\"station_direct\" beim umgekehrten Wechsel. Default-Bodies: 8 Planeten (Merkur, Venus, Mars, Jupiter, Saturn, Uranus, Neptun, Pluto). Sonne und Mond haben keine Stationen — sie werden auch bei expliziter Angabe still ignoriert. Maximales Fenster: 365 Tage.","operationId":"postV1Stations","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1StationsPostResponse"},"example":{"settings":{"start_utc":"2026-01-01T00:00:00Z","end_utc":"2026-12-31T23:59:59Z","step_days":1.0,"event_count":6,"bodies":["mercury","mars"]},"events":[{"body":"mercury","datetime_utc":"2026-02-26T03:30:00Z","julian_day_ut":2461097.645833,"longitude":354.21,"sign":"pisces","sign_degree":24.21,"kind":"station_retrograde","longitude_speed":0.0}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"start":{"description":"ISO 8601 UTC, Beginn des Fensters.","type":"string"},"end":{"description":"ISO 8601 UTC, Ende des Fensters. Maximal 365 Tage nach \"start\".","type":"string"},"bodies":{"description":"Liste von Body-Namen. Default: [\"mercury\",\"venus\",\"mars\",\"jupiter\",\"saturn\",\"uranus\",\"neptune\",\"pluto\"]. Bodies ohne Stationen (sun, moon, Knoten, Lilith) werden gefiltert.","type":"array"},"step_days":{"description":"Abtast-Schrittweite. Default 1.0, Range 0.1-7.0.","type":"number"}},"required":["start","end"]}}}}}},"/v1/rise-transit-set":{"post":{"tags":["Berechnung"],"summary":"Aufgang, Hoechststand und Untergang von Bodies fuer einen Standort.","description":"Liefert pro Body den naechsten Eintrittszeitpunkt fuer Aufgang (\"rise\"), oberen Meridiandurchgang/Kulmination (\"transit\"), Untergang (\"set\") und unteren Meridiandurchgang (\"anti_transit\"). Sucht jeweils das naechste Event nach \"datetime\". Beobachter-Standort via geographischer Breite und Laenge (optional Hoehe). Atmosphaeren-Refraktion mit Standardwerten 1013.25 hPa / 15°C, ueberschreibbar via \"atmosphere\". Bodies, die kein Event haben (Polartag/-nacht, Mond unter Horizont fuer 24h+), erscheinen unter \"missing\" — kein Fehler.","operationId":"postV1RiseTransitSet","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1RiseTransitSetPostResponse"},"example":{"settings":{"datetime_utc":"2026-04-20T00:00:00Z","location":{"latitude":52.52,"longitude":13.405,"altitude":0.0},"event_count":6,"missing_count":0},"events":[{"body":"sun","event":"rise","datetime_utc":"2026-04-20T03:55:21Z"},{"body":"sun","event":"transit","datetime_utc":"2026-04-20T11:11:00Z"},{"body":"sun","event":"set","datetime_utc":"2026-04-20T18:27:42Z"}],"missing":[]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"description":"ISO 8601 UTC. Suche beginnt ab diesem Zeitpunkt.","type":"string"},"location.latitude":{"description":"Geo-Breite in Dezimalgrad, +N. Range -90..90.","type":"number"},"location.longitude":{"description":"Geo-Laenge in Dezimalgrad, +E. Range -180..180.","type":"number"},"location.altitude":{"description":"Hoehe ueber NN in Metern. Default 0.","type":"number"},"bodies":{"description":"Liste von Body-Namen. Default [\"sun\",\"moon\"]. Maximal 12 Bodies pro Request.","type":"array"},"events":{"description":"Welche Event-Typen. Default [\"rise\",\"transit\",\"set\"]. Erlaubt: rise|set|transit|anti_transit.","type":"array"},"atmosphere.pressure":{"description":"Luftdruck in hPa. Default 1013.25.","type":"number"},"atmosphere.temperature":{"description":"Temperatur in °C. Default 15.","type":"number"}},"required":["datetime","location.latitude","location.longitude"]}}}}}},"/v1/eclipses":{"post":{"tags":["Berechnung"],"summary":"Sonnen- und Mondfinsternisse im Window, optional mit Beobachter-Standort.","description":"Liefert alle Sonnen- und Mondfinsternisse zwischen \"start\" und \"end\". Globaler Modus (default): jede Sonnenfinsternis kommt mit Bodenpunkt der groessten Bedeckung (greatest_eclipse_geo) und Magnitude; jede Mondfinsternis mit Umbral- und Penumbral-Magnitude (global gueltig) sowie 6 Kontaktzeiten. Lokaler Modus (location gesetzt): pro Event Sichtbarkeit, lokale Kontaktzeiten und Sonnen-/Mondhoehe. Klassifikation: solar_total, solar_annular, solar_hybrid, solar_partial bzw. lunar_total, lunar_partial, lunar_penumbral. Maximales Fenster: 3650 Tage (10 Jahre).","operationId":"postV1Eclipses","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1EclipsesPostResponse"},"example":{"settings":{"start_utc":"2026-01-01T00:00:00Z","end_utc":"2026-12-31T23:59:59Z","types":["solar","lunar"],"mode":"global","location":null,"event_count":4},"events":[{"kind":"solar_annular","datetime_utc":"2026-02-17T12:11:53Z","magnitude":0.961,"greatest_eclipse_geo":{"longitude":87.05,"latitude":-64.68}}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"start":{"description":"ISO 8601 UTC, Beginn des Suchfensters.","type":"string"},"end":{"description":"ISO 8601 UTC, Ende. Maximal 3650 Tage nach \"start\".","type":"string"},"types":{"description":"Welche Eclipse-Typen. Default [\"solar\",\"lunar\"]. Erlaubt: solar | lunar.","type":"array"},"location.latitude":{"description":"Beobachter-Breite in °, +N. Range -90..90. Wenn gesetzt, lokaler Modus.","type":"number"},"location.longitude":{"description":"Beobachter-Laenge in °, +E. Range -180..180.","type":"number"},"location.altitude":{"description":"Hoehe ueber NN in Metern. Default 0.","type":"number"}},"required":["start","end"]}}}}}},"/v1/harmonics":{"post":{"tags":["Berechnung"],"summary":"Harmonic-Chart: alle Laengen mit n multipliziert mod 360.","description":"Klassisches Harmonic-Chart nach Addey: jede ekliptikale Laenge wird mit dem Faktor n multipliziert und mod 360° gerechnet. longitude_speed wird linear mit n skaliert. Latitude und Distance bleiben unveraendert (sind nicht Teil der harmonischen Transformation). Default-Bodies: 14 (Sonne, Mond, Merkur..Pluto, Knoten mean+true, Lilith mean, Chiron). Sinnvolle n: 1=Original, 2=Opposition→Konjunktion, 4=Quadrat, 5=Quintile, 7=Septile, 9=Novile. Range 1..1000.","operationId":"postV1Harmonics","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1HarmonicsPostResponse"},"example":{"settings":{"datetime_utc":"2026-04-20T12:00:00Z","harmonic":5,"body_count":4,"bodies":["sun","moon","venus","mars"]},"positions":{"sun":{"longitude":27.65,"sign":"aries","sign_degree":27.65,"natal_longitude":30.53,"latitude":0.0,"distance":1.005,"longitude_speed":4.83,"latitude_speed":0.0,"distance_speed":-0.0}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"description":"ISO 8601 UTC.","type":"string"},"n":{"description":"Harmonic-Faktor. Range 1..1000.","type":"integer"},"bodies":{"description":"Liste von Body-Namen. Default 14 Standard-Bodies. Unbekannte Namen werden ignoriert.","type":"array"}},"required":["datetime","n"]}}}}}},"/v1/draconic":{"post":{"tags":["Berechnung"],"summary":"Draconic-Chart: Laengen relativ zum Mondknoten rotiert.","description":"Im Draconic-Zodiac wird der Mondknoten zur Bezugsachse: alle Laengen werden so rotiert, dass der Knoten auf 0° Widder liegt. Formel: draconic_longitude = (longitude - node_longitude + 360) mod 360. longitude_speed wird relativ zum Knoten ausgewiesen (body_speed - node_speed). Latitude und Distance bleiben unveraendert. Default-Knoten: True Node (oszillierend); ueber `node_type: \"mean\"` wird der mittlere Knoten verwendet. Default-Bodies: 12 (Sonne, Mond, Merkur..Pluto, Lilith mean, Chiron — Mondknoten selbst ist Bezug, nicht im Output).","operationId":"postV1Draconic","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1DraconicPostResponse"},"example":{"settings":{"datetime_utc":"2026-04-20T12:00:00Z","node_type":"true","node_longitude":350.21,"node_speed":-0.04,"body_count":3,"bodies":["sun","moon","venus"]},"positions":{"sun":{"longitude":40.21,"sign":"taurus","sign_degree":10.21,"natal_longitude":30.42,"latitude":0.0,"distance":1.005,"longitude_speed":1.02,"latitude_speed":0.0,"distance_speed":0.0}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"description":"ISO 8601 UTC.","type":"string"},"bodies":{"description":"Liste von Body-Namen. Default 12 Standard-Bodies.","type":"array"},"node_type":{"description":"Welcher Mondknoten als Bezug. \"true\" (default) oder \"mean\".","type":"string"}},"required":["datetime"]}}}}}},"/v1/void-of-course":{"post":{"tags":["Berechnung"],"summary":"Mond void-of-course-Phasen im Window.","description":"Findet alle Mond-VOC-Phasen im Zeitraum: vom letzten exakten ptolemaeischen Aspekt (Konjunktion 0°, Sextil 60°, Quadrat 90°, Trigon 120°, Opposition 180°) zu einem klassischen Planeten bis zum naechsten Mond-Sign-Ingress. Klassische Definition (Default): Sonne + Merkur..Saturn als Aspekt-Bezugsplaneten. Mit `include_outer_planets: true` werden zusaetzlich Uranus, Neptun und Pluto einbezogen (moderne Definition). Maximales Fenster 90 Tage (~30-40 VOCs).","operationId":"postV1VoidOfCourse","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1VoidOfCoursePostResponse"},"example":{"settings":{"start_utc":"2026-04-01T00:00:00Z","end_utc":"2026-05-01T00:00:00Z","step_days":0.05,"include_outer_planets":false,"aspect_planets":["sun","mercury","venus","mars","jupiter","saturn"],"event_count":12},"events":[{"start_utc":"2026-04-03T18:32:00Z","end_utc":"2026-04-03T22:14:00Z","duration_minutes":222.0,"from_sign":"libra","to_sign":"scorpio","last_aspect":{"planet":"saturn","angle":60,"name":"sextile","datetime_utc":"2026-04-03T18:32:00Z"}}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"start":{"description":"ISO 8601 UTC, Beginn des Suchfensters.","type":"string"},"end":{"description":"ISO 8601 UTC, Ende. Maximal 90 Tage nach \"start\".","type":"string"},"step_days":{"description":"Abtast-Schrittweite. Default 0.05 (~1.2h), Range 0.01-0.5. Kleiner waehlen bei sehr engen VOC-Definitionen.","type":"number"},"include_outer_planets":{"description":"true → Uranus/Neptun/Pluto in Aspekt-Pruefung einbeziehen. Default false (klassisch).","type":"boolean"}},"required":["start","end"]}}}}}},"/v1/planetary-hours":{"post":{"tags":["Berechnung"],"summary":"Klassische Planetenstunden (chaldaeisch) fuer Tag+Nacht.","description":"Liefert die 24 Planetenstunden des \"Plan-Tags\", der den angegebenen Zeitpunkt enthaelt — von Sonnenaufgang bis Sonnenaufgang. 12 Tagesstunden zwischen Sunrise und Sunset, 12 Nachtstunden zwischen Sunset und naechstem Sunrise. Tagesherrscher = Wochentag-Planet (Sonntag=Sonne, Montag=Mond, Dienstag=Mars, Mittwoch=Merkur, Donnerstag=Jupiter, Freitag=Venus, Samstag=Saturn). Stunden 1-24 zyklen die chaldaeische Reihe Saturn-Jupiter-Mars-Sonne-Venus-Merkur-Mond ab Tagesherrscher. Wochentag wird ueber longitude-korrigierte mean local time bestimmt. Polartag/-nacht produziert 500 (kein Sonnenauf-/untergang in 26h-Lookback).","operationId":"postV1PlanetaryHours","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1PlanetaryHoursPostResponse"},"example":{"settings":{"datetime_utc":"2026-04-20T12:00:00Z","location":{"latitude":52.52,"longitude":13.405,"altitude":0.0},"weekday":"monday","day_ruler":"moon","sunrise_utc":"2026-04-20T03:55:21Z","sunset_utc":"2026-04-20T18:27:42Z","day_length_minutes":872.35,"day_hour_minutes":72.7},"hours":[{"index":1,"phase":"day","ruler":"moon","start_utc":"2026-04-20T03:55:21Z"},{"index":2,"phase":"day","ruler":"saturn"},{"index":3,"phase":"day","ruler":"jupiter"}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"description":"ISO 8601 UTC.","type":"string"},"location.latitude":{"description":"Geo-Breite in Dezimalgrad, +N. Range -90..90.","type":"number"},"location.longitude":{"description":"Geo-Laenge in Dezimalgrad, +E. Range -180..180.","type":"number"},"location.altitude":{"description":"Hoehe ueber NN in Metern. Default 0.","type":"number"}},"required":["datetime","location.latitude","location.longitude"]}}}}}},"/v1/patterns":{"post":{"tags":["Berechnung"],"summary":"Aspekt-Pattern-Erkennung (Grand Trine, T-Square, Yod, Stellium etc.).","description":"Erkennt acht klassische Aspekt-Patterns in einer Konstellation: stellium (3+ Bodies im selben Sign), grand_trine (3 Bodies im Trigon), t_square (Opposition + Apex im Quadrat), yod (Sextil-Basis + Apex im Quincunx), grand_cross (4 Bodies, 2 Oppositionen + 4 Quadrate), kite (Grand Trine + 4. Body in Opposition zu einem und Sextilen zu beiden anderen), mystic_rectangle (4 Bodies, 2 Oppositionen + 2 Sextile + 2 Trine), grand_sextile (6 Bodies in 60°-Hexagram). Default-Bodies: 14 (10 Planeten + Knoten mean+true + Lilith mean + Chiron). Default-Orbs pro Aspekt: Konjunktion 8°, Sextil/Quadrat/Trigon 6°, Quincunx 3°, Opposition 8°. Mit `orb` ueberschreibt man alle gleichmaessig (1..15°).","operationId":"postV1Patterns","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1PatternsPostResponse"},"example":{"settings":{"datetime_utc":"2026-04-20T12:00:00Z","orb":null,"body_count":14,"pattern_count":3},"patterns":[{"kind":"grand_trine","members":["sun","jupiter","saturn"],"element":"earth","max_orb":1.2},{"kind":"stellium","members":["sun","venus","mercury"],"sign":"taurus","longitude_span":8.4}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"description":"ISO 8601 UTC.","type":"string"},"bodies":{"description":"Liste von Body-Namen. Default 14 Standard-Bodies. Mindestens 3.","type":"array"},"orb":{"description":"Einheitlicher Orb in Grad fuer alle Aspekte (Range 1..15). Default: per-Aspekt-Orbs.","type":"number"}},"required":["datetime"]}}}}}},"/v1/heliacal":{"post":{"tags":["Berechnung"],"summary":"Heliakaler Aufgang/Untergang von Fixsternen oder Planeten.","description":"Liefert pro Anfrage drei Schluesselzeitpunkte: optimum_utc (optimale Beobachtbarkeit), event_utc (klassisches heliakales Datum), end_utc (Sichtbarkeitsende). Sieben Event-Typen: heliacal_rising (Morgen-Erstsichtbarkeit nach Sonnen-Konjunktion), heliacal_setting (Abend-Letztsichtbarkeit), evening_first_visible (Abend-Erstsichtbarkeit, etwa Venus als Abendstern), morning_last_visible (Morgen-Letztsichtbarkeit), acronychal_rising/setting, cosmical_setting. `object` ist entweder ein Stern-Name aus sefstars.txt (z.B. \"Sirius\") oder ein Planet (\"moon\", \"mercury\", \"venus\", \"mars\", \"jupiter\", \"saturn\"). `observer` und `atmosphere` sind optional — Defaults entsprechen mittlerer Beobachtungssituation (36 Jahre, beide Augen, 1013 hPa, 15°C, 50% Feuchtigkeit, 25 km Sicht).","operationId":"postV1Heliacal","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1HeliacalPostResponse"},"example":{"settings":{"datetime_start_utc":"2026-06-01T00:00:00Z","object":"Sirius","event_type":"heliacal_rising","location":{"latitude":30.05,"longitude":31.25,"altitude":0.0}},"event":{"optimum_utc":"2026-08-12T02:39:13Z","event_utc":"2026-08-12T02:47:07Z","end_utc":"2026-08-12T02:53:42Z"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime_start":{"description":"ISO 8601 UTC, Suche beginnt ab diesem Zeitpunkt.","type":"string"},"object":{"description":"Stern-Name (sefstars.txt) oder Planet (moon|mercury|venus|mars|jupiter|saturn).","type":"string"},"event_type":{"description":"Event-Typ: heliacal_rising | heliacal_setting | evening_first_visible | morning_last_visible | acronychal_rising | acronychal_setting | cosmical_setting.","type":"string"},"location.latitude":{"description":"Geo-Breite +N. Range -90..90.","type":"number"},"location.longitude":{"description":"Geo-Laenge +E. Range -180..180.","type":"number"},"location.altitude":{"description":"","type":"number"},"atmosphere.pressure":{"description":"Luftdruck hPa. Default 1013.25.","type":"number"},"atmosphere.temperature":{"description":"Temperatur °C. Default 15.","type":"number"},"atmosphere.humidity":{"description":"Luftfeuchtigkeit %. Default 50.","type":"number"},"atmosphere.meteo_range_km":{"description":"Meteorologische Sichtweite in km. Default 25.","type":"number"},"observer.age":{"description":"Alter des Beobachters. Default 36.","type":"number"},"observer.eyes":{"description":"2 = binokular, 1 = monokular. Default 2.","type":"number"},"observer.magnification":{"description":"Optische Vergroesserung. Default 1.","type":"number"},"observer.aperture_mm":{"description":"Apertur in mm; 0 = blosses Auge. Default 0.","type":"number"},"observer.transmission":{"description":"Optische Transmission. Default 1.","type":"number"}},"required":["datetime_start","object","event_type","location.latitude","location.longitude"]}}}}}},"/v1/fixed-stars":{"post":{"tags":["Berechnung"],"summary":"Fixsterne: Positionen und Konjunktionen mit Radix-Punkten.","description":"Liefert ekliptikale Positionen von Fixsternen zu einem Zeitpunkt. Optional: wenn \"natal\" oder \"points\" mitgegeben werden, werden Aspekte (Default: nur Konjunktion, Orbis 1°) zu diesen Punkten berechnet. Standardliste: 22 astrologisch bedeutende Sterne (vier Koenigliche, helle Sterne, mythisch relevante).","operationId":"postV1FixedStars","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1FixedStarsPostResponse"},"example":{"settings":{"datetime_utc":"1980-05-17T12:32:00Z","star_count":4,"orb":1.0},"positions":[{"name":"Aldebaran,alTau","longitude":69.85,"latitude":-5.47}],"aspects":[{"star":"Algol,bePer","point":"venus","aspect_angle":0,"orb":0.72}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"description":"ISO 8601 UTC. Pflicht, wenn \"natal\" nicht angegeben ist.","type":"string"},"natal":{"description":"{ datetime, timezone, location } — liefert Zeitpunkt UND Vergleichspunkte (alle Radix-Planeten + AC + MC).","type":"object"},"points":{"description":"{ sun: 25.53, ascendant: 170.79, ... } — expliziter Vergleichs-Punktekatalog.","type":"object"},"stars":{"description":"Namen wie in sefstars.txt (z.B. \"Aldebaran\", \"Regulus\", \"Algol\"). Default: kuratierter Katalog \"common\".","type":"array"},"aspect_angles":{"description":"Welche Winkel. Default [0] — nur Konjunktionen, so wie klassisch ueblich.","type":"array"},"orb":{"description":"Orb in Grad. Default 1.0.","type":"number"}}}}}}}},"/v1/midpoints":{"post":{"tags":["Berechnung"],"summary":"Halbsummen-Analyse nach Ebertin. Liste, aktivierte Halbsummen und Wurzelbaum.","description":"Berechnet alle Halbsummen fuer eine Positionsliste (fuer n Punkte entstehen n*(n-1)/2 Halbsummen) und identifiziert, welche dritten Punkte mit 8.-Harmonie-Aspekten (0°, 45°, 90°, 135°, 180°) in engem Orb (Default 1.5°) auf diesen Halbsummen stehen. Drei Sichten: flache Liste, aktivierte Halbsummen und Baumstruktur pro Punkt.","operationId":"postV1Midpoints","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1MidpointsPostResponse"},"example":{"settings":{"point_count":18,"orb":1.0,"midpoint_count":153},"midpoints":[{"pair":["sun","moon"],"longitude":22.16}],"activated_midpoints":[{"pair":["sun","moon"],"midpoint_longitude":22.16,"occupied_by":"venus","aspect_angle":45,"orb":0.32}],"tree":{"venus":[{"pair":["sun","moon"],"aspect_angle":45,"orb":0.32}]}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"natal":{"description":"{ datetime, timezone, location } — API berechnet Radix-Positionen und Haeuser (AC+MC als Punkte einbezogen).","type":"object"},"positions":{"description":"{ sun: 25.53, moon: 358.79, ... } — direkt Laengen uebergeben.","type":"object"},"points":{"description":"Nur diese Punkte einbeziehen. Default: alle vorhandenen.","type":"array"},"aspect_angles":{"description":"Welche Winkel-Ideale. Default: [0,45,90,135,180] (Ebertin 8.-Harmonie).","type":"array"},"orb":{"description":"Orb in Grad. Default 1.5.","type":"number"},"include":{"description":"Teilmenge von [\"list\",\"activated\",\"tree\"]. Default: alle drei.","type":"array"}}}}}}}},"/v1/relationship":{"post":{"tags":["Partnerschaft"],"summary":"Synastrie, Komposit oder Kombin (Davison) fuer zwei Personen.","description":"Drei Methoden in einem Endpunkt. \"synastry\": Kreuz-Aspekte zwischen zwei Radix-Charts. \"composite\": Mittelpunkt-Horoskop (jeder Planet als Mittelpunkt der beiden Radix-Positionen, Haeuser als Mittelpunkt der Radix-Hauspitzen). \"davison\" (Alias \"kombin\"): echtes Horoskop am zeitlichen UND raeumlichen Mittelpunkt beider Geburten — Grosskreis-Mittelpunkt der Erdkoordinaten.","operationId":"postV1Relationship","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1RelationshipPostResponse"},"example":{"method":"davison","aliases":["kombin"],"settings":{"midpoint_datetime":"1979-04-12T23:52:00Z","midpoint_location":{"latitude":50.33,"longitude":12.49}},"planets":{"sun":{"longitude":22.31}},"houses":{"1":121.5,"2":145.3},"aspects":[]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"method":{"description":"\"synastry\" | \"composite\" | \"davison\" (Alias \"kombin\").","type":"string"},"person_a":{"description":"{ name, birth: { datetime, timezone, location } }.","type":"object"},"person_b":{"description":"{ name, birth: { datetime, timezone, location } }.","type":"object"},"options.house_system":{"description":"Haeusersystem (Default: koch).","type":"string"},"options.aspects":{"description":"{ orbs, aspect_types, aspects } wie bei /v1/radix.","type":"object"},"options.include_natal_charts":{"description":"Nur Synastrie: wenn true, werden beide Radix-Charts mitgeliefert.","type":"boolean"}},"required":["method","person_a","person_b"]}}}}}},"/v1/houses":{"get":{"tags":["Berechnung"],"summary":"Hausspitzen und Achsen (AC, MC, ARMC, Vertex, ...) fuer einen Moment und Ort.","description":"Berechnet die 12 Hausspitzen sowie acht Achsen-Werte nach dem gewaehlten Haeusersystem (Default: Koch). Alle Werte in Dezimalgrad, Bereich 0..360.","operationId":"getV1Houses","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1HousesGetResponse"},"example":{"input":{"datetime":"1980-05-17T14:32:00","timezone":"Europe/Berlin","datetime_utc":"1980-05-17T12:32:00.000000Z","location":{"latitude":52.52,"longitude":13.405,"altitude":0},"house_system":"koch","house_system_name":"Koch"},"houses":{"1":170.789,"2":199.386,"3":227.784,"4":257.823,"5":293.405,"6":322.344,"7":350.789,"8":19.386,"9":47.784,"10":77.823,"11":113.405,"12":142.344},"angles":{"ascendant":170.789,"mc":77.823,"armc":79.511,"vertex":285.102,"equatorial_ascendant":170.56,"co_ascendant_koch":10.231,"co_ascendant_munkasey":180.56,"polar_ascendant":190.231}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"parameters":[{"name":"datetime","in":"query","required":true,"description":"ISO 8601. Entweder mit UTC-Offset (\"...+02:00\") oder ohne — dann ist \"tz\" Pflicht.","schema":{"type":"string"}},{"name":"tz","in":"query","required":false,"description":"IANA-Zeitzonenname (z.B. \"Europe/Berlin\"). Pflicht, wenn \"datetime\" keinen Offset enthaelt.","schema":{"type":"string"}},{"name":"lat","in":"query","required":true,"description":"Breitengrad in Dezimalgrad (−90..90).","schema":{"type":"number"}},{"name":"lon","in":"query","required":true,"description":"Laengengrad in Dezimalgrad (−180..180). Ostwaerts positiv.","schema":{"type":"number"}},{"name":"alt","in":"query","required":false,"description":"Hoehe in Metern. Default 0.","schema":{"type":"number"}},{"name":"system","in":"query","required":false,"description":"Haeusersystem. Default \"koch\". Siehe Seite \"Haeusersysteme\" in der Doku fuer alle Werte.","schema":{"type":"string"}}]}},"/v1/dignities":{"post":{"tags":["Berechnung"],"summary":"Klassische hellenistische Wuerden (Domizil, Exaltation, Triplizitaet, Term, Face, Detriment, Fall) und Almuten.","description":"Berechnet pro Body alle klassischen Wuerden eines Punktes im Tierkreis nach Doroth/Ptolemaios. Wuerden-Score nach Lilly: domicile 5, exaltation 4, triplicity 3, term 2, face 1. Eingabe entweder ueber `datetime` (Service rechnet die 7 klassischen Planeten selbst, optional gefiltert ueber `bodies`) oder ueber `positions` (freie Map name → longitude, z.B. fuer Asc, MC, Lots). `sect` steuert, welcher Triplizitaets-Herrscher aktiv ist; wenn nicht gesetzt, wird er aus Sonnen-/Asc-Position abgeleitet (entweder aus `positions.ascendant` oder aus `datetime` + `location` via Hauesserberechnung), sonst Default `day`. `term_system` waehlt zwischen aegyptischer (Default, hellenistisch klassisch) und ptolemaeischer Term-Tabelle. Optional liefert `almuten_for` fuer eine Liste von Laengen pro klassischem Planet seine Score-Beitraege und kuert den Almuten (Sieger).","operationId":"postV1Dignities","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1DignitiesPostResponse"},"example":{"settings":{"mode":"datetime","sect":"day","sect_source":"computed_from_chart","term_system":"egyptian","body_count":7,"almuten_count":1,"datetime_utc":"2026-04-20T12:00:00Z","julian_day_ut":2461151.0},"dignities":{"sun":{"longitude":30.42,"sign":"taurus","sign_degree":0.42,"is_classical":true,"domicile_ruler":"venus","detriment_ruler":"mars","exaltation_ruler":"moon","exaltation_degree":3,"fall_ruler":null,"triplicity":{"day":"venus","night":"moon","participating":"mars","active":"venus"},"term_ruler":"venus","face_ruler":"mercury","is_in_domicile":false,"is_in_exaltation":false,"is_triplicity_ruler":false,"is_term_ruler":false,"is_face_ruler":false,"is_in_detriment":false,"is_in_fall":false,"score":0,"score_breakdown":{}}},"almuten_points":[{"longitude":12.5,"sign":"aries","sign_degree":12.5,"scores":{"venus":{"total":5,"breakdown":{"term":2,"triplicity":3}},"sun":{"total":5,"breakdown":{"exaltation":4,"face":1}}},"almuten":null,"ties":["venus","sun"]}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"description":"ISO 8601 UTC. Pflicht im Datetime-Modus (alternativ \"positions\").","type":"string"},"positions":{"description":"Map name → ekliptikale Laenge (0..360). Alternative zu \"datetime\".","type":"object"},"bodies":{"description":"Liste von Body-Namen (nur im Datetime-Modus relevant). Default: 7 klassische Planeten (sun, moon, mercury, venus, mars, jupiter, saturn).","type":"array"},"sect":{"description":"\"day\" oder \"night\". Wenn nicht gesetzt, wird sect aus Sonne+Asc abgeleitet, falls verfuegbar; sonst Default \"day\".","type":"string"},"location.latitude":{"description":"Geo-Breite +N. Range -90..90. Optional, wird nur fuer Asc-Berechnung zur Sect-Ableitung benutzt.","type":"number"},"location.longitude":{"description":"Geo-Laenge +E. Range -180..180.","type":"number"},"term_system":{"description":"\"egyptian\" (Default) oder \"ptolemaic\".","type":"string"},"almuten_for":{"description":"Liste von Laengen (Grad 0..360), fuer die der Almuten berechnet wird. Max. 50 Eintraege.","type":"array"}}}}}}}},"/v1/profections":{"post":{"tags":["Berechnung"],"summary":"Klassische Whole-Sign-Profektionen (Annual / Monthly / Daily) mit Time-Lord.","description":"Profektionen sind ein hellenistisches Zeit-Herrschaftssystem: pro Lebensjahr aktiviert sich ein Sign (beginnend mit dem Asc-Sign im 0. Lebensjahr), zykliert mod 12. Innerhalb des Jahres aktiviert sich pro 1/12 (~30.44 Tage) ein weiteres Sign (Monthly), innerhalb des Monats pro 1/12 (~2.54 Tage) ein weiteres Sign (Daily). Der \"Time-Lord\" einer Profektion ist der Domizilherrscher des aktivierten Sign; zusaetzlich wird der Triplizitaets-Co-Lord (je nach sect) ausgewiesen. Asc-Quelle: entweder explizit (`ascendant_longitude`) oder via `birth_location` + `house_system` (Default Placidus, Code \"P\"). Sect-Quelle: explizit > automatisch aus Sun+Asc beim Geburtszeitpunkt > Default `day`. Tropisches Jahr von 365.2422 Tagen.","operationId":"postV1Profections","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ProfectionsPostResponse"},"example":{"settings":{"birth_datetime_utc":"1980-05-17T12:32:00Z","target_datetime_utc":"2026-05-10T00:00:00Z","ascendant_longitude":170.789,"sect":"day","include_monthly":true,"include_daily":false},"age_years":45.98,"ascendant_sign":"virgo","annual":{"house_index":10,"sign":"gemini","time_lord":"mercury","triplicity_lord":"saturn","elapsed_fraction":0.97,"period_start_utc":"2025-05-17T15:32:00Z","period_end_utc":"2026-05-17T21:23:42Z"},"monthly":{"house_index":11,"sign":"cancer","time_lord":"moon","triplicity_lord":"mars","elapsed_fraction":0.66}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"birth_datetime":{"description":"ISO 8601 UTC. Geburtszeitpunkt.","type":"string"},"target_datetime":{"description":"ISO 8601 UTC. Bezugsmoment der Profektion. Default: jetzt. Muss >= birth_datetime sein.","type":"string"},"ascendant_longitude":{"description":"Ekliptikale Laenge des Aszendenten zur Geburt (0..360). ENTWEDER dies ODER birth_location.","type":"number"},"birth_location.latitude":{"description":"Geo-Breite +N. Range -90..90. Asc wird via Hauesserberechnung abgeleitet.","type":"number"},"birth_location.longitude":{"description":"Geo-Laenge +E. Range -180..180.","type":"number"},"house_system":{"description":"Einstelliger swe_houses-Code. Default \"P\" (Placidus). Beeinflusst nur die Asc-Berechnung.","type":"string"},"sect":{"description":"\"day\" oder \"night\". Wenn nicht gesetzt: aus Sonne + Asc zum Geburtszeitpunkt; sonst Default \"day\".","type":"string"},"include_monthly":{"description":"Monats-Profektion mitliefern. Default true.","type":"boolean"},"include_daily":{"description":"Tages-Profektion mitliefern. Default false.","type":"boolean"}},"required":["birth_datetime"]}}}}}},"/v1/firdaria":{"post":{"tags":["Berechnung"],"summary":"Persisch-arabisches Firdaria-System (Abu Ma'shar) — Haupt- und Subperioden ueber 75-Jahres-Lebensspanne.","description":"Firdaria ist ein hellenistisch-persisches Time-Lord-System: die Lebensspanne von 75 Jahren wird auf 9 Hauptperioden verteilt (7 klassische Planeten + Nord-Knoten 3 J + Sued-Knoten 2 J), die Reihenfolge ist sect-abhaengig (day = Sonnen-Reihe Sun-Venus-Mercury-Moon-Saturn-Jupiter-Mars-NN-SN; night = Mond-Reihe Moon-Saturn-Jupiter-Mars-Sun-Venus-Mercury-NN-SN). Pro Planet-Hauptperiode 7 Subperioden zu je Hauptlaenge/7, beginnend mit dem Hauptlord, dann chaldaeische Reihe (Saturn-Jupiter-Mars-Sun-Venus-Mercury-Moon zyklisch). Knoten haben klassisch keine Subperioden. Sect-Quelle: explizit > automatisch aus Sun+Asc beim Geburtszeitpunkt (braucht birth_location) > Default day. Tropisches Jahr 365.2422 Tage. Nach 75 Jahren ist `current` null und `beyond_life_span` true.","operationId":"postV1Firdaria","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1FirdariaPostResponse"},"example":{"settings":{"birth_datetime_utc":"1980-05-17T12:32:00Z","sect":"day","include_all_periods":false},"age_years":45.98,"life_span_years":75.0,"beyond_life_span":false,"current":{"main":{"lord":"jupiter","years":12.0,"is_current":true,"is_node":false,"elapsed_fraction":0.42,"period_start_utc":"2021-01-15T..","period_end_utc":"2033-01-09T.."},"sub":{"lord":"venus","index":4,"elapsed_fraction":0.13,"period_start_utc":"2026-01-01T..","period_end_utc":"2027-09-25T.."}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"birth_datetime":{"description":"ISO 8601 UTC. Geburtszeitpunkt.","type":"string"},"target_datetime":{"description":"ISO 8601 UTC. Bezugsmoment. Default: jetzt. Muss >= birth_datetime sein.","type":"string"},"sect":{"description":"\"day\" oder \"night\". ENTWEDER explizit ODER via birth_location automatisch ableiten.","type":"string"},"birth_location.latitude":{"description":"Geo-Breite +N. Range -90..90. Nur fuer Auto-Sect noetig.","type":"number"},"birth_location.longitude":{"description":"Geo-Laenge +E. Range -180..180.","type":"number"},"house_system":{"description":"Einstelliger swe_houses-Code fuer Asc-Berechnung. Default \"P\" (Placidus).","type":"string"},"include_all_periods":{"description":"Alle 9 Hauptperioden mit Start-/End-Zeit auflisten. Default false.","type":"boolean"}},"required":["birth_datetime"]}}}}}},"/v1/zodiacal-releasing":{"post":{"tags":["Berechnung"],"summary":"Hellenistisches Zodiacal Releasing nach Vettius Valens (L1..L4 ab Lot of Spirit/Fortune).","description":"Zodiacal Releasing (ZR) ist ein hellenistisches Time-Lord-System aus Vettius Valens (Anthologiae IV). 12 Sign-Periodenlaengen: Aries 15, Taurus 8, Gemini 20, Cancer 25, Leo 19, Virgo 20, Libra 8, Scorpio 15, Sagittarius 12, Capricorn 27, Aquarius 30, Pisces 12 (= 211 Jahre Vollumlauf). Pro Level werden die gleichen Werte verwendet, in absteigenden Zeit-Einheiten: L1 in Jahren, L2 in Monaten (Jahr/12), L3 in Tagen (Monat/12), L4 in Doppelstunden (Tag/12). Sub-Sequenz pro Level zykliert linear durch alle 12 Signs ab dem Start-Sign der Eltern-Periode. Start typischerweise vom Lot of Spirit (Karriere/Aktion) oder Lot of Fortune (Koerper/Lebensumstaende). Markierungen: `is_peak` fuer kardinale Signs (Aries/Cancer/Libra/Capricorn = \"Engel\"); `is_lb_zone` fuer Sub-Index 7 (= 8. Sub vom Anfang, klassische \"Loosing of the Bond\"-Position). Die Sprung-Konvention bei LB ist NICHT implementiert — Schmidt, Hand und Brennan widersprechen sich; der Service liefert die Markierung und ueberlaesst die Interpretation dem Konsumenten.","operationId":"postV1ZodiacalReleasing","responses":{"200":{"description":"Erfolg","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ZodiacalReleasingPostResponse"},"example":{"settings":{"birth_datetime_utc":"1980-05-17T12:32:00Z","target_datetime_utc":"2026-05-10T00:00:00Z","start_sign":"leo","max_level":3,"include_l1_sequence":false},"age_years":45.98,"current":{"l1":{"level":1,"sign":"libra","sub_index":3,"is_peak":true,"is_lb_zone":false,"truncated":false,"elapsed_fraction":0.62,"period_start_utc":"2022-05-17T..","period_end_utc":"2030-05-17T.."},"l2":{"level":2,"sign":"sagittarius","sub_index":9,"is_peak":false,"is_lb_zone":false,"elapsed_fraction":0.21},"l3":{"level":3,"sign":"pisces","sub_index":4,"is_peak":false,"is_lb_zone":false,"elapsed_fraction":0.55}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/RateLimit"},"500":{"$ref":"#/components/responses/ServerError"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"birth_datetime":{"description":"ISO 8601 UTC.","type":"string"},"target_datetime":{"description":"ISO 8601 UTC. Default: jetzt. Muss >= birth_datetime sein.","type":"string"},"start_sign":{"description":"Sign-Name (aries..pisces). ENTWEDER dies ODER lot_longitude.","type":"string"},"lot_longitude":{"description":"Ekliptikale Laenge eines Lots (typisch Spirit oder Fortune). Wird auf das enthaltende Sign gemappt.","type":"number"},"max_level":{"description":"Tiefe der Rekursion. Range 1..4. Default 3.","type":"integer"},"include_l1_sequence":{"description":"Liste der ersten 50 L1-Hauptperioden ab Geburt. Default false.","type":"boolean"}},"required":["birth_datetime"]}}}}}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Format ak_live_<32hex> oder ak_test_<32hex>."}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_input"},"message":{"type":"string","example":"Parameter \"datetime\" is required."},"request_id":{"type":"string","format":"uuid"}}}}},"V1HealthGetResponse":{"type":"object","properties":{"status":{"type":"string","description":"Gesamtstatus der API. — Wertebereich: ok | degraded","example":"ok"},"database":{"type":"string","description":"Zustand der Datenbank-Verbindung. — Wertebereich: connected | unreachable","example":"connected"},"timestamp":{"type":"string","description":"Zeitpunkt des Health-Checks. — Einheit: ISO 8601 UTC","example":"2026-04-15T18:00:00+00:00"}}},"V1MeGetResponse":{"type":"object","properties":{"client":{"type":"object","properties":{"id":{"type":"integer","description":"Interne Client-ID.","example":1},"name":{"type":"string","description":"Anzeigename des Clients (aus dem Portal).","example":"Testkunde"}}},"plan":{"type":"object","properties":{"code":{"type":"string","description":"Aktueller Plan-Code. — Wertebereich: free | basic | pro | internal","example":"free"},"label":{"type":"string","description":"Menschenlesbarer Plan-Name.","example":"Free"},"requests_per_hour":{"type":"integer","description":"Stuendliches Limit des aktuellen Plans. — Einheit: Requests/h","example":60}}},"key":{"type":"object","properties":{"environment":{"type":"string","description":"Umgebung des verwendeten Keys. — Wertebereich: test | live","example":"test"}}}}},"V1PlanetsGetResponse":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"ephemeris":{"type":"string","description":"Verwendeter Ephemeriden-Typ. Zurzeit immer \"swiss\" (Swiss Ephemeris). — Einheit: —; Wertebereich: swiss","example":"swiss"},"library_version":{"type":"string","description":"Version der unterliegenden libswe. — Einheit: SemVer; Wertebereich: z.B. 2.10.03","example":"2.10.03"},"planets":{"type":"object","description":"Map mit Punkt-Namen als Keys (sun, moon, mercury, …, vesta, pholus). Jeder Wert ist ein Objekt mit den folgenden Feldern.","additionalProperties":{"type":"object","properties":{"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"latitude":{"type":"number","description":"Ekliptikale Breite, Abweichung vom Tierkreis. Fuer Sonne per Definition ≈ 0; Mond und Planeten weichen leicht ab. — Einheit: ° ekliptikal; Wertebereich: -90..90","example":3.639196e-5},"distance":{"type":"number","description":"Geozentrische Distanz. 1 AU = mittlere Entfernung Erde-Sonne ≈ 149,6 Mio. km. — Einheit: AU (astronomische Einheit); Wertebereich: >= 0","example":1.00327674},"longitude_speed":{"type":"number","description":"Laengenbewegung pro Tag. Negativ = retrograd (rueckwaerts im Tierkreis). Sonne ≈ 1°/Tag, Mond ≈ 13°/Tag, Pluto ≈ 0.003°/Tag. — Einheit: °/Tag; Wertebereich: -5..15","example":0.97945493},"latitude_speed":{"type":"number","description":"Breitenbewegung pro Tag. Wesentlich kleiner als Laengenbewegung. — Einheit: °/Tag; Wertebereich: -5..5","example":3.208e-5},"distance_speed":{"type":"number","description":"Entfernungsaenderung pro Tag. Positiv = entfernt sich, negativ = naehert sich. — Einheit: AU/Tag; Wertebereich: -0.1..0.1","example":0.00028289}}}},"asteroids":{"type":"object","description":"Nur vorhanden wenn Query-Parameter \"asteroids\" genutzt wurde. Map: {id: position-objekt} wie bei planets."}}},"V1AspectsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"aspect_names":{"type":"array","items":{"type":"string"},"description":"Liste der berechneten Aspekt-Namen.","example":["conjunction","trine"]},"orbs":{"type":"object","description":"Aufgeloeste Orben-Konfiguration (Preset-Name, globales Max, pro Aspekt Luminar/Default/Axis)."},"point_count":{"type":"integer","description":"Anzahl der Eingabepunkte."},"pair_count":{"type":"integer","description":"Anzahl gepruefter Paare (n*(n−1)/2 oder bei Synastrie |A|×|B|)."},"mode":{"type":"string","description":"single = innerhalb einer Positionsliste; synastry = Kreuz-Paare zwischen zwei Listen. — Wertebereich: single | synastry"}}},"total_strength":{"type":"number","description":"Summe aller \"strength\"-Werte. Grobe Kennzahl fuer Aspekt-Druck. — Einheit: Summe strength","example":4.82},"aspects":{"type":"array","items":{"type":"object","properties":{"first":{"type":"string","description":"Name des ersten Punkts im Paar."},"second":{"type":"string","description":"Name des zweiten Punkts im Paar."},"aspect":{"type":"string","description":"Interner Aspekt-Name. Feste Liste, Teil des API-Vertrags. — Einheit: —; Wertebereich: conjunction | opposition | trine | square | sextile | semisextile | quincunx | semisquare | sesquiquadrate | quintile | biquintile | septile | novile","example":"square"},"angle":{"type":"number","description":"Ideal-Winkel des Aspekts (0, 60, 90, 120, 180 usw.). — Einheit: °; Wertebereich: 0..180","example":90},"orb":{"type":"number","description":"Abweichung vom Ideal-Winkel (immer positiv). — Einheit: °; Wertebereich: 0..max_orb","example":2.15},"orb_percent":{"type":"number","description":"Schaerfe des Aspekts: 100 = exakt, 0 = gerade noch innerhalb des max. Orbs. Formel: 100 × (1 − orb / max_orb). — Einheit: %; Wertebereich: 0..100","example":73.125},"max_orb":{"type":"number","description":"Fuer das Pair und den Aspekt angewandter maximaler Orbis (abhaengig vom Preset und ob Luminar/Achse beteiligt). — Einheit: °; Wertebereich: 0.5..12","example":8.0},"strength":{"type":"number","description":"Normierte Staerke. 1 = exakter Aspekt, 0 = Orbis-Rand. Luminar und Achse werden leicht hoeher gewichtet (bis +10%). — Einheit: 0..1; Wertebereich: 0..1","example":0.7312},"applying":{"type":"boolean","nullable":true,"description":"true wenn der Aspekt sich der Exaktheit naehert, false wenn er sich oeffnet. null wenn keine Geschwindigkeit verfuegbar. — Einheit: —; Wertebereich: true | false | null","example":true},"exact_in_days":{"type":"number","nullable":true,"description":"Tage bis zum exakten Aspekt. Negativ = Aspekt war bereits exakt. null wenn nicht berechenbar. — Einheit: Tage; Wertebereich: -360..360","example":0.164}}},"description":"Liste der gefundenen Aspekte, absteigend nach strength."}}},"V1RadixPostResponse":{"type":"object","properties":{"input":{"type":"object","properties":{"datetime":{"type":"string","description":"Originaler datetime-Input (zur Bestaetigung in die Antwort gespiegelt)."},"timezone":{"type":"string","description":"IANA-Zone wie uebergeben."},"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"location":{"type":"object","properties":{"latitude":{"type":"number","description":"Einheit: °; Wertebereich: -90..90"},"longitude":{"type":"number","description":"Einheit: °; Wertebereich: -180..180"}}},"house_system":{"type":"string","description":"Verwendetes Haeusersystem (API-Key, Kleinbuchstaben)."},"house_system_name":{"type":"string","description":"Klartext-Name des Haeusersystems."}}},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"ephemeris":{"type":"string","description":"Verwendeter Ephemeriden-Typ. Zurzeit immer \"swiss\" (Swiss Ephemeris). — Einheit: —; Wertebereich: swiss","example":"swiss"},"library_version":{"type":"string","description":"Version der unterliegenden libswe. — Einheit: SemVer; Wertebereich: z.B. 2.10.03","example":"2.10.03"},"planets":{"type":"object","description":"Wie bei /v1/planets."},"houses":{"type":"object","description":"Map {1..12: longitude}. Hauspitzen in ekliptikaler Laenge.","properties":{"1":{"type":"number","description":"Hausspitze in ekliptikaler Laenge. Haeuser 1..12 werden als Objekt mit Integer-Keys zurueckgegeben. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":199.38586}}},"angles":{"type":"object","properties":{"ascendant":{"type":"number","description":"Aszendent — ekliptikale Laenge des Aufgangspunkts am oestlichen Horizont. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":170.7889},"mc":{"type":"number","description":"Medium Coeli — ekliptikale Laenge des Himmelsmittelpunkts (10. Hausspitze in den meisten Systemen). — Einheit: ° ekliptikal; Wertebereich: 0..360","example":77.8226},"armc":{"type":"number","description":"Ascensio Recta Medii Coeli — Rektaszension des MC am oberen Meridian. — Einheit: ° Aequator; Wertebereich: 0..360","example":79.51123},"vertex":{"type":"number","description":"Vertex — Schnittpunkt von erstem Vertikal und Ekliptik im Westen. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":285.10234},"equatorial_ascendant":{"type":"number","description":"Aequatorialer AC (Projektion auf Aequator). — Einheit: °; Wertebereich: 0..360"},"co_ascendant_koch":{"type":"number","description":"Co-Ascendant nach Koch. — Einheit: °"},"co_ascendant_munkasey":{"type":"number","description":"Co-Ascendant nach Munkasey. — Einheit: °"},"polar_ascendant":{"type":"number","description":"Polarer Ascendant. — Einheit: °"}}},"aspects":{"type":"object","properties":{"settings":{"type":"object","description":"Parameter der Aspekt-Berechnung (Namen, Orben, Punkte)."},"total_strength":{"type":"number","description":"Summe aller strength-Werte."},"list":{"type":"array","items":{"type":"object"},"description":"Pro Aspekt ein Objekt wie in /v1/aspects."}}}}},"V1TransitsPostResponse":{"type":"object","properties":{"mode":{"type":"string","description":"snapshot = einzelner Zeitpunkt; window = Scan ueber Zeitraum. — Wertebereich: snapshot | window"},"settings":{"type":"object","description":"Gespiegelte Input-Parameter (Zeitraum, Orben, Punkte-Listen)."},"aspects":{"type":"array","items":{"type":"object","properties":{"transit_point":{"type":"string","description":"Name des laufenden Planeten."},"natal_point":{"type":"string","description":"Name des Radix-Punkts."},"aspect":{"type":"string","description":"Interner Aspekt-Name. Feste Liste, Teil des API-Vertrags. — Einheit: —; Wertebereich: conjunction | opposition | trine | square | sextile | semisextile | quincunx | semisquare | sesquiquadrate | quintile | biquintile | septile | novile","example":"square"},"angle":{"type":"number","description":"Ideal-Winkel des Aspekts (0, 60, 90, 120, 180 usw.). — Einheit: °; Wertebereich: 0..180","example":90},"orb":{"type":"number","description":"Abweichung vom Ideal-Winkel (immer positiv). — Einheit: °; Wertebereich: 0..max_orb","example":2.15},"orb_percent":{"type":"number","description":"Schaerfe des Aspekts: 100 = exakt, 0 = gerade noch innerhalb des max. Orbs. Formel: 100 × (1 − orb / max_orb). — Einheit: %; Wertebereich: 0..100","example":73.125},"max_orb":{"type":"number","description":"Fuer das Pair und den Aspekt angewandter maximaler Orbis (abhaengig vom Preset und ob Luminar/Achse beteiligt). — Einheit: °; Wertebereich: 0.5..12","example":8.0},"transit_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"transit_speed":{"type":"number","description":"Laengenbewegung pro Tag. Negativ = retrograd (rueckwaerts im Tierkreis). Sonne ≈ 1°/Tag, Mond ≈ 13°/Tag, Pluto ≈ 0.003°/Tag. — Einheit: °/Tag; Wertebereich: -5..15","example":0.97945493},"retrograde":{"type":"boolean","description":"true wenn der Punkt gerade rueckwaerts laeuft (longitude_speed < 0). — Einheit: —; Wertebereich: true | false","example":false}}},"description":"Nur im Snapshot-Modus: aktuell aktive Transit-Aspekte mit Orbis."},"event_count":{"type":"integer","description":"Nur im Window-Modus: Anzahl Exakt-Ereignisse im Fenster."},"events":{"type":"array","items":{"type":"object","properties":{"transit_point":{"type":"string"},"natal_point":{"type":"string"},"aspect":{"type":"string","description":"Interner Aspekt-Name. Feste Liste, Teil des API-Vertrags. — Einheit: —; Wertebereich: conjunction | opposition | trine | square | sextile | semisextile | quincunx | semisquare | sesquiquadrate | quintile | biquintile | septile | novile","example":"square"},"angle":{"type":"number","description":"Ideal-Winkel des Aspekts (0, 60, 90, 120, 180 usw.). — Einheit: °; Wertebereich: 0..180","example":90},"exact_at":{"type":"string","description":"Zeitpunkt des exakten Aspekts. — Einheit: ISO 8601 UTC"},"exact_at_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"transit_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"transit_speed":{"type":"number","description":"Laengenbewegung pro Tag. Negativ = retrograd (rueckwaerts im Tierkreis). Sonne ≈ 1°/Tag, Mond ≈ 13°/Tag, Pluto ≈ 0.003°/Tag. — Einheit: °/Tag; Wertebereich: -5..15","example":0.97945493},"retrograde":{"type":"boolean","description":"true wenn der Punkt gerade rueckwaerts laeuft (longitude_speed < 0). — Einheit: —; Wertebereich: true | false","example":false}}},"description":"Nur im Window-Modus: Liste der Exaktereignisse, aufsteigend nach Zeit."}}},"V1ProgressionsPostResponse":{"type":"object","properties":{"mode":{"type":"string","description":"Wertebereich: snapshot | window"},"method":{"type":"string","description":"Wertebereich: secondary | solar_arc"},"settings":{"type":"object","properties":{"age_years":{"type":"number","description":"Einheit: Jahre"},"calendar_at":{"type":"string","description":"Kalenderdatum des Lebens-Ereignisses (Geburt + Jahre). — Einheit: ISO 8601 UTC"},"progressed_at":{"type":"string","description":"Progressions-Tag (Geburt + Tage entsprechend Jahre). — Einheit: ISO 8601 UTC"},"solar_arc":{"type":"number","description":"Solarbogen = Sonne_progressiert − Sonne_natal. — Einheit: °"}}},"positions":{"type":"object","description":"Progressierte Positionen: name → { longitude, speed }."},"aspects":{"type":"array","items":{"type":"object"},"description":"Aktuelle Aspekte zwischen progressierten Punkten und Radix."},"event_count":{"type":"integer","description":"Nur im Window-Modus."},"events":{"type":"array","items":{"type":"object","properties":{"moving_point":{"type":"string"},"natal_point":{"type":"string"},"aspect":{"type":"string","description":"Interner Aspekt-Name. Feste Liste, Teil des API-Vertrags. — Einheit: —; Wertebereich: conjunction | opposition | trine | square | sextile | semisextile | quincunx | semisquare | sesquiquadrate | quintile | biquintile | septile | novile","example":"square"},"angle":{"type":"number","description":"Ideal-Winkel des Aspekts (0, 60, 90, 120, 180 usw.). — Einheit: °; Wertebereich: 0..180","example":90},"age_years":{"type":"number","description":"Lebensalter beim Exaktereignis. — Einheit: Jahre"},"calendar_at":{"type":"string","description":"Kalenderdatum des Lebensereignisses. — Einheit: ISO 8601 UTC"},"progressed_at":{"type":"string","description":"Ephemeriden-Tag (Tage-fuer-Jahre). — Einheit: ISO 8601 UTC"},"moving_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"moving_speed":{"type":"number","description":"Laengenbewegung pro Tag. Negativ = retrograd (rueckwaerts im Tierkreis). Sonne ≈ 1°/Tag, Mond ≈ 13°/Tag, Pluto ≈ 0.003°/Tag. — Einheit: °/Tag; Wertebereich: -5..15","example":0.97945493},"retrograde":{"type":"boolean","description":"true wenn der Punkt gerade rueckwaerts laeuft (longitude_speed < 0). — Einheit: —; Wertebereich: true | false","example":false}}},"description":"Nur im Window-Modus."}}},"V1ReturnsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"planets":{"type":"array","items":{"type":"string"}},"from":{"type":"string","description":"Effektiver Suchbeginn nach Parsing. — Einheit: ISO 8601 UTC"},"count":{"type":"integer"},"location":{"type":"object","properties":{"latitude":{"type":"number","description":"Einheit: °"},"longitude":{"type":"number","description":"Einheit: °"}}},"house_system":{"type":"string"}}},"returns":{"type":"object","description":"Map: Planet-Name → Array von Return-Events in chronologischer Reihenfolge.","properties":{"<planet>":{"type":"array","properties":[],"items":{"type":"object","properties":{"planet":{"type":"string","description":"Planet des Return-Events."},"natal_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"exact_at":{"type":"string","description":"Exakter Zeitpunkt des Returns. — Einheit: ISO 8601 UTC"},"exact_at_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"retrograde_at_exact":{"type":"boolean","description":"true wenn der Punkt gerade rueckwaerts laeuft (longitude_speed < 0). — Einheit: —; Wertebereich: true | false","example":false},"chart":{"type":"object","properties":{"planets":{"type":"object","description":"Wenn include \"chart\": Planeten-Map des Return-Charts."},"houses":{"type":"object","description":"Wenn include \"houses\": Hausspitzen am Return-Ort."},"angles":{"type":"object","description":"Wenn include \"houses\": Achsen."},"aspects":{"type":"array","items":{"type":"object"},"description":"Wenn include \"aspects\": Aspekte im Return-Chart."}}}}}}}}}},"V1LotsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"sect":{"type":"string","description":"Erkannte Sekte: Tag oder Nacht. — Wertebereich: day | night"},"sect_rule":{"type":"string","description":"Klartext-Erklaerung der verwendeten Regel."},"filter":{"type":"array","items":{"type":"string"},"nullable":true,"description":"Falls Filter angegeben, dessen Inhalt; sonst null (alle Lots berechnet)."}}},"lots":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Interner Lot-Name (z.B. \"fortune\")."},"display":{"type":"string","description":"Menschenlesbarer Name (z.B. \"Glueckspunkt\")."},"description":{"type":"string","description":"Kurze Deutung aus dem Katalog."},"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"sign_degree":{"type":"number","description":"Gradposition innerhalb des Tierkreiszeichens. — Einheit: ° im Zeichen; Wertebereich: 0..30","example":25.53},"sect":{"type":"string","description":"Wertebereich: day | night"},"formula":{"type":"string","description":"Verwendete Formel als Klartext (z.B. \"ascendant + moon − sun\")."}}}}}},"V1EphemerisPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"start":{"type":"string","description":"Einheit: ISO 8601 UTC"},"end":{"type":"string","description":"Einheit: ISO 8601 UTC"},"step_days":{"type":"number","description":"Einheit: Tage"},"sample_count":{"type":"integer","description":"Anzahl gelieferter Samples. Max. 10.000."},"points":{"type":"array","items":{"type":"string"}},"fields":{"type":"array","items":{"type":"string"}}}},"samples":{"type":"array","items":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"points":{"type":"object","description":"Map: Punkt-Name → Objekt mit den in \"fields\" angeforderten Werten.","additionalProperties":{"type":"object","properties":{"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"latitude":{"type":"number","description":"Ekliptikale Breite, Abweichung vom Tierkreis. Fuer Sonne per Definition ≈ 0; Mond und Planeten weichen leicht ab. — Einheit: ° ekliptikal; Wertebereich: -90..90","example":3.639196e-5},"distance":{"type":"number","description":"Geozentrische Distanz. 1 AU = mittlere Entfernung Erde-Sonne ≈ 149,6 Mio. km. — Einheit: AU (astronomische Einheit); Wertebereich: >= 0","example":1.00327674},"speed":{"type":"number","description":"Laengenbewegung pro Tag. Negativ = retrograd (rueckwaerts im Tierkreis). Sonne ≈ 1°/Tag, Mond ≈ 13°/Tag, Pluto ≈ 0.003°/Tag. — Einheit: °/Tag; Wertebereich: -5..15","example":0.97945493},"latitude_speed":{"type":"number","description":"Breitenbewegung pro Tag. Wesentlich kleiner als Laengenbewegung. — Einheit: °/Tag; Wertebereich: -5..5","example":3.208e-5},"distance_speed":{"type":"number","description":"Entfernungsaenderung pro Tag. Positiv = entfernt sich, negativ = naehert sich. — Einheit: AU/Tag; Wertebereich: -0.1..0.1","example":0.00028289},"retrograde":{"type":"boolean","description":"true wenn der Punkt gerade rueckwaerts laeuft (longitude_speed < 0). — Einheit: —; Wertebereich: true | false","example":false},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"sign_degree":{"type":"number","description":"Gradposition innerhalb des Tierkreiszeichens. — Einheit: ° im Zeichen; Wertebereich: 0..30","example":25.53}}}}}},"description":"Zeitlich aufsteigend."}}},"V1AsteroidsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"asteroid_count":{"type":"integer","description":"Anzahl erfolgreich aufgeloester Positionen."},"requested":{"type":"integer","description":"Anzahl angefragter Identifier (inkl. Fehler)."},"key_by":{"type":"string","description":"\"mpc_number\" oder \"index\" (Default)."}}},"positions":{"type":"array","items":{"type":"object","properties":{"input":{"type":"string","description":"Original-Eingabe (Name oder MPC-Nummer als String)."},"mpc_number":{"type":"integer","nullable":true,"description":"Minor-Planet-Center-Nummer, sofern vorhanden."},"name":{"type":"string","description":"Anzeigename, z.B. \"Ceres\" oder \"#80\"."},"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"latitude":{"type":"number","description":"Ekliptikale Breite, Abweichung vom Tierkreis. Fuer Sonne per Definition ≈ 0; Mond und Planeten weichen leicht ab. — Einheit: ° ekliptikal; Wertebereich: -90..90","example":3.639196e-5},"distance":{"type":"number","description":"Geozentrische Distanz. 1 AU = mittlere Entfernung Erde-Sonne ≈ 149,6 Mio. km. — Einheit: AU (astronomische Einheit); Wertebereich: >= 0","example":1.00327674},"longitude_speed":{"type":"number","description":"Laengenbewegung pro Tag. Negativ = retrograd (rueckwaerts im Tierkreis). Sonne ≈ 1°/Tag, Mond ≈ 13°/Tag, Pluto ≈ 0.003°/Tag. — Einheit: °/Tag; Wertebereich: -5..15","example":0.97945493},"latitude_speed":{"type":"number","description":"Einheit: °/Tag"},"distance_speed":{"type":"number","description":"Einheit: AU/Tag"},"retrograde":{"type":"boolean","description":"true, wenn longitude_speed < 0."},"sign":{"type":"string","description":"Wertebereich: aries..pisces"},"sign_degree":{"type":"number","description":"Position innerhalb des Zeichens (0-30°). — Einheit: °"}}}},"errors":{"type":"array","items":{"type":"object","properties":{"input":{"type":"string"},"message":{"type":"string"}}},"description":"Eintraege, die nicht aufgeloest werden konnten."}}},"V1DeclinationsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"orb":{"type":"number","description":"Effektiv verwendeter Orbis. — Einheit: °"},"include_parallels":{"type":"boolean"},"body_count":{"type":"integer","description":"Anzahl aufgeloester Bodies in positions."},"parallel_count":{"type":"integer","description":"Anzahl gefundener Parallel/Contraparallel-Paare."},"out_of_bounds_threshold":{"type":"number","description":"Schwelle fuer Out-of-Bounds-Markierung. Aktuell 23.4366°. — Einheit: °"}}},"positions":{"type":"object","description":"Map {body_name: row}.","additionalProperties":{"type":"object","properties":{"right_ascension":{"type":"number","description":"Einheit: °; Wertebereich: 0..360"},"declination":{"type":"number","description":"Einheit: °; Wertebereich: -90..90"},"right_ascension_speed":{"type":"number","description":"Einheit: °/Tag"},"declination_speed":{"type":"number","description":"Positiv = Deklination steigt nach Norden. — Einheit: °/Tag"},"out_of_bounds":{"type":"boolean","description":"true, wenn |Deklination| die Schwelle ueberschreitet."}}}},"parallels":{"type":"array","items":{"type":"object","properties":{"first":{"type":"string"},"second":{"type":"string"},"kind":{"type":"string","description":"Wertebereich: parallel | contraparallel"},"first_declination":{"type":"number","description":"Einheit: °"},"second_declination":{"type":"number","description":"Einheit: °"},"orb":{"type":"number","description":"Abweichung vom Ideal-Winkel (immer positiv). — Einheit: °; Wertebereich: 0..max_orb","example":2.15},"max_orb":{"type":"number","description":"Fuer das Pair und den Aspekt angewandter maximaler Orbis (abhaengig vom Preset und ob Luminar/Achse beteiligt). — Einheit: °; Wertebereich: 0.5..12","example":8.0},"orb_percent":{"type":"number","description":"Schaerfe des Aspekts: 100 = exakt, 0 = gerade noch innerhalb des max. Orbs. Formel: 100 × (1 − orb / max_orb). — Einheit: %; Wertebereich: 0..100","example":73.125},"applying":{"type":"boolean","nullable":true,"description":"true wenn der Aspekt sich der Exaktheit naehert, false wenn er sich oeffnet. null wenn keine Geschwindigkeit verfuegbar. — Einheit: —; Wertebereich: true | false | null","example":true},"exact_in_days":{"type":"number","nullable":true,"description":"Tage bis zum exakten Aspekt. Negativ = Aspekt war bereits exakt. null wenn nicht berechenbar. — Einheit: Tage; Wertebereich: -360..360","example":0.164}}},"description":"Sortiert nach Orbis aufsteigend. Leer wenn include_parallels=false."}}},"V1AntisciaPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"orb":{"type":"number","description":"Einheit: °"},"include_pairs":{"type":"boolean"},"body_count":{"type":"integer"},"pair_count":{"type":"integer"}}},"positions":{"type":"object","description":"Map {body_name: row}.","additionalProperties":{"type":"object","properties":{"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"longitude_speed":{"type":"number","description":"Laengenbewegung pro Tag. Negativ = retrograd (rueckwaerts im Tierkreis). Sonne ≈ 1°/Tag, Mond ≈ 13°/Tag, Pluto ≈ 0.003°/Tag. — Einheit: °/Tag; Wertebereich: -5..15","example":0.97945493},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"sign_degree":{"type":"number","description":"Gradposition innerhalb des Tierkreiszeichens. — Einheit: ° im Zeichen; Wertebereich: 0..30","example":25.53},"antiscion":{"type":"number","description":"Antiscion-Position (Solstitial-Spiegel). — Einheit: °; Wertebereich: 0..360"},"antiscion_sign":{"type":"string","description":"Wertebereich: aries..pisces"},"contra_antiscion":{"type":"number","description":"Contra-Antiscion-Position (Aequinoctial-Spiegel). — Einheit: °; Wertebereich: 0..360"},"contra_antiscion_sign":{"type":"string","description":"Wertebereich: aries..pisces"}}}},"pairs":{"type":"array","items":{"type":"object","properties":{"first":{"type":"string"},"second":{"type":"string"},"kind":{"type":"string","description":"Wertebereich: antiscion | contra_antiscion"},"first_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"second_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"mirror_of_first":{"type":"number","description":"Antiscion-Mirror des ersten Bodies, an dem der zweite Body liegt. — Einheit: °"},"orb":{"type":"number","description":"Abweichung vom Ideal-Winkel (immer positiv). — Einheit: °; Wertebereich: 0..max_orb","example":2.15},"max_orb":{"type":"number","description":"Fuer das Pair und den Aspekt angewandter maximaler Orbis (abhaengig vom Preset und ob Luminar/Achse beteiligt). — Einheit: °; Wertebereich: 0.5..12","example":8.0},"orb_percent":{"type":"number","description":"Schaerfe des Aspekts: 100 = exakt, 0 = gerade noch innerhalb des max. Orbs. Formel: 100 × (1 − orb / max_orb). — Einheit: %; Wertebereich: 0..100","example":73.125},"applying":{"type":"boolean","nullable":true,"description":"true wenn der Aspekt sich der Exaktheit naehert, false wenn er sich oeffnet. null wenn keine Geschwindigkeit verfuegbar. — Einheit: —; Wertebereich: true | false | null","example":true},"exact_in_days":{"type":"number","nullable":true,"description":"Tage bis zum exakten Aspekt. Negativ = Aspekt war bereits exakt. null wenn nicht berechenbar. — Einheit: Tage; Wertebereich: -360..360","example":0.164}}},"description":"Aufsteigend nach Orb. Leer wenn include_pairs=false."}}},"V1LunarPhasesPostResponse":{"type":"object","properties":{"mode":{"type":"string","description":"Wertebereich: snapshot | window"},"current":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"phase_angle":{"type":"number","description":"Mond-Sonne-Laengendifferenz (mod 360). — Einheit: °; Wertebereich: 0..360"},"phase_name":{"type":"string","description":"Wertebereich: new_moon | waxing_crescent | first_quarter | waxing_gibbous | full_moon | waning_gibbous | last_quarter | waning_crescent"},"illumination":{"type":"number","description":"Anteil der sichtbaren beleuchteten Mondscheibe. — Wertebereich: 0..1"},"is_waxing":{"type":"boolean","description":"true wenn der Mond zunimmt (phase_angle < 180°)."},"next_event":{"type":"object","description":"Naechste Hauptphase nach \"at\".","properties":{"kind":{"type":"string","description":"Wertebereich: new_moon | first_quarter | full_moon | last_quarter"},"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"phase_angle":{"type":"number","description":"Einheit: °"},"in_days":{"type":"number","description":"Einheit: Tage"}}}}},"settings":{"type":"object","properties":{"start_utc":{"type":"string","description":"Nur Window-Modus: Fenster-Beginn UTC."},"end_utc":{"type":"string","description":"Nur Window-Modus."},"start_julian":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"end_julian":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"step_days":{"type":"number","description":"Einheit: Tage"},"event_count":{"type":"integer"}}},"events":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","description":"Wertebereich: new_moon | first_quarter | full_moon | last_quarter"},"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"phase_angle":{"type":"number","description":"Exakter Zielwinkel (0/90/180/270). — Einheit: °"},"illumination":{"type":"number","description":"Wertebereich: 0..1"}}},"description":"Nur Window-Modus, sortiert nach Zeit."}}},"V1IngressesPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"start_utc":{"type":"string","description":"Fenster-Beginn UTC."},"end_utc":{"type":"string","description":"Fenster-Ende UTC."},"start_julian":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"end_julian":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"step_days":{"type":"number","description":"Einheit: Tage"},"event_count":{"type":"integer"},"bodies":{"type":"array","items":{"type":"string"},"description":"Bodies, die mindestens ein Event hatten."}}},"events":{"type":"array","items":{"type":"object","properties":{"body":{"type":"string"},"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"longitude":{"type":"number","description":"Boundary-Laenge (immer Vielfaches von 30°). — Einheit: °"},"from_sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"to_sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"direction":{"type":"string","description":"Wertebereich: direct | retrograde"},"longitude_speed":{"type":"number","description":"Laengenbewegung pro Tag. Negativ = retrograd (rueckwaerts im Tierkreis). Sonne ≈ 1°/Tag, Mond ≈ 13°/Tag, Pluto ≈ 0.003°/Tag. — Einheit: °/Tag; Wertebereich: -5..15","example":0.97945493}}},"description":"Sortiert nach Zeit aufsteigend."}}},"V1StationsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"start_utc":{"type":"string"},"end_utc":{"type":"string"},"start_julian":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"end_julian":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"step_days":{"type":"number","description":"Einheit: Tage"},"event_count":{"type":"integer"},"bodies":{"type":"array","items":{"type":"string"},"description":"Bodies mit mindestens einer Station."}}},"events":{"type":"array","items":{"type":"object","properties":{"body":{"type":"string"},"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"sign_degree":{"type":"number","description":"Gradposition innerhalb des Tierkreiszeichens. — Einheit: ° im Zeichen; Wertebereich: 0..30","example":25.53},"kind":{"type":"string","description":"Wertebereich: station_retrograde | station_direct"},"longitude_speed":{"type":"number","description":"Restgeschwindigkeit am Bisection-Treffer (sehr nahe 0). — Einheit: °/Tag"}}},"description":"Sortiert nach Zeit aufsteigend."}}},"V1RiseTransitSetPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"location":{"type":"object","properties":{"latitude":{"type":"number","description":"Einheit: °; Wertebereich: -90..90"},"longitude":{"type":"number","description":"Einheit: °; Wertebereich: -180..180"},"altitude":{"type":"number","description":"Einheit: m"}}},"atmosphere":{"type":"object","properties":{"pressure":{"type":"number","description":"Einheit: hPa"},"temperature":{"type":"number","description":"Einheit: °C"}}},"event_count":{"type":"integer"},"missing_count":{"type":"integer","description":"Anzahl angefragter Body+Event-Kombinationen ohne gueltiges Event."}}},"events":{"type":"array","items":{"type":"object","properties":{"body":{"type":"string"},"event":{"type":"string","description":"Wertebereich: rise | set | transit | anti_transit"},"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0}}},"description":"Sortiert nach Zeit aufsteigend."},"missing":{"type":"array","items":{"type":"object","properties":{"body":{"type":"string"},"event":{"type":"string"}}},"description":"Body+Event-Kombinationen ohne gueltiges Event (Polartag/-nacht)."}}},"V1EclipsesPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"start_julian":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"end_julian":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"types":{"type":"array","items":{"type":"string"}},"mode":{"type":"string","description":"Wertebereich: global | local"},"location":{"type":"object","description":"Nur lokaler Modus: { latitude, longitude, altitude }."},"event_count":{"type":"integer"}}},"events":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","description":"Wertebereich: solar_total | solar_annular | solar_hybrid | solar_partial | lunar_total | lunar_partial | lunar_penumbral"},"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"magnitude":{"type":"number","description":"Solar global: Bruchteil des Sonnendurchmessers, der bedeckt ist."},"umbral_magnitude":{"type":"number","description":"Lunar: Bruchteil des Monddurchmessers im Kernschatten."},"penumbral_magnitude":{"type":"number","description":"Lunar: Bruchteil im Halbschatten."},"contacts":{"type":"object","description":"Globale Kontaktzeiten (ISO 8601 UTC oder null)."},"greatest_eclipse_geo":{"type":"object","description":"Solar global: { longitude, latitude } des Bodenpunkts groesster Bedeckung."},"visibility":{"type":"string","description":"Nur lokaler Modus. — Wertebereich: visible | not_visible"},"local_magnitude":{"type":"number","description":"Solar lokal: Magnitude am Standort."},"local_contacts":{"type":"object","description":"Solar lokal: 4 Kontaktzeiten + sunrise/sunset (ISO oder null)."},"sun_altitude":{"type":"number","description":"Einheit: °"},"sun_azimuth":{"type":"number","description":"Einheit: °"},"moon_altitude":{"type":"number","description":"Einheit: °"},"moon_azimuth":{"type":"number","description":"Einheit: °"}}},"description":"Sortiert nach Zeit aufsteigend."}}},"V1HarmonicsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"harmonic":{"type":"integer","description":"Der angefragte n-Wert."},"body_count":{"type":"integer"},"bodies":{"type":"array","items":{"type":"string"}}}},"positions":{"type":"object","description":"Map name → transformierte Position.","additionalProperties":{"type":"object","properties":{"longitude":{"type":"number","description":"Harmonic-transformierte Laenge. — Einheit: °; Wertebereich: 0..360"},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"sign_degree":{"type":"number","description":"Gradposition innerhalb des Tierkreiszeichens. — Einheit: ° im Zeichen; Wertebereich: 0..30","example":25.53},"natal_longitude":{"type":"number","description":"Original-Laenge im 1-Harmonic. — Einheit: °"},"latitude":{"type":"number","description":"Ekliptikale Breite, Abweichung vom Tierkreis. Fuer Sonne per Definition ≈ 0; Mond und Planeten weichen leicht ab. — Einheit: ° ekliptikal; Wertebereich: -90..90","example":3.639196e-5},"distance":{"type":"number","description":"Geozentrische Distanz. 1 AU = mittlere Entfernung Erde-Sonne ≈ 149,6 Mio. km. — Einheit: AU (astronomische Einheit); Wertebereich: >= 0","example":1.00327674},"longitude_speed":{"type":"number","description":"Original-Speed * n. — Einheit: °/Tag"},"latitude_speed":{"type":"number","description":"Breitenbewegung pro Tag. Wesentlich kleiner als Laengenbewegung. — Einheit: °/Tag; Wertebereich: -5..5","example":3.208e-5},"distance_speed":{"type":"number","description":"Entfernungsaenderung pro Tag. Positiv = entfernt sich, negativ = naehert sich. — Einheit: AU/Tag; Wertebereich: -0.1..0.1","example":0.00028289}}}}}},"V1DraconicPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"node_type":{"type":"string","description":"Wertebereich: true | mean"},"node_longitude":{"type":"number","description":"Tropische Laenge des Knotens (vor Rotation). — Einheit: °"},"node_speed":{"type":"number","description":"Eigenbewegung des Knotens (typ. ~ -0.05° fuer mean, oszillierend fuer true). — Einheit: °/Tag"},"body_count":{"type":"integer"},"bodies":{"type":"array","items":{"type":"string"}}}},"positions":{"type":"object","description":"Map name → rotierte Position.","additionalProperties":{"type":"object","properties":{"longitude":{"type":"number","description":"Draconic-Laenge. — Einheit: °; Wertebereich: 0..360"},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"sign_degree":{"type":"number","description":"Gradposition innerhalb des Tierkreiszeichens. — Einheit: ° im Zeichen; Wertebereich: 0..30","example":25.53},"natal_longitude":{"type":"number","description":"Tropische Original-Laenge. — Einheit: °"},"latitude":{"type":"number","description":"Ekliptikale Breite, Abweichung vom Tierkreis. Fuer Sonne per Definition ≈ 0; Mond und Planeten weichen leicht ab. — Einheit: ° ekliptikal; Wertebereich: -90..90","example":3.639196e-5},"distance":{"type":"number","description":"Geozentrische Distanz. 1 AU = mittlere Entfernung Erde-Sonne ≈ 149,6 Mio. km. — Einheit: AU (astronomische Einheit); Wertebereich: >= 0","example":1.00327674},"longitude_speed":{"type":"number","description":"Speed relativ zum Knoten. — Einheit: °/Tag"},"latitude_speed":{"type":"number","description":"Breitenbewegung pro Tag. Wesentlich kleiner als Laengenbewegung. — Einheit: °/Tag; Wertebereich: -5..5","example":3.208e-5},"distance_speed":{"type":"number","description":"Entfernungsaenderung pro Tag. Positiv = entfernt sich, negativ = naehert sich. — Einheit: AU/Tag; Wertebereich: -0.1..0.1","example":0.00028289}}}}}},"V1VoidOfCoursePostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"start_julian":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"end_julian":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"step_days":{"type":"number","description":"Einheit: Tage"},"include_outer_planets":{"type":"boolean"},"aspect_planets":{"type":"array","items":{"type":"string"},"description":"Welche Planeten in der Aspekt-Pruefung einbezogen wurden."},"event_count":{"type":"integer"}}},"events":{"type":"array","items":{"type":"object","properties":{"start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_start":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"julian_day_end":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"duration_minutes":{"type":"number","description":"Einheit: min"},"from_sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"to_sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"last_aspect":{"type":"object","description":"Letzter exakter Aspekt vor dem Sign-Wechsel; null, wenn im gesamten Sign-Aufenthalt keiner stattfand.","properties":{"planet":{"type":"string"},"angle":{"type":"integer","description":"Wertebereich: 0 | 60 | 90 | 120 | 180"},"name":{"type":"string","description":"Wertebereich: conjunction | sextile | square | trine | opposition"},"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"moon_longitude_at_aspect":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"planet_longitude_at_aspect":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246}}}}},"description":"Sortiert nach Beginn aufsteigend."}}},"V1PlanetaryHoursPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"location":{"type":"object","properties":{"latitude":{"type":"number","description":"Einheit: °; Wertebereich: -90..90"},"longitude":{"type":"number","description":"Einheit: °; Wertebereich: -180..180"},"altitude":{"type":"number","description":"Einheit: m"}}},"weekday":{"type":"string","description":"Wertebereich: sunday..saturday"},"day_ruler":{"type":"string","description":"Wochentag-Planet, Herrscher der ersten Tagesstunde."},"sunrise_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"sunset_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"next_sunrise_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"day_length_minutes":{"type":"number","description":"Einheit: min"},"night_length_minutes":{"type":"number","description":"Einheit: min"},"day_hour_minutes":{"type":"number","description":"Laenge einer Tagesstunde (= Tageslaenge / 12). — Einheit: min"},"night_hour_minutes":{"type":"number","description":"Einheit: min"}}},"current_hour":{"type":"object","description":"Stunden-Eintrag, in dem datetime liegt; null wenn ausserhalb."},"hours":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","description":"Wertebereich: 1..24"},"phase":{"type":"string","description":"Wertebereich: day | night"},"ruler":{"type":"string","description":"Planet-Herrscher der Stunde."},"start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_start":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"julian_day_end":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0}}},"description":"24 Eintraege, Index 1-24."}}},"V1PatternsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"orb":{"type":"number","description":"Override-Orb oder null (per-Aspekt-Defaults). — Einheit: °"},"body_count":{"type":"integer"},"bodies":{"type":"array","items":{"type":"string"}},"pattern_count":{"type":"integer"}}},"positions":{"type":"object","description":"Map name → Position.","additionalProperties":{"type":"object","properties":{"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"sign_degree":{"type":"number","description":"Gradposition innerhalb des Tierkreiszeichens. — Einheit: ° im Zeichen; Wertebereich: 0..30","example":25.53},"latitude":{"type":"number","description":"Ekliptikale Breite, Abweichung vom Tierkreis. Fuer Sonne per Definition ≈ 0; Mond und Planeten weichen leicht ab. — Einheit: ° ekliptikal; Wertebereich: -90..90","example":3.639196e-5},"longitude_speed":{"type":"number","description":"Laengenbewegung pro Tag. Negativ = retrograd (rueckwaerts im Tierkreis). Sonne ≈ 1°/Tag, Mond ≈ 13°/Tag, Pluto ≈ 0.003°/Tag. — Einheit: °/Tag; Wertebereich: -5..15","example":0.97945493}}}},"patterns":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","description":"Wertebereich: stellium | grand_trine | t_square | yod | grand_cross | kite | mystic_rectangle | grand_sextile"},"members":{"type":"array","items":{"type":"string"},"description":"Beteiligte Bodies."},"apex":{"type":"string","description":"Nur t_square, yod: Apex-Body."},"element":{"type":"string","description":"Nur grand_trine: fire | earth | air | water — wenn alle 3 Bodies im selben Element-Sign liegen."},"sign":{"type":"string","description":"Nur stellium: Sign der Gruppierung."},"longitude_span":{"type":"number","description":"Nur stellium. — Einheit: °"},"max_orb":{"type":"number","description":"Groesster Orb der beteiligten Aspekte. — Einheit: °"}}}},"aspects":{"type":"array","items":{"type":"object","properties":{"a":{"type":"string"},"b":{"type":"string"},"kind":{"type":"string","description":"Wertebereich: conjunction | sextile | square | trine | quincunx | opposition"},"angle":{"type":"integer"},"orb":{"type":"number","description":"Einheit: °"}}},"description":"Alle paarweisen Aspekte (auch ausserhalb der Patterns), sortiert nach Orb."}}},"V1HeliacalPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"datetime_start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_start":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"object":{"type":"string"},"event_type":{"type":"string"},"location":{"type":"object"},"atmosphere":{"type":"object"},"observer":{"type":"object"}}},"event":{"type":"object","properties":{"optimum_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"event_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_optimum":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"julian_day_event":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"julian_day_end":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0}}}}},"V1FixedStarsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"star_count":{"type":"integer"},"orb":{"type":"number","description":"Maximaler Orbis fuer Aspekt-Berechnung. — Einheit: °"},"aspect_angles":{"type":"array","items":{"type":"integer"},"description":"Welche Winkel gesucht wurden (meist [0] = nur Konjunktionen)."},"aspect_count":{"type":"integer"},"point_source":{"type":"string","description":"Wertebereich: natal | explicit | none"},"point_count":{"type":"integer"},"catalog_groups":{"type":"object","description":"Kategorie-Labels des Fixstern-Katalogs (royal, bright, benefic, …)."}}},"positions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Offizieller Stern-Name aus sefstars.txt (z.B. \"Aldebaran,alTau\")."},"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"latitude":{"type":"number","description":"Ekliptikale Breite, Abweichung vom Tierkreis. Fuer Sonne per Definition ≈ 0; Mond und Planeten weichen leicht ab. — Einheit: ° ekliptikal; Wertebereich: -90..90","example":3.639196e-5},"distance":{"type":"number","description":"Geozentrische Distanz. 1 AU = mittlere Entfernung Erde-Sonne ≈ 149,6 Mio. km. — Einheit: AU (astronomische Einheit); Wertebereich: >= 0","example":1.00327674},"longitude_speed":{"type":"number","description":"Laengenbewegung pro Tag. Negativ = retrograd (rueckwaerts im Tierkreis). Sonne ≈ 1°/Tag, Mond ≈ 13°/Tag, Pluto ≈ 0.003°/Tag. — Einheit: °/Tag; Wertebereich: -5..15","example":0.97945493},"error":{"type":"string","description":"Nur wenn Stern nicht gefunden — Klartext-Fehlermeldung."}}}},"aspects":{"type":"array","items":{"type":"object","properties":{"star":{"type":"string"},"star_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"star_latitude":{"type":"number","description":"Ekliptikale Breite, Abweichung vom Tierkreis. Fuer Sonne per Definition ≈ 0; Mond und Planeten weichen leicht ab. — Einheit: ° ekliptikal; Wertebereich: -90..90","example":3.639196e-5},"point":{"type":"string"},"point_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"aspect_angle":{"type":"number","description":"Ideal-Winkel des Aspekts (0, 60, 90, 120, 180 usw.). — Einheit: °; Wertebereich: 0..180","example":90},"orb":{"type":"number","description":"Abweichung vom Ideal-Winkel (immer positiv). — Einheit: °; Wertebereich: 0..max_orb","example":2.15},"orb_percent":{"type":"number","description":"Schaerfe des Aspekts: 100 = exakt, 0 = gerade noch innerhalb des max. Orbs. Formel: 100 × (1 − orb / max_orb). — Einheit: %; Wertebereich: 0..100","example":73.125}}},"description":"Nur wenn Radix/Points uebergeben: Kontakte zwischen Sternen und Punkten."}}},"V1MidpointsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"point_count":{"type":"integer"},"aspect_angles":{"type":"array","items":{"type":"integer"},"description":"8.-Harmonie-Aspekte (0, 45, 90, 135, 180)."},"orb":{"type":"number","description":"Einheit: °"},"include":{"type":"array","items":{"type":"string"},"description":"Wertebereich: list | activated | tree"},"midpoint_count":{"type":"integer","description":"n*(n−1)/2 fuer n Punkte."},"activated_count":{"type":"integer"}}},"midpoints":{"type":"array","items":{"type":"object","properties":{"pair":{"type":"array","items":{"type":"string"},"description":"Die beiden beteiligten Punkte."},"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246}}},"description":"Flache Liste aller Halbsummen."},"activated_midpoints":{"type":"array","items":{"type":"object","properties":{"pair":{"type":"array","items":{"type":"string"}},"midpoint_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"occupied_by":{"type":"string","description":"Name des aktivierenden Punkts."},"occupant_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"aspect_angle":{"type":"number","description":"Ideal-Winkel des Aspekts (0, 60, 90, 120, 180 usw.). — Einheit: °; Wertebereich: 0..180","example":90},"orb":{"type":"number","description":"Abweichung vom Ideal-Winkel (immer positiv). — Einheit: °; Wertebereich: 0..max_orb","example":2.15},"orb_percent":{"type":"number","description":"Schaerfe des Aspekts: 100 = exakt, 0 = gerade noch innerhalb des max. Orbs. Formel: 100 × (1 − orb / max_orb). — Einheit: %; Wertebereich: 0..100","example":73.125}}},"description":"Halbsummen, die von einem dritten Punkt aktiviert werden."},"tree":{"type":"object","description":"Wurzelbaum: Map Punkt-Name → Array aktivierter Halbsummen. Ebertin-klassisch."}}},"V1RelationshipPostResponse":{"type":"object","properties":{"method":{"type":"string","description":"Wertebereich: synastry | composite | davison"},"aliases":{"type":"array","items":{"type":"string"},"description":"Alternative Namen fuer die Methode (z.B. \"kombin\" fuer davison)."},"settings":{"type":"object","properties":{"person_a_name":{"type":"string"},"person_b_name":{"type":"string"},"house_system":{"type":"string"},"orbs":{"type":"object"},"aspect_names":{"type":"array","items":{"type":"string"}},"pair_count":{"type":"integer","description":"Nur bei Synastrie: Anzahl Kreuz-Paare |A|×|B|."},"midpoint_datetime":{"type":"string","description":"Nur bei davison: zeitlicher Mittelpunkt."},"midpoint_location":{"type":"object","description":"Nur bei davison: Grosskreis-Mittelpunkt der Geburtsorte."}}},"total_strength":{"type":"number","description":"Nur bei Synastrie."},"aspects":{"type":"array","items":{"type":"object"},"description":"Kreuz-Aspekte (Synastrie) oder Chart-interne Aspekte (Komposit/Davison). Punkte mit Suffix _a/_b nur bei Synastrie."},"planets":{"type":"object","description":"Nur bei Komposit/Davison: Chart-Planeten (Komposit = Mittelpunkte; Davison = echte Ephemeride)."},"houses":{"type":"object","description":"Nur bei Komposit/Davison."},"angles":{"type":"object","description":"Nur bei Komposit/Davison."},"person_a":{"type":"object","properties":{"chart":{"type":"object","description":"Optional (Synastrie mit include_natal_charts): Radix-Chart Person A."}}},"person_b":{"type":"object","properties":{"chart":{"type":"object","description":"Optional."}}}}},"V1HousesGetResponse":{"type":"object","properties":{"input":{"type":"object","properties":{"datetime":{"type":"string","description":"Gespiegelter Input."},"timezone":{"type":"string"},"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"location":{"type":"object","properties":{"latitude":{"type":"number","description":"Einheit: °"},"longitude":{"type":"number","description":"Einheit: °"},"altitude":{"type":"number","description":"Einheit: m"}}},"house_system":{"type":"string","description":"API-Key des verwendeten Haeusersystems."},"house_system_name":{"type":"string","description":"Klartext-Name."}}},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"ephemeris":{"type":"string","description":"Verwendeter Ephemeriden-Typ. Zurzeit immer \"swiss\" (Swiss Ephemeris). — Einheit: —; Wertebereich: swiss","example":"swiss"},"library_version":{"type":"string","description":"Version der unterliegenden libswe. — Einheit: SemVer; Wertebereich: z.B. 2.10.03","example":"2.10.03"},"houses":{"type":"object","description":"Map {1..12: longitude} — Hauspitzen.","properties":{"1":{"type":"number","description":"Hausspitze in ekliptikaler Laenge. Haeuser 1..12 werden als Objekt mit Integer-Keys zurueckgegeben. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":199.38586}}},"angles":{"type":"object","properties":{"ascendant":{"type":"number","description":"Aszendent — ekliptikale Laenge des Aufgangspunkts am oestlichen Horizont. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":170.7889},"mc":{"type":"number","description":"Medium Coeli — ekliptikale Laenge des Himmelsmittelpunkts (10. Hausspitze in den meisten Systemen). — Einheit: ° ekliptikal; Wertebereich: 0..360","example":77.8226},"armc":{"type":"number","description":"Ascensio Recta Medii Coeli — Rektaszension des MC am oberen Meridian. — Einheit: ° Aequator; Wertebereich: 0..360","example":79.51123},"vertex":{"type":"number","description":"Vertex — Schnittpunkt von erstem Vertikal und Ekliptik im Westen. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":285.10234},"equatorial_ascendant":{"type":"number","description":"Einheit: °"},"co_ascendant_koch":{"type":"number","description":"Einheit: °"},"co_ascendant_munkasey":{"type":"number","description":"Einheit: °"},"polar_ascendant":{"type":"number","description":"Einheit: °"}}}}},"V1DignitiesPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"mode":{"type":"string","description":"Wertebereich: datetime | positions"},"sect":{"type":"string","description":"Wertebereich: day | night"},"sect_source":{"type":"string","description":"Wertebereich: explicit | computed_from_chart | computed_from_positions | default"},"term_system":{"type":"string","description":"Wertebereich: egyptian | ptolemaic"},"body_count":{"type":"integer"},"bodies":{"type":"array","items":{"type":"string"}},"almuten_count":{"type":"integer"},"datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0}}},"dignities":{"type":"object","description":"Map body-name → Wuerden-Eintraege.","additionalProperties":{"type":"object","properties":{"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"sign_degree":{"type":"number","description":"Gradposition innerhalb des Tierkreiszeichens. — Einheit: ° im Zeichen; Wertebereich: 0..30","example":25.53},"is_classical":{"type":"boolean","description":"true wenn der Body ein klassischer Planet (sun..saturn) ist und somit Wuerden-Treffer haben kann."},"domicile_ruler":{"type":"string","description":"Klassischer Sign-Herrscher."},"detriment_ruler":{"type":"string","description":"Planet, dessen Exil dieses Sign ist."},"exaltation_ruler":{"type":"string","nullable":true,"description":"Planet, der hier exaltiert ist (oder null)."},"exaltation_degree":{"type":"integer","nullable":true,"description":"Exaktgrad der Exaltation im Sign (1..30) oder null."},"fall_ruler":{"type":"string","nullable":true,"description":"Planet, der hier in Fall ist (oder null)."},"triplicity":{"type":"object","description":"Map mit day/night/participating-Herrscher und active (je nach sect)."},"term_ruler":{"type":"string","description":"Term-/Bound-Herrscher des Grades."},"face_ruler":{"type":"string","description":"Face-/Decan-Herrscher des Grades (chaldaeisch)."},"is_in_domicile":{"type":"boolean"},"is_in_exaltation":{"type":"boolean"},"is_triplicity_ruler":{"type":"boolean"},"is_term_ruler":{"type":"boolean"},"is_face_ruler":{"type":"boolean"},"is_in_detriment":{"type":"boolean"},"is_in_fall":{"type":"boolean"},"score":{"type":"integer","description":"Lilly-Score: Summe der zutreffenden Wuerden (max. 15)."},"score_breakdown":{"type":"object","description":"Map dignity-name → Punkte (nur zutreffende)."}}}},"almuten_points":{"type":"array","items":{"type":"object","properties":{"longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"sign_degree":{"type":"number","description":"Gradposition innerhalb des Tierkreiszeichens. — Einheit: ° im Zeichen; Wertebereich: 0..30","example":25.53},"scores":{"type":"object","description":"Map planet → {total, breakdown}."},"almuten":{"type":"string","nullable":true,"description":"Sieger-Planet oder null bei Patt."},"ties":{"type":"array","items":{"type":"string"},"description":"Bei Patt: alle Planeten mit gleicher Hoechstpunktzahl."}}}}}},"V1ProfectionsPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"birth_datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"target_datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"birth_julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"target_julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"ascendant_longitude":{"type":"number","description":"Ekliptikale Laenge, gemessen vom Fruehlingspunkt in positiver Richtung. 0° = Widder 0°, 30° = Stier 0°, 180° = Waage 0° usw. — Einheit: ° ekliptikal; Wertebereich: 0..360","example":25.53047212034246},"sect":{"type":"string","description":"Wertebereich: day | night"},"include_monthly":{"type":"boolean"},"include_daily":{"type":"boolean"}}},"age_years":{"type":"number","description":"Alter zum Zeitpunkt target_datetime, mit Bruchteil. — Einheit: Jahre"},"ascendant_sign":{"type":"string","description":"Sign des Aszendenten (= 1. Whole-Sign-Haus)."},"annual":{"type":"object","properties":{"house_index":{"type":"integer","description":"Aktiviertes Whole-Sign-Haus (1 = Asc-Sign, 2 = naechstes Sign etc.). — Wertebereich: 1..12"},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"time_lord":{"type":"string","description":"Domizilherrscher des aktivierten Sign."},"triplicity_lord":{"type":"string","description":"Triplizitaets-Co-Lord je nach sect (Doroth-Tabelle)."},"period_start_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_end_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"period_end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"elapsed_fraction":{"type":"number","description":"Anteil der Periode, der zum target_datetime bereits verstrichen ist (0..1)."}}},"monthly":{"type":"object","description":"Gleiche Felder wie annual, fuer die Monats-Profektion. Nur wenn include_monthly=true."},"daily":{"type":"object","description":"Gleiche Felder wie annual, fuer die Tages-Profektion. Nur wenn include_daily=true."}}},"V1FirdariaPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"birth_datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"target_datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"birth_julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"target_julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"sect":{"type":"string","description":"Wertebereich: day | night"},"include_all_periods":{"type":"boolean"}}},"age_years":{"type":"number","description":"Einheit: Jahre"},"life_span_years":{"type":"number","description":"Total der 9 Hauptperioden (75). — Einheit: Jahre"},"beyond_life_span":{"type":"boolean","description":"true wenn target_datetime ausserhalb der 75-Jahres-Spanne liegt."},"current":{"type":"object","properties":{"main":{"type":"object","properties":{"lord":{"type":"string","description":"Aktuelle Hauptperiode-Lord (sun, moon, mercury, venus, mars, jupiter, saturn, north_node, south_node)."},"years":{"type":"number","description":"Einheit: Jahre"},"period_start_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_end_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"period_end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"is_current":{"type":"boolean"},"is_node":{"type":"boolean"},"elapsed_fraction":{"type":"number"}}},"sub":{"type":"object","properties":{"lord":{"type":"string","description":"Aktuelle Subperiode-Lord (klassische 7). Knoten haben keine Subperioden — current.sub ist dann null."},"index":{"type":"integer","description":"Wertebereich: 1..7"},"period_start_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_end_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"period_end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"elapsed_fraction":{"type":"number"}}}}},"main_periods":{"type":"array","items":{"type":"object","properties":{"lord":{"type":"string"},"years":{"type":"number","description":"Einheit: Jahre"},"period_start_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_end_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"period_end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"is_current":{"type":"boolean"},"is_node":{"type":"boolean"},"elapsed_fraction":{"type":"number"}}},"description":"Nur wenn include_all_periods=true: alle 9 Hauptperioden in chronologischer Reihenfolge."}}},"V1ZodiacalReleasingPostResponse":{"type":"object","properties":{"settings":{"type":"object","properties":{"birth_datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"target_datetime_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"birth_julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"target_julian_day_ut":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"start_sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"max_level":{"type":"integer"},"include_l1_sequence":{"type":"boolean"}}},"age_years":{"type":"number","description":"Einheit: Jahre"},"current":{"type":"object","properties":{"l1":{"type":"object","properties":{"level":{"type":"integer"},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"sub_index":{"type":"integer","description":"1-basiert ab Start-Sign."},"period_start_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_end_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"period_end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"elapsed_fraction":{"type":"number"},"is_peak":{"type":"boolean","description":"true wenn Sign kardinal (aries/cancer/libra/capricorn)."},"is_lb_zone":{"type":"boolean","description":"true wenn Sub-Index = 8 (Loosing of the Bond, ohne automatischen Sprung)."},"truncated":{"type":"boolean","description":"true wenn die Periode an der Eltern-Grenze abgeschnitten wurde."}}},"l2":{"type":"object","description":"Gleiche Felder wie l1, fuer Monats-Level."},"l3":{"type":"object","description":"Gleiche Felder, fuer Tages-Level."},"l4":{"type":"object","description":"Gleiche Felder, fuer Doppelstunden-Level. Nur wenn max_level=4."}}},"l1_sequence":{"type":"array","items":{"type":"object","properties":{"sub_index":{"type":"integer"},"sign":{"type":"string","description":"Tierkreiszeichen-Name (englisch, Kleinbuchstaben). — Einheit: —; Wertebereich: aries | taurus | gemini | cancer | leo | virgo | libra | scorpio | sagittarius | capricorn | aquarius | pisces","example":"taurus"},"years":{"type":"number","description":"Einheit: Jahre"},"period_start_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_end_jd":{"type":"number","description":"Julianischer Tag in Universal Time. 2451545.0 = 2000-01-01T12:00:00Z. Zehntel-Tag Granularitaet. — Einheit: Julianischer Tag (UT); Wertebereich: ~ 990000..3550000","example":2461146.0},"period_start_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"period_end_utc":{"type":"string","description":"Zeitpunkt in UTC, mit Mikrosekunden-Praezision. — Einheit: ISO 8601 UTC; Wertebereich: z.B. 2026-04-15T12:00:00.000000Z","example":"2026-04-15T12:00:00.000000Z"},"is_peak":{"type":"boolean"},"is_lb_zone":{"type":"boolean"}}},"description":"Nur wenn include_l1_sequence=true: erste 50 L1-Hauptperioden."}}}},"responses":{"Unauthorized":{"description":"Kein oder ungueltiger API-Key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"BadRequest":{"description":"Ungueltige Eingabe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"RateLimit":{"description":"Rate-Limit ueberschritten","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServerError":{"description":"Interner Fehler","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}