API 参考
Fork
POST /api/forks 复制研究仓库到自己的命名空间,在既有研究基础上继续工作。
POST /api/forks 把源仓库的完整快照复制到指定命名空间:论文、Claims、实验方案、证据与来源全部保留,但运行记录(runs)清空、forkCount 重置为 0,并记录 forkedFrom(源仓库的 repositoryId、owner、slug 与当时的 commitId),用于追溯 Fork 来源。源仓库的 forkCount 相应加一。
鉴权
需要 write 权限:浏览器 session 或 API Key(x-api-key)。同时要求对源仓库有读取权限。
请求
Body 为 JSON:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sourceRepositoryId | string | 是 | 源仓库 ID |
| owner | string | 否 | 目标命名空间(当前账号或有权限的组织),缺省为当前账号;仅小写字母、数字、连字符,最长 64 |
| slug | string | 否 | 新仓库 slug,缺省沿用源仓库 slug;仅小写字母、数字、连字符,最长 96 |
示例
curl -X POST https://citeark.com/api/forks \
-H "x-api-key: $CITEARK_API_KEY" \
-H "content-type: application/json" \
-d '{"sourceRepositoryId": "…", "owner": "your-name"}'响应
成功返回 201:
{
"repository": {
"id": "…",
"owner": "<所有者>",
"slug": "<仓库名>",
"forkedFrom": { "repositoryId": "…", "owner": "…", "slug": "…", "commitId": "…" }
},
"url": "/r/<所有者>/<仓库名>"
}错误
错误统一形态为 {"error": "中文信息"}:
| 状态码 | 说明 |
|---|---|
| 400 | Fork 请求无效(参数校验失败);源仓库不存在同样返回 400 |
| 401 | 未登录或凭证无效 |
| 403 | 没有源仓库的读取权限 |
| 429 | 触发限流 |
限流
20 次/小时/账号。超限返回 429,并携带 Retry-After 响应头。