选题库
修改选题
改一条既有选题,零对外副作用。省略的字段一律保留原值,传 null 才是清空(image / plannedAt)。editor 角色只能改自己创建的选题。plannedAt 在选题界面既不展示也不可编辑,要把导入 / 新建时写进去的值改回来,只能经本端点。
PATCH
/api/v1/ideas/{ideaId}ideas:write写档限流Idempotency-Key 可选
鉴权与护栏
- 请求头
Authorization: Bearer <长期凭证>,凭证在设置页「接入外部系统 → 长期凭证」签发,见 鉴权与权限。 - 凭证需带 scope
ideas:write;签发者在工作区里的角色也要允许该动作。 - 限流:写档,每分钟 10 次(按凭证计),超出回 429 并带
Retry-After。 - 幂等:带
Idempotency-Key就按它去重,不带也能调。
路径参数
ideaIdstring必填选题 id。
请求体(application/json)
contentstring可选选题内容;省略 = 不改,给了不能是空白。
groupIdstring可选改投到别的分组;分组须属于本工作区。
tagsobject[] { label, color? }可选话题标签,最多 6 个;给了就整组替换,传空数组 = 清空。转草稿时以 #话题 写进正文开头,不要用来记录进度。
imagestring (URL)可选配图 URL;传 null = 去掉配图。
plannedAtdatetime (ISO 8601)可选转草稿时带给草稿的定时发布时间(之后可在创作页改);本身不触发发布,选题界面也不展示。传 null = 清空。
targetAccountIdsstring[]可选预选的目标账号;给了就整组替换,传空数组 = 清空。
clientRequestIdstring可选幂等键(8–128 chars of [A-Za-z0-9_.:-]);推荐放在 Idempotency-Key 请求头,头与 body 都给时以头为准。
响应
成功返回 HTTP 200,信封为 { data, meta };右侧(窄屏在本页末尾)给出了各状态码的示例。所有错误都是 { error: { code, message, params }, meta },按机器码处理而不是按 message 匹配,码表见 错误码。
| 状态码 | 可能的错误码 |
|---|---|
| 400 | invalid_input |
| 401 | unauthenticated |
| 402 | plan_limit |
| 403 | forbidden / workspace_not_found |
| 404 | not_found |
| 409 | no_account / needs_reauth / replay |
| 429 | rate_limited |
| 500 | internal |
| 502 | platform_error |
| 503 | external_writes_off |
示例
请求
curl -X PATCH "https://popkit.loxily.com/api/v1/ideas/<ideaId>" \
-H "Authorization: Bearer popkit_it_••••••••" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: acme-2026-09-21-001" \
-d '{
"plannedAt": null,
"tags": [
{
"label": "教程",
"color": "blue"
}
]
}'响应
成功
{
"data": {
"id": "ide_01J8ZS…",
"groupId": "idg_01J8…",
"deepLink": "https://popkit.loxily.com/planning?idea=ide_01J8ZS…"
},
"meta": {
"requestId": "6a1d0c9e-2b7f-4e3a-8c5d-1f0e9b8a7c7a"
}
}