changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": true,
+ "description": "The MCP projection of a CycleCalcs v2 response: the answer, plus the provenance a caller needs to use it honestly.",
+ "properties": {
+ "attribution": {
+ "description": "The credit line to display verbatim when rights is attribution_required.",
+ "type": "string"
+ },
+ "data": {
+ "additionalProperties": true,
+ "description": "The complete solar day for one location, or one row per day in range mode.",
+ "properties": {
+ "blue_hour": {
+ "description": "The blue-light window just outside golden hour.",
+ "type": "object"
+ },
+ "constellation": {
+ "description": "The IAU constellation the Sun currently occupies.",
+ "type": "object"
+ },
+ "custom": {
+ "description": "Boundaries for any custom depression angles requested.",
+ "type": "array"
+ },
+ "dark_minutes": {
+ "description": "Minutes of true astronomical darkness.",
+ "type": "integer"
+ },
+ "day_length": {
+ "description": "Day length, human-readable.",
+ "type": "string"
+ },
+ "day_length_change_from_yesterday_seconds": {
+ "description": "Seconds gained or lost since the previous day. Negative means shortening.",
+ "type": "integer"
+ },
+ "day_length_minutes": {
+ "description": "Day length in minutes.",
+ "type": "number"
+ },
+ "day_length_seconds": {
+ "description": "Day length in whole seconds.",
+ "type": "integer"
+ },
+ "days": {
+ "description": "RANGE MODE ONLY: one entry per day, each with the fields above.",
+ "type": "array"
+ },
+ "golden_hour": {
+ "description": "The warm-light window around sunrise and sunset.",
+ "type": "object"
+ },
+ "night_begins": {
+ "description": "When astronomical night starts. Null where it never gets that dark.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "night_ends": {
+ "description": "When astronomical night ends. Null where it never gets that dark.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "position_now": {
+ "description": "Where the Sun is at this moment.",
+ "type": "object"
+ },
+ "rise_set": {
+ "description": "Sunrise and sunset, with a status for polar day and polar night.",
+ "type": "object"
+ },
+ "solar_midnight": {
+ "description": "Instant the Sun is lowest, opposite solar noon.",
+ "type": "string"
+ },
+ "solar_midnight_altitude_deg": {
+ "description": "Sun altitude at solar midnight, in degrees.",
+ "type": "number"
+ },
+ "solar_midnight_altitude_refracted_deg": {
+ "description": "Including refraction.",
+ "type": "number"
+ },
+ "solar_midnight_altitude_unrefracted_deg": {
+ "description": "Geometric, refraction excluded.",
+ "type": "number"
+ },
+ "solar_noon": {
+ "description": "Instant the Sun crosses the meridian.",
+ "type": "string"
+ },
+ "solar_noon_altitude_deg": {
+ "description": "Sun altitude at solar noon, in degrees.",
+ "type": "number"
+ },
+ "solar_noon_altitude_refracted_deg": {
+ "description": "As seen, including atmospheric refraction.",
+ "type": "number"
+ },
+ "solar_noon_altitude_unrefracted_deg": {
+ "description": "Geometric altitude, refraction excluded.",
+ "type": "number"
+ },
+ "solar_noon_azimuth_deg": {
+ "description": "Compass bearing of the Sun at solar noon.",
+ "type": "number"
+ },
+ "summary": {
+ "description": "A one-line reading of the solar day.",
+ "type": "string"
+ },
+ "tropical_sign": {
+ "description": "Tropical ecliptic longitude, reported as position only.",
+ "type": "object"
+ },
+ "twilight": {
+ "description": "Civil, nautical and astronomical twilight boundaries.",
+ "type": "object"
+ },
+ "window": {
+ "description": "The instant or range actually evaluated, after parsing.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "next_cursor": {
+ "description": "Present only when more rows exist. Send it back with the SAME start/end arguments as the first call to get the next page.",
+ "type": "string"
+ },
+ "not_computed": {
+ "description": "Data this API deliberately does not serve, and why. Present only when the question touched such a field. An absence named here is information: treat it as \"withheld\", never as \"none exists\".",
+ "type": "array"
+ },
+ "rights": {
+ "description": "Either unrestricted, or attribution_required when third-party place data was used. When attribution_required, the attribution line must be shown.",
+ "type": "string"
+ },
+ "warnings": {
+ "description": "Machine-readable notices about this answer. Present only when non-empty. Never changes whether the call succeeded.",
+ "type": "array"
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "type": "object"
+}