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.
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
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.
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.