CycleCalcs · Example Payload

Cyclecalcs V2 Dark Window Example

AstronomySpaceScienceEphemerisSunMoonPlanetsEclipsesTimeCalendarGeolocationMCPAgent-native

Cyclecalcs V2 Dark Window Example is an example object payload from CycleCalcs, with 9 top-level fields. It illustrates the shape of data this provider's APIs accept or return.

Top-level fields

endpointcomputed_atquerydatawarningslinksmetaattributiondocs

Example Payload

Raw ↑
{
  "endpoint": "/v2/dark-window",
  "computed_at": "2026-08-01T00:00:00.000Z",
  "query": {
    "at": "2026-11-14T00:00:00.000Z",
    "mode": "instant",
    "resolved_from": "at",
    "is_now": false,
    "latitude": 51.509,
    "longitude": -0.126,
    "elevation_m": 0,
    "tz": "Europe/London",
    "utc_offset_seconds": 0,
    "utc_offset_iso": "+00:00",
    "is_dst": false,
    "timezone_source": "parameter",
    "time_format": "iso",
    "format": "json",
    "shape": "nested",
    "precision": 6,
    "pretty": 1,
    "verbosity": "full",
    "nights": 3,
    "sun_depression_deg": 18,
    "moon_altitude_max_deg": 0,
    "moon_illumination_max": 1,
    "ignored": []
  },
  "data": {
    "method": {
      "sun_test": "Sun's geometric centre at or below -18 deg",
      "moon_test": "Moon below the horizon by the engine's own rise and set search, which applies topocentric parallax and refraction to the upper limb",
      "illumination_override_offered": false,
      "illumination_override_applied": false,
      "boundary_precision_seconds": 1,
      "note": "Boundaries are root-found, not sampled, through the same rise and set search /v2/rise-set uses, so a moonset here and a moonset there agree to within the root finder's own tolerance of a few milliseconds."
    },
    "high_latitude_caution": false,
    "high_latitude_note": null,
    "best_night_index": 0,
    "ranked": [
      0,
      1,
      2
    ],
    "nights": [
      {
        "night_of": "2026-11-14",
        "label": "Night of Saturday 14 November 2026",
        "dark_interval": {
          "kind": "astronomical_night",
          "label": "Astronomical night",
          "start": "2026-11-14T18:09:13.058+00:00",
          "end": "2026-11-15T05:21:23.662+00:00",
          "duration_minutes": 672.2,
          "start_reason": "sun_reached_depression",
          "end_reason": "sun_left_depression",
          "open_start": false,
          "open_end": false
        },
        "special": null,
        "usable_intervals": [
          {
            "kind": "moonless_dark",
            "label": "Moonless dark",
            "start": "2026-11-14T19:50:10.104+00:00",
            "end": "2026-11-15T05:21:23.662+00:00",
            "duration_minutes": 571.2,
            "start_reason": "moon_set",
            "end_reason": "sun_left_depression",
            "open_start": false,
            "open_end": false
          }
        ],
        "usable_minutes": 571.2,
        "moonlit_dark_minutes": 101,
        "usable_fraction": 0.8497,
        "moon": {
          "illuminated_fraction_at_midpoint": 0.271392,
          "phase_name": "waxing_crescent",
          "rise": "2026-11-14T12:16:26.512+00:00",
          "set": "2026-11-14T19:50:10.104+00:00",
          "up_at_dusk": true,
          "up_for_whole_dark_interval": false
        },
        "illumination_override_applied": false,
        "verdict": "good",
        "verdict_reason": "Between 60 and 85 percent of astronomical night is moonless."
      },
      {
        "night_of": "2026-11-15",
        "label": "Night of Sunday 15 November 2026",
        "dark_interval": {
          "kind": "astronomical_night",
          "label": "Astronomical night",
          "start": "2026-11-15T18:08:07.923+00:00",
          "end": "2026-11-16T05:22:48.657+00:00",
          "duration_minutes": 674.7,
          "start_reason": "sun_reached_depression",
          "end_reason": "sun_left_depression",
          "open_start": false,
          "open_end": false
        },
        "special": null,
        "usable_intervals": [
          {
            "kind": "moonless_dark",
            "label": "Moonless dark",
            "start": "2026-11-15T21:02:13.762+00:00",
            "end": "2026-11-16T05:22:48.657+00:00",
            "duration_minutes": 500.6,
            "start_reason": "moon_set",
            "end_reason": "sun_left_depression",
            "open_start": false,
            "open_end": false
          }
        ],
        "usable_minutes": 500.6,
        "moonlit_dark_minutes": 174.1,
        "usable_fraction": 0.742,
        "moon": {
          "illuminated_fraction_at_midpoint": 0.35895,
          "phase_name": "waxing_crescent",
          "rise": "2026-11-15T12:40:39.487+00:00",
          "set": "2026-11-15T21:02:13.762+00:00",
          "up_at_dusk": true,
          "up_for_whole_dark_interval": false
        },
        "illumination_override_applied": false,
        "verdict": "good",
        "verdict_reason": "Between 60 and 85 percent of astronomical night is moonless."
      },
      {
        "night_of": "2026-11-16",
        "label": "Night of Monday 16 November 2026",
        "dark_interval": {
          "kind": "astronomical_night",
          "label": "Astronomical night",
          "start": "2026-11-16T18:07:05.191+00:00",
          "end": "2026-11-17T05:24:12.871+00:00",
          "duration_minutes": 677.1,
          "start_reason": "sun_reached_depression",
          "end_reason": "sun_left_depression",
          "open_start": false,
          "open_end": false
        },
        "special": null,
        "usable_intervals": [
          {
            "kind": "moonless_dark",
            "label": "Moonless dark",
            "start": "2026-11-16T22:15:31.163+00:00",
            "end": "2026-11-17T05:24:12.871+00:00",
            "duration_minutes": 428.7,
            "start_reason": "moon_set",
            "end_reason": "sun_left_depression",
            "open_start": false,
            "open_end": false
          }
        ],
        "usable_minutes": 428.7,
        "moonlit_dark_minutes": 248.4,
        "usable_fraction": 0.6331,
        "moon": {
          "illuminated_fraction_at_midpoint": 0.452732,
          "phase_name": "first_quarter",
          "rise": "2026-11-16T12:59:01.516+00:00",
          "set": "2026-11-16T22:15:31.163+00:00",
          "up_at_dusk": true,
          "up_for_whole_dark_interval": false
        },
        "illumination_override_applied": false,
        "verdict": "good",
        "verdict_reason": "Between 60 and 85 percent of astronomical night is moonless."
      }
    ],
    "summary": {
      "nights_returned": 3,
      "best_night_of": "2026-11-14",
      "best_usable_minutes": 571.2,
      "total_usable_minutes": 1500.5,
      "trend": "declining",
      "trend_note": "The moonless window shortens by about 71.3 minutes on each successive night across this run."
    }
  },
  "warnings": [],
  "links": {
    "self": "https://www.cyclecalcs.com/v2/dark-window?at=2026-11-14&lat=51.509&lon=-0.126&nights=3&tz=Europe%2FLondon",
    "docs": "https://www.cyclecalcs.com/api/reference.html#dark-window",
    "spec": "https://www.cyclecalcs.com/v2/openapi.json",
    "page": "https://www.cyclecalcs.com/sunrise-sunset-calculator.html#dw-section"
  },
  "meta": {
    "api_version": "2",
    "contract_version": "2.0.0",
    "engine": {
      "name": "Astronomy Engine",
      "license": "MIT",
      "author": "Don Cross",
      "version": "2.1.19",
      "version_source": "upstream_sha256_match",
      "sha256": "068f1445ed0c636c94818fe6d20d7d125120e605e0bab9fc4675c3d531be5ad7",
      "vendored": true,
      "credit": "astronomy-engine (MIT, Copyright (c) 2019-2023 Don Cross)"
    },
    "tzdb": "2026b",
    "rights": "unrestricted",
    "attribution": {
      "required": false,
      "text": "Computed by CycleCalcs (cyclecalcs.com) with the MIT-licensed Astronomy Engine. Positional astronomy only.",
      "sources": []
    },
    "notice_url": "https://www.cyclecalcs.com/methodology.html#data-sources",
    "cache": {
      "class": "fixed_instant",
      "deterministic": true
    },
    "accuracy": {
      "statement": "Positions are arcminute class for the Sun, Moon and planets across 1700 to 2200, degrading toward the ends of that window.",
      "residuals_url": "https://www.cyclecalcs.com/api/accuracy.html"
    },
    "time": {
      "scale_of_input": "UTC",
      "ut1_source": "assumed equal to UTC; no IERS bulletin is loaded, so UT1 minus UTC may differ by up to 0.9 s",
      "delta_t_seconds": 75.6,
      "delta_t_model": "Espenak and Meeus"
    },
    "conventions": {
      "verdict_bands": [
        {
          "code": "excellent",
          "min_usable_fraction": 0.85
        },
        {
          "code": "good",
          "min_usable_fraction": 0.6
        },
        {
          "code": "fair",
          "min_usable_fraction": 0.25
        },
        {
          "code": "poor",
          "min_usable_fraction": 0
        }
      ],
      "flat_slope_minutes_per_night": 5
    },
    "budget": {
      "engine_calls": 408
    }
  },
  "attribution": "Computed by CycleCalcs (cyclecalcs.com) with the MIT-licensed Astronomy Engine. Positional astronomy only.",
  "docs": "https://www.cyclecalcs.com/api/reference.html#dark-window"
}