From eb3719d0186089946bb48bf74c6acd7f31defe1b Mon Sep 17 00:00:00 2001 From: ysyneu Date: Wed, 24 Jun 2026 22:20:17 +0800 Subject: [PATCH] docs(safari): drop skill/download from public API (now jwt console-only) /safari/skill/download is reclassified auth=all -> jwt in the registry (fc-pgy #570): it is a console-only binary (application/zip) download used by the Customize UI via the session cookie, with no app_key consumer. Remove it from the public OpenAPI specs (per-module + consolidated, en+zh), the docs.json navigation, and the api-catalog overview (AI SRE 26->25, total 240->239). Mirrors the session/cancel removal (#101). --- api-reference/openapi.en.json | 81 ---------------------------- api-reference/openapi.zh.json | 81 ---------------------------- api-reference/safari.openapi.en.json | 81 ---------------------------- api-reference/safari.openapi.zh.json | 81 ---------------------------- docs.json | 2 - en/openapi/api-catalog.mdx | 5 +- zh/openapi/api-catalog.mdx | 5 +- 7 files changed, 4 insertions(+), 332 deletions(-) diff --git a/api-reference/openapi.en.json b/api-reference/openapi.en.json index 4595b53..084e110 100644 --- a/api-reference/openapi.en.json +++ b/api-reference/openapi.en.json @@ -20864,74 +20864,6 @@ } } }, - "/safari/skill/download": { - "post": { - "operationId": "skill-read-download", - "summary": "Download skill", - "description": "Download a skill's zip archive by ID.", - "tags": [ - "AI SRE/Skills" - ], - "security": [ - { - "AppKeyAuth": [] - } - ], - "x-mint": { - "content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **60 requests/minute**; **5 requests/second** per account |\n| Permissions | None — any valid `app_key` can call this operation |\n\n## Usage\n\n- Returns the raw zip bytes (`application/zip`), not the JSON envelope. The filename is the skill name.\n", - "href": "/en/api-reference/ai-sre/skills/skill-read-download", - "metadata": { - "sidebarTitle": "Download skill" - } - }, - "responses": { - "200": { - "description": "Skill archive (zip).", - "headers": { - "Content-Disposition": { - "description": "attachment; filename=.zip", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/zip": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequest" - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "429": { - "$ref": "#/components/responses/TooManyRequests" - }, - "500": { - "$ref": "#/components/responses/ServerError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SkillDownloadRequest" - }, - "example": { - "skill_id": "skill_8s7Hn2kLpQ3xYbVc4Wd2m" - } - } - } - } - } - }, "/safari/skill/enable": { "post": { "operationId": "skill-read-enable", @@ -39844,19 +39776,6 @@ "description" ] }, - "SkillDownloadRequest": { - "type": "object", - "description": "Skill zip download by ID.", - "properties": { - "skill_id": { - "type": "string", - "description": "Target skill ID." - } - }, - "required": [ - "skill_id" - ] - }, "GetWarRoomDefaultObserversResponse": { "type": "object", "properties": { diff --git a/api-reference/openapi.zh.json b/api-reference/openapi.zh.json index b6513f8..078a2e1 100644 --- a/api-reference/openapi.zh.json +++ b/api-reference/openapi.zh.json @@ -20856,74 +20856,6 @@ } } }, - "/safari/skill/download": { - "post": { - "operationId": "skill-read-download", - "summary": "下载技能", - "description": "按 ID 下载技能的 zip 压缩包。", - "tags": [ - "AI SRE/技能" - ], - "security": [ - { - "AppKeyAuth": [] - } - ], - "x-mint": { - "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **60 次/分钟**;**5 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 返回原始 zip 字节流(`application/zip`),而非 JSON 信封。文件名为技能名称。\n", - "href": "/zh/api-reference/ai-sre/skills/skill-read-download", - "metadata": { - "sidebarTitle": "下载技能" - } - }, - "responses": { - "200": { - "description": "技能压缩包(zip)。", - "headers": { - "Content-Disposition": { - "description": "attachment; filename=.zip", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/zip": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequest" - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "429": { - "$ref": "#/components/responses/TooManyRequests" - }, - "500": { - "$ref": "#/components/responses/ServerError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SkillDownloadRequest" - }, - "example": { - "skill_id": "skill_8s7Hn2kLpQ3xYbVc4Wd2m" - } - } - } - } - } - }, "/safari/skill/enable": { "post": { "operationId": "skill-read-enable", @@ -39835,19 +39767,6 @@ "description" ] }, - "SkillDownloadRequest": { - "type": "object", - "description": "按 ID 下载技能压缩包。", - "properties": { - "skill_id": { - "type": "string", - "description": "目标技能 ID。" - } - }, - "required": [ - "skill_id" - ] - }, "GetWarRoomDefaultObserversResponse": { "type": "object", "properties": { diff --git a/api-reference/safari.openapi.en.json b/api-reference/safari.openapi.en.json index 160f042..34b1338 100644 --- a/api-reference/safari.openapi.en.json +++ b/api-reference/safari.openapi.en.json @@ -519,74 +519,6 @@ } } }, - "/safari/skill/download": { - "post": { - "operationId": "skill-read-download", - "summary": "Download skill", - "description": "Download a skill's zip archive by ID.", - "tags": [ - "AI SRE/Skills" - ], - "security": [ - { - "AppKeyAuth": [] - } - ], - "x-mint": { - "content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **60 requests/minute**; **5 requests/second** per account |\n| Permissions | None — any valid `app_key` can call this operation |\n\n## Usage\n\n- Returns the raw zip bytes (`application/zip`), not the JSON envelope. The filename is the skill name.\n", - "href": "/en/api-reference/ai-sre/skills/skill-read-download", - "metadata": { - "sidebarTitle": "Download skill" - } - }, - "responses": { - "200": { - "description": "Skill archive (zip).", - "headers": { - "Content-Disposition": { - "description": "attachment; filename=.zip", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/zip": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequest" - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "429": { - "$ref": "#/components/responses/TooManyRequests" - }, - "500": { - "$ref": "#/components/responses/ServerError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SkillDownloadRequest" - }, - "example": { - "skill_id": "skill_8s7Hn2kLpQ3xYbVc4Wd2m" - } - } - } - } - } - }, "/safari/skill/enable": { "post": { "operationId": "skill-read-enable", @@ -2785,19 +2717,6 @@ "skill_id" ] }, - "SkillDownloadRequest": { - "type": "object", - "description": "Skill zip download by ID.", - "properties": { - "skill_id": { - "type": "string", - "description": "Target skill ID." - } - }, - "required": [ - "skill_id" - ] - }, "SkillUpdateRequest": { "type": "object", "description": "Editable skill metadata.", diff --git a/api-reference/safari.openapi.zh.json b/api-reference/safari.openapi.zh.json index 4280776..ae473fd 100644 --- a/api-reference/safari.openapi.zh.json +++ b/api-reference/safari.openapi.zh.json @@ -519,74 +519,6 @@ } } }, - "/safari/skill/download": { - "post": { - "operationId": "skill-read-download", - "summary": "下载技能", - "description": "按 ID 下载技能的 zip 压缩包。", - "tags": [ - "AI SRE/技能" - ], - "security": [ - { - "AppKeyAuth": [] - } - ], - "x-mint": { - "content": "## 限制说明\n\n| 项目 | 说明 |\n| ---- | ---- |\n| 速率限制 | 每个账户 **60 次/分钟**;**5 次/秒** |\n| 权限要求 | 无 —— 持有有效的 `app_key` 即可调用 |\n\n## 使用说明\n\n- 返回原始 zip 字节流(`application/zip`),而非 JSON 信封。文件名为技能名称。\n", - "href": "/zh/api-reference/ai-sre/skills/skill-read-download", - "metadata": { - "sidebarTitle": "下载技能" - } - }, - "responses": { - "200": { - "description": "技能压缩包(zip)。", - "headers": { - "Content-Disposition": { - "description": "attachment; filename=.zip", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/zip": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequest" - }, - "401": { - "$ref": "#/components/responses/Unauthorized" - }, - "429": { - "$ref": "#/components/responses/TooManyRequests" - }, - "500": { - "$ref": "#/components/responses/ServerError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SkillDownloadRequest" - }, - "example": { - "skill_id": "skill_8s7Hn2kLpQ3xYbVc4Wd2m" - } - } - } - } - } - }, "/safari/skill/enable": { "post": { "operationId": "skill-read-enable", @@ -2785,19 +2717,6 @@ "skill_id" ] }, - "SkillDownloadRequest": { - "type": "object", - "description": "按 ID 下载技能压缩包。", - "properties": { - "skill_id": { - "type": "string", - "description": "目标技能 ID。" - } - }, - "required": [ - "skill_id" - ] - }, "SkillUpdateRequest": { "type": "object", "description": "可编辑的技能元数据。", diff --git a/docs.json b/docs.json index 59543b9..3ff7228 100644 --- a/docs.json +++ b/docs.json @@ -1058,7 +1058,6 @@ "POST /safari/skill/update", "POST /safari/skill/delete", "POST /safari/skill/upload", - "POST /safari/skill/download", "POST /safari/skill/enable", "POST /safari/skill/disable" ] @@ -2179,7 +2178,6 @@ "POST /safari/skill/update", "POST /safari/skill/delete", "POST /safari/skill/upload", - "POST /safari/skill/download", "POST /safari/skill/enable", "POST /safari/skill/disable" ] diff --git a/en/openapi/api-catalog.mdx b/en/openapi/api-catalog.mdx index 81ed779..ed5dd95 100644 --- a/en/openapi/api-catalog.mdx +++ b/en/openapi/api-catalog.mdx @@ -3,7 +3,7 @@ title: "API Catalog" description: "Complete list of Flashduty Open API endpoints, organized by product module with links to detailed documentation" --- -Flashduty Open API provides **240** endpoints covering five major modules: On-call, Monitors, RUM, AI SRE, and Platform. All endpoints use unified authentication and request specifications. See [Quick Start](/en/openapi/introduction) for details. +Flashduty Open API provides **239** endpoints covering five major modules: On-call, Monitors, RUM, AI SRE, and Platform. All endpoints use unified authentication and request specifications. See [Quick Start](/en/openapi/introduction) for details. All endpoint URLs use `https://api.flashcat.cloud` as the base, authenticated via APP Key through query string. @@ -288,7 +288,7 @@ All endpoint URLs use `https://api.flashcat.cloud` as the base, authenticated vi - + ### Sessions @@ -308,7 +308,6 @@ All endpoint URLs use `https://api.flashcat.cloud` as the base, authenticated vi | POST | [`/safari/skill/update`](/en/api-reference/ai-sre/skills/skill-write-update) | Update skill | | POST | [`/safari/skill/delete`](/en/api-reference/ai-sre/skills/skill-write-delete) | Delete skill | | POST | [`/safari/skill/upload`](/en/api-reference/ai-sre/skills/skill-write-upload) | Upload skill | -| POST | [`/safari/skill/download`](/en/api-reference/ai-sre/skills/skill-read-download) | Download skill | | POST | [`/safari/skill/enable`](/en/api-reference/ai-sre/skills/skill-read-enable) | Enable skill | | POST | [`/safari/skill/disable`](/en/api-reference/ai-sre/skills/skill-write-disable) | Disable skill | diff --git a/zh/openapi/api-catalog.mdx b/zh/openapi/api-catalog.mdx index ce56d61..f154797 100644 --- a/zh/openapi/api-catalog.mdx +++ b/zh/openapi/api-catalog.mdx @@ -3,7 +3,7 @@ title: "API 总览" description: "Flashduty Open API 全量接口列表,按产品模块分类,点击可跳转到接口详情" --- -Flashduty Open API 共提供 **240** 个接口,覆盖 On-call、Monitors、RUM、AI SRE 和平台五大模块。所有接口使用统一的认证方式和请求规范,详见[快速入门](/zh/openapi/introduction)。 +Flashduty Open API 共提供 **239** 个接口,覆盖 On-call、Monitors、RUM、AI SRE 和平台五大模块。所有接口使用统一的认证方式和请求规范,详见[快速入门](/zh/openapi/introduction)。 所有接口 Endpoint 均为 `https://api.flashcat.cloud`,使用 APP Key 通过 query string 认证。 @@ -288,7 +288,7 @@ Flashduty Open API 共提供 **240** 个接口,覆盖 On-call、Monitors、RUM - + ### 会话 @@ -308,7 +308,6 @@ Flashduty Open API 共提供 **240** 个接口,覆盖 On-call、Monitors、RUM | POST | [`/safari/skill/update`](/zh/api-reference/ai-sre/skills/skill-write-update) | 更新技能 | | POST | [`/safari/skill/delete`](/zh/api-reference/ai-sre/skills/skill-write-delete) | 删除技能 | | POST | [`/safari/skill/upload`](/zh/api-reference/ai-sre/skills/skill-write-upload) | 上传技能 | -| POST | [`/safari/skill/download`](/zh/api-reference/ai-sre/skills/skill-read-download) | 下载技能 | | POST | [`/safari/skill/enable`](/zh/api-reference/ai-sre/skills/skill-read-enable) | 启用技能 | | POST | [`/safari/skill/disable`](/zh/api-reference/ai-sre/skills/skill-write-disable) | 禁用技能 |