# Calendar

> The Calendar operations of the Hub REST API (4 operations).

URL: https://docs.synap.live/docs/reference/hub-api/calendar · Generated from Synap-core/backend@c31e261ab (main)

Paths are relative to `/api/hub` on a pod.

## GET /calendar/feed

Calendar feed status (no plaintext token)

Responses:

- `200`: Feed status
- `401`: Unauthorized
- `403`: Missing scope

## POST /calendar/feed

Mint a personal ICS feed URL (plaintext once)

Responses:

- `200`: Feed URLs
- `401`: Unauthorized
- `403`: Missing scope
- `409`: Feed already exists

## POST /calendar/feed/rotate

Revoke the live token and mint a new one

Responses:

- `200`: New feed URLs
- `401`: Unauthorized
- `403`: Missing scope
- `404`: No live feed to rotate

## GET /calendar/feed/{token}.ics

Personal ICS feed (token in path; unauthenticated)

Responses:

- `200`: text/calendar body
- `404`: Unknown or revoked token
