API 参考写入 API

登记仓库

让雷达开始跟踪一个仓库,不发布。

POST/api/v1/repos
POST
/api/v1/repos

让雷达开始跟踪一个仓库,不发布。请求体只有两种形态,都是「给我一个地址」:{ url }(一整个 GitHub 地址)或 { repo }(裸 owner/repo),两者都可选地带 callbackUrl + callbackSecret。不接受调用方带来的 GitHub 数据:那份星标数、语言、topics 是调用方某一时刻的快照,落库等于让统计建立在一个可能过期的副本上,服务端自己去取。按仓库去重:重发同一地址是安全的,返回 created: false。带 type 的请求会被 400 拒绝并指向 POST /api/v1/projects。最长 60 秒(要去 GitHub 抓数据)。

给了 Idempotency-Key 就启用幂等(§3.3),成功的响应会被记住并逐次回放;不带也不产生重复行。

Authorization

bearerAuth
AuthorizationBearer <token>

Authorization: Bearer <key>。key 由控制台自助签发,或管理员在 /dashboard 代签

In: header

Header Parameters

Idempotency-Key?string

客户端生成的稳定字符串(建议 uuid)。给了就启用幂等:同 key + 同请求体回放上次的状态码与响应体(响应体按 JSON 语义相同,键序可能与首次不同);同 key + 不同请求体 409 idempotency_key_reuse;同 key 的另一个请求仍在跑 409 idempotency_in_flight + Retry-After。只有成功会被记住,24 小时后过期。超过 200 字符视作未带

Lengthlength <= 200

Request Body

application/json

两种形态二选一,都是严格校验,多一个字段整条拒绝:{ url } 或 { repo: "owner/repo" }。回调参数在两种形态下都可用——给了 callbackUrl 就必须给 callbackSecret,两者成对出现。

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/repos" \  -H "Content-Type: application/json" \  -d '{    "url": "string"  }'
{  "ok": true,  "repo": {    "id": "string",    "full_name": "string",    "stars": 0  },  "created": true,  "projectCount": 0}