{
  "schema": "zodiacs.sky-api.index.v1",
  "source": "https://zodiacs.org/api/v1/index.json",
  "docs": "https://zodiacs.org/developers/",
  "license": "CC BY 4.0",
  "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "Data: Zodiacs.org — https://zodiacs.org",
  "api": "https://zodiacs.org/api/v1/",
  "generatedAt": "2026-09-01T05:49:44.902Z",
  "versioning": "Fields are added, never renamed or removed, within v1. Breaking changes would ship as /api/v2/.",
  "endpoints": [
    {
      "path": "/api/v1/sky/today.json",
      "description": "Today's positions, moon phase, active retrogrades, and exact sky events",
      "updates": "daily at the 00:00 UTC publication boundary"
    },
    {
      "path": "/api/v1/retrogrades/2026.json",
      "description": "Retrograde windows with shadow boundaries · 2026",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/retrogrades/2027.json",
      "description": "Retrograde windows with shadow boundaries · 2027",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/retrogrades/2028.json",
      "description": "Retrograde windows with shadow boundaries · 2028",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/retrogrades/2029.json",
      "description": "Retrograde windows with shadow boundaries · 2029",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/retrogrades/2030.json",
      "description": "Retrograde windows with shadow boundaries · 2030",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/ingresses/2026.json",
      "description": "Planetary sign ingresses · 2026",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/ingresses/2027.json",
      "description": "Planetary sign ingresses · 2027",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/ingresses/2028.json",
      "description": "Planetary sign ingresses · 2028",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/ingresses/2029.json",
      "description": "Planetary sign ingresses · 2029",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/ingresses/2030.json",
      "description": "Planetary sign ingresses · 2030",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/moon-phases/2026.json",
      "description": "Full and new moon instants with signs · 2026",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/moon-phases/2027.json",
      "description": "Full and new moon instants with signs · 2027",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/moon-phases/2028.json",
      "description": "Full and new moon instants with signs · 2028",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/moon-phases/2029.json",
      "description": "Full and new moon instants with signs · 2029",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/moon-phases/2030.json",
      "description": "Full and new moon instants with signs · 2030",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/eclipses/2026.json",
      "description": "Solar and lunar eclipse peaks · 2026",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/eclipses/2027.json",
      "description": "Solar and lunar eclipse peaks · 2027",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/eclipses/2028.json",
      "description": "Solar and lunar eclipse peaks · 2028",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/eclipses/2029.json",
      "description": "Solar and lunar eclipse peaks · 2029",
      "updates": "yearly data refresh"
    },
    {
      "path": "/api/v1/eclipses/2030.json",
      "description": "Solar and lunar eclipse peaks · 2030",
      "updates": "yearly data refresh"
    }
  ]
}
