跳转到主要内容
POST
/
safari
/
skill
/
upload
上传技能
curl --request POST \
  --url 'https://api.flashcat.cloud/safari/skill/upload?app_key=' \
  --header 'Content-Type: multipart/form-data' \
  --form file='@example-file' \
  --form team_id=123
{
  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
  "data": {
    "skill_id": "skl-7f3a9c21b8e0",
    "account_id": 10023,
    "team_id": 0,
    "skill_name": "k8s-triage",
    "description": "Diagnose unhealthy Kubernetes workloads from cluster events and pod logs.",
    "version": "1.2.0",
    "tags": [
      "kubernetes",
      "triage"
    ],
    "author": "sre-team",
    "status": "enabled",
    "created_by": 80011,
    "created_at": 1716960000000,
    "updated_at": 1717046400000,
    "can_edit": true,
    "update_available": false,
    "is_modified": false
  }
}

限制说明

项目说明
速率限制每个 app_key 1,000 次/分钟50 次/秒
权限要求无 —— 持有有效的 app_key 即可调用

使用说明

  • 请求体为 multipart/form-data,包含 file 部分(zip 包)与可选的 team_id 字段,而非 JSON。
  • 技能名称重复时返回 InvalidParameter。
  • 每次调用都会记入账户审计日志。

授权

app_key
string
query
必填

Flashduty 控制台「账户 → APP Keys」中签发的 app_key。调用任何公共 API 都需要它。

请求体

multipart/form-data
file
file
必填

Skill zip package to upload.

team_id
integer<int64>

Owning team for the new skill; 0 for account scope.

响应

Success

Standard response envelope used by every Flashduty public API. On success data contains the endpoint-specific payload and error is absent. On failure error is present and data is absent. request_id is always present and is also mirrored in the Flashcat-Request-Id response header.

request_id
string
必填

Unique ID for this request. Mirrored in the Flashcat-Request-Id header. Include it when reporting issues.

示例:

"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"

error
object

Error payload inside the response envelope. Present only on non-2xx responses.

data
object

An AI SRE skill — a packaged capability the agent can load at runtime.