GET only
Legacy routes are read-only projections. They do not create accounts, spaces, notes, bookings, or private data.
Compatibility surface
Legacy exposes a narrow read-only bridge for systems that need predictable HTTP text output instead of full JSON, ICS, WebCal, or browser-oriented pages. New integrations should prefer OpenAPI or I/O.
Isolated transport
Modern Super-Calendar pages, APIs, accounts, and private data remain HTTPS-only. Plain HTTP is accepted only on the isolated legacy hostname for fixed public text routes. The bridge then requests an allowlisted I/O projection from the main API over HTTPS.
Legacy client
-> http://legacy.super-calendar.io/weather-summary
-> fixed allowlist, GET or HEAD, no credentials
-> https://super-calendar.io/api/weather/io/...
-> small public text response
| Boundary | Policy |
|---|---|
| Main application | HTTPS only. |
| Legacy hostname | HTTP compatibility plus an HTTPS mirror. |
| Methods | GET and HEAD only. |
| Data | Public low-level text only. |
| Credentials | Never accepted or forwarded. |
| Routing | Fixed allowlist. No arbitrary URL or path forwarding. |
Legacy routes are read-only projections. They do not create accounts, spaces, notes, bookings, or private data.
Only documented allowlisted paths are served. Arbitrary proxying is not part of the contract.
Responses favor compact text with short cache windows and stable encoding for low-level consumers.
Priority ladder
| Surface | Best for | Entry |
|---|---|---|
| OpenAPI | Modern API clients and generated SDKs. | /api/docs |
| I/O | Node, row, cell, CSV, TSV, NDJSON, and text projections. | /io/ |
| Legacy | Compatibility systems that need tiny text reads. | /api/legacy |
| Agents | Machine-readable site and integration guidance. | /agents/ |
Examples
GET http://legacy.super-calendar.io/health.txt
GET http://legacy.super-calendar.io/weather-summary?charset=0
GET http://legacy.super-calendar.io/exchange-summary?charset=1
GET http://legacy.super-calendar.io/moon-summary?charset=2
The canonical machine-readable contract is available at
/api/legacy.
Migration
I/O gives the same low-level feel with stronger addressing, more formats, and direct resource manifests. Legacy exists for compatibility, not for new feature design.