CycleCalcs · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the CycleCalcs Astronomy API

31 actions 31 updates documentation extends ../openapi/_original/cyclecalcs-astronomy-openapi-original.json
Derived by API Evangelist Built from the contracts CycleCalcs publishes. CycleCalcs did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

tagsx-mcp-toolx-apievangelist-slugx-apievangelist-profilex-apievangelist-enrichedx-artifact-conventionsx-artifact-errorsx-artifact-lifecycle

Targets 31 · first 16 shown; the file carries all of them

$.info
$
$.paths['/v2'].get
$.paths['/v2/conventions'].get
$.paths['/v2/enums'].get
$.paths['/v2/attribution'].get
$.paths['/v2/positions'].get
$.paths['/v2/rise-set'].get
$.paths['/v2/sun'].get
$.paths['/v2/moon'].get
$.paths['/v2/time'].get
$.paths['/v2/seasons'].get
$.paths['/v2/apsides'].get
$.paths['/v2/moon-nodes'].get
$.paths['/v2/eclipses'].get
$.paths['/v2/planet-board'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the CycleCalcs Astronomy API
  version: 1.0.0
x-generated: '2026-08-09'
x-method: generated
x-source: >-
  Derived from openapi/cyclecalcs-astronomy-openapi-original.json (harvested
  verbatim from https://www.cyclecalcs.com/v2/openapi.json) plus the
  tool-to-endpoint table the provider publishes at
  https://www.cyclecalcs.com/api/mcp.html.
x-note: >-
  These are API Evangelist's enhancements, not provider claims. The harvested
  spec is already unusually complete — 29 operations, every one with a unique
  operationId, a summary, a description, a full 200/304/400/404/405/413/429
  response set, RFC 9457 problem schemas and live executable examples. The one
  material gap is tagging: the document declares no `tags` at all, so every
  operation is untagged. This overlay supplies the eight families the
  provider's own docs already group by, binds each MCP tool to its backing
  operation, and cross-links the artifacts in this repo. It never mutates the
  original.
extends: ../openapi/_original/cyclecalcs-astronomy-openapi-original.json
actions:
  - target: $.info
    description: API Evangelist provenance and catalog cross-links.
    update:
      x-apievangelist-slug: cyclecalcs
      x-apievangelist-profile: https://apis.io/provider/cyclecalcs/
      x-apievangelist-enriched: '2026-08-09'
      x-artifact-conventions: conventions/cyclecalcs-conventions.yml
      x-artifact-errors: errors/cyclecalcs-problem-types.yml
      x-artifact-lifecycle: lifecycle/cyclecalcs-lifecycle.yml
      x-artifact-rate-limits: rate-limits/cyclecalcs-rate-limits.yml
      x-artifact-vocabulary: vocabulary/cyclecalcs-vocabulary.yml
      x-artifact-mcp: mcp/cyclecalcs-mcp.yml
  - target: $
    description: >-
      The published spec declares no top-level tags, so every operation is
      untagged and the reference renders as one flat list of 29 GETs. Declare
      the eight endpoint families the provider's own documentation already
      groups by.
    update:
      tags:
        - {name: Discovery, description: The API describing itself as data — routes, conventions, enums and the source register.}
        - {name: Sun, description: Solar day boundaries, twilight, the equation of time, and the seasons.}
        - {name: Moon, description: Phase, illumination, libration, nodes and apsides.}
        - {name: Planets, description: The visibility board, apparition events, retrograde stations and the Galilean moons.}
        - {name: Geometry, description: Positions, rise/transit/set, separations and conjunctions.}
        - {name: Time, description: Time scales, sidereal time and Julian dates.}
        - {name: Observing, description: Dark windows, sky quality, eclipses and the whole-sky snapshot.}
        - {name: Places, description: Place-name search and reverse lookup over the self-hosted GeoNames index.}
  - target: $.paths['/v2'].get
    description: Tag getDiscovery into the Discovery family.
    update:
      tags: [Discovery]
  - target: $.paths['/v2/conventions'].get
    description: Tag getConventions into the Discovery family.
    update:
      tags: [Discovery]
  - target: $.paths['/v2/enums'].get
    description: Tag getEnums into the Discovery family.
    update:
      tags: [Discovery]
  - target: $.paths['/v2/attribution'].get
    description: Tag getAttribution into the Discovery family.
    update:
      tags: [Discovery]
  - target: $.paths['/v2/positions'].get
    description: Tag getPositions into the Geometry family and bind its MCP tool.
    update:
      tags: [Geometry]
      x-mcp-tool: astro_positions
  - target: $.paths['/v2/rise-set'].get
    description: Tag getRiseSet into the Geometry family and bind its MCP tool.
    update:
      tags: [Geometry]
      x-mcp-tool: astro_rise_set
  - target: $.paths['/v2/sun'].get
    description: Tag getSun into the Sun family and bind its MCP tool.
    update:
      tags: [Sun]
      x-mcp-tool: astro_sun
  - target: $.paths['/v2/moon'].get
    description: Tag getMoon into the Moon family and bind its MCP tool.
    update:
      tags: [Moon]
      x-mcp-tool: astro_moon
  - target: $.paths['/v2/time'].get
    description: Tag getTime into the Time family.
    update:
      tags: [Time]
  - target: $.paths['/v2/seasons'].get
    description: Tag getSeasons into the Sun family.
    update:
      tags: [Sun]
  - target: $.paths['/v2/apsides'].get
    description: Tag getApsides into the Moon family.
    update:
      tags: [Moon]
  - target: $.paths['/v2/moon-nodes'].get
    description: Tag getMoonNodes into the Moon family.
    update:
      tags: [Moon]
  - target: $.paths['/v2/eclipses'].get
    description: Tag getEclipses into the Observing family and bind its MCP tool.
    update:
      tags: [Observing]
      x-mcp-tool: astro_eclipses
  - target: $.paths['/v2/planet-board'].get
    description: Tag getPlanetBoard into the Planets family and bind its MCP tool.
    update:
      tags: [Planets]
      x-mcp-tool: astro_planet_board
  - target: $.paths['/v2/retrogrades'].get
    description: Tag getRetrogrades into the Planets family.
    update:
      tags: [Planets]
  - target: $.paths['/v2/conjunctions'].get
    description: Tag getConjunctions into the Geometry family.
    update:
      tags: [Geometry]
  - target: $.paths['/v2/separation'].get
    description: Tag getSeparation into the Geometry family.
    update:
      tags: [Geometry]
  - target: $.paths['/v2/cycles'].get
    description: Tag getCycles into the Observing family.
    update:
      tags: [Observing]
  - target: $.paths['/v2/twilight'].get
    description: Tag getTwilight into the Sun family.
    update:
      tags: [Sun]
  - target: $.paths['/v2/dark-window'].get
    description: Tag getDarkWindow into the Observing family and bind its MCP tool.
    update:
      tags: [Observing]
      x-mcp-tool: astro_dark_window
  - target: $.paths['/v2/sidereal-time'].get
    description: Tag getSiderealTime into the Time family.
    update:
      tags: [Time]
  - target: $.paths['/v2/equation-of-time'].get
    description: Tag getEquationOfTime into the Sun family.
    update:
      tags: [Sun]
  - target: $.paths['/v2/libration'].get
    description: Tag getLibration into the Moon family.
    update:
      tags: [Moon]
  - target: $.paths['/v2/jupiter-moons'].get
    description: Tag getJupiterMoons into the Planets family.
    update:
      tags: [Planets]
  - target: $.paths['/v2/sky-quality'].get
    description: Tag getSkyQuality into the Observing family.
    update:
      tags: [Observing]
  - target: $.paths['/v2/places'].get
    description: Tag getPlaces into the Places family and bind its MCP tool.
    update:
      tags: [Places]
      x-mcp-tool: astro_find_place
  - target: $.paths['/v2/phases'].get
    description: Tag getPhases into the Moon family and bind its MCP tool.
    update:
      tags: [Moon]
      x-mcp-tool: astro_moon_phases
  - target: $.paths['/v2/planet-events'].get
    description: Tag getPlanetEvents into the Planets family and bind its MCP tool.
    update:
      tags: [Planets]
      x-mcp-tool: astro_planet_events
  - target: $.paths['/v2/today'].get
    description: Tag getToday into the Observing family and bind its MCP tool.
    update:
      tags: [Observing]
      x-mcp-tool: astro_sky_today

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/cyclecalcs-astronomy-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.