## 刷新与预热 (`cache-jobs`)

刷新(清除)缓存的 URL 或目录,以及预热指定 URL。

鉴权: 用户（部分参数仅管理员） · 文档: https://www-demo.kuxitong.com/zh/docs/api/cache-jobs

### GET `/api/v2/cache-jobs`

列出刷新/预热任务 · 鉴权: 用户（部分参数仅管理员）

查询参数:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `page` | integer |  | 页码,从 1 开始。 默认: 1 |
| `page_size` | integer |  | 每页条数。 默认: 20 |
| `sort` | string |  | 排序字段,逗号分隔,前缀 `-` 表示降序,如 `-created_at,id`。 |
| `tenant_id` | integer |  | 仅管理员可用:按租户过滤。租户凭据调用时忽略,只返回本租户数据。 |
| `type` | string |  | 只列该类型的任务。 可选值: ["purge_url","purge_dir","prefetch"] |
| `url` | string |  | 以 http:// 或 https:// 开头时按完整 URL(同提交时规范化)精确匹配(任务的 URL 列表里含它);否则按主机名精确匹配。 |

```sh
curl "https://panel.example.com/api/v2/cache-jobs" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### POST `/api/v2/cache-jobs`

创建刷新/预热任务 · 鉴权: 用户（部分参数仅管理员）

请求体:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `type` | string | 有 | purge_url 刷新 URL;purge_dir 刷新目录(URL 以 / 结尾);prefetch 预热。 可选值: ["purge_url","purge_dir","prefetch"] |
| `urls` | string[] | 有 | http(s)://主机/路径(规范化后,见创建接口);预热一次最多 100 条。 |

```sh
curl -X POST "https://panel.example.com/api/v2/cache-jobs" \
  -H "X-API-Key: $GOCDN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"purge_url","urls":["https://www.example.com/index.html"]}'
```

### GET `/api/v2/cache-jobs/{id}`

获取刷新/预热任务 · 鉴权: 用户（部分参数仅管理员）

```sh
curl "https://panel.example.com/api/v2/cache-jobs/{id}" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

刷新与预热对象:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `created_at` | string |  | 创建时间 (只读) |
| `id` | integer |  | 记录 ID (只读) |
| `results` | CacheJobNodeResult[] |  | 各节点的执行结果(只在详情里回)。 (只读) |
| `site_id` | integer |  | 网站 ID (只读) |
| `status` | string |  | 下发任务的状态(有节点失败时 pending 退避重试,次数用完 failed)。 可选值: ["pending","running","done","failed"] (只读) |
| `tenant_id` | integer |  | 所属租户(用户)ID (只读) |
| `type` | string |  | purge_url 刷新 URL;purge_dir 刷新目录(URL 以 / 结尾);prefetch 预热。 可选值: ["purge_url","purge_dir","prefetch"] |
| `updated_at` | string |  | 更新时间 (只读) |
| `urls` | string[] |  | http(s)://主机/路径(规范化后,见创建接口);预热一次最多 100 条。 |
