changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "endpoint": {
+ "description": "The REST route that computed it, e.g. 'western/natal'.",
+ "type": "string"
+ },
+ "meta": {
+ "description": "Provenance of the result.",
+ "properties": {
+ "astronomy_library": {
+ "description": "Astronomy library and version.",
+ "type": "string"
+ },
+ "compute_ms": {
+ "description": "Computation time in milliseconds.",
+ "type": "number"
+ },
+ "computed_at": {
+ "description": "When it was computed (UTC, ISO 8601).",
+ "type": "string"
+ },
+ "deterministic": {
+ "description": "Always true: same input, same result.",
+ "type": "boolean"
+ },
+ "engine": {
+ "description": "Engine name and version.",
+ "type": "string"
+ },
+ "ephemeris": {
+ "description": "Ephemeris used (NASA/JPL DE440).",
+ "type": "string"
+ },
+ "frame": {
+ "description": "Reference frame of the positions.",
+ "type": "string"
+ },
+ "input_sha256": {
+ "description": "SHA-256 of the canonical input.",
+ "type": "string"
+ },
+ "llm_used": {
+ "description": "Always false: no language model is involved.",
+ "type": "boolean"
+ },
+ "payment": {
+ "description": "How this call was paid: protocol ('free' or 'none'), price and the free calls remaining.",
+ "type": "object"
+ },
+ "reproducibility": {
+ "description": "How to reproduce and check this result.",
+ "type": "string"
+ },
+ "result_sha256": {
+ "description": "SHA-256 of the canonical 'result'; check it with verify_result_hash.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "engine",
+ "deterministic",
+ "llm_used",
+ "input_sha256",
+ "result_sha256"
+ ],
+ "type": "object"
+ },
+ "result": {
+ "description": "The calculation result.",
+ "properties": {
+ "doshas": {
+ "description": "Matching doshas such as Bhakoot dosha, with whether each applies and is cancelled.",
+ "type": "object"
+ },
+ "kootas": {
+ "description": "The eight kootas (varna, vashya, tara, yoni, graha_maitri, gana, bhakoot, nadi), each with points scored, maximum and the reason.",
+ "type": "object"
+ },
+ "manglik": {
+ "description": "Manglik status of each person and whether the pair matches on it.",
+ "type": "object"
+ },
+ "max": {
+ "description": "Maximum possible score (36).",
+ "type": "integer"
+ },
+ "person_a": {
+ "description": "First person: subject and natal Moon (rashi, nakshatra, pada).",
+ "type": "object"
+ },
+ "person_b": {
+ "description": "Second person: subject and natal Moon (rashi, nakshatra, pada).",
+ "type": "object"
+ },
+ "settings": {
+ "description": "Settings applied, plus the Ashtakoota ruleset and convention used.",
+ "type": "object"
+ },
+ "total": {
+ "description": "Total Gun Milan score, out of 'max'.",
+ "type": "number"
+ },
+ "verdict": {
+ "description": "Plain-language reading of the total score.",
+ "type": "string"
+ },
+ "warnings": {
+ "description": "Notes on the input or the calculation (for example an assumed noon for an unknown birth time). Present only when there is something to say.",
+ "type": "array"
+ }
+ },
+ "required": [
+ "settings",
+ "person_a",
+ "person_b",
+ "kootas",
+ "total",
+ "max",
+ "verdict",
+ "doshas",
+ "manglik"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "endpoint",
+ "result",
+ "meta"
+ ],
+ "type": "object"
+}