{
  "added_at": "2026-11-09",
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "Skylight API documents Skylight Calendar's web API from browser HAR captures and publishes the resulting OpenAPI specification. Its CLI filters Skylight requests, redacts sensitive values, normalizes URL paths, infers response schemas, and generates Swagger UI or ReDoc pages.",
  "description_zh": "Skylight API 根据浏览器 HAR 抓包整理 Skylight Calendar 的网页接口，并发布 OpenAPI 规范。其 CLI 筛选接口请求、脱敏敏感值、规范化 URL 路径、推断响应结构，并生成 Swagger UI 或 ReDoc 页面。",
  "entry_url": "https://awesomerea.org/resources/skylight-api-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/skylight-api-case/",
  "evidence_url": "https://github.com/TheEagleByte/skylight-api/blob/92f0753b2b2d9695cd15d18ad9d8eeb7e03b32d0/README.md",
  "group": "cases",
  "id": "skylight-api-case",
  "json_url": "https://awesomerea.org/resources/skylight-api-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/skylight-api-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/skylight-api-case/index.md",
  "name": "Skylight API: reconstructing the Skylight Calendar web API",
  "name_zh": "Skylight API：重建 Skylight Calendar 网页接口",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "scope",
    "license"
  ],
  "requirements": [
    "Generating or updating the specification requires HAR files with content captured from the Skylight web app.",
    "Node.js and npm are used to install and run the CLI.",
    "The author reports that the published specification covers 38 endpoints.",
    "MIT license."
  ],
  "requirements_zh": [
    "生成或更新规范需要从 Skylight 网页应用导出的含内容 HAR 文件。",
    "安装和运行 CLI 使用 Node.js 与 npm。",
    "作者报告已发布的规范涵盖 38 个接口。",
    "MIT 许可证。"
  ],
  "targets": [
    "protocol",
    "website"
  ],
  "url": "https://github.com/TheEagleByte/skylight-api",
  "verification": "source-reviewed",
  "verified_at": "2026-11-07"
}
