ログ
トラックへの活動/コメントログの追加・一覧・削除です。
タスクやゴールにコメント/活動ログを残し、一覧取得し、個別ログを削除できます。トラックにアクセスできる人は誰でもログの閲覧・追記ができます — ログ自体は独立した ACL を持ちません。
POST /v1/logs
Authorization: Bearer <token>
Content-Type: application/json
{
"trackId": "track-id",
"kind": "comment",
"content": "Blocked on missing test fixtures.",
"idempotencyKey": "00000000-0000-4000-8000-000000000001"
}kind は comment(既定)、update、review のいずれかです。content は必須です。metadata は任意の構造化 JSON で、シリアライズ後 16KB が上限です — それを超える内容は content に書いてください。idempotencyKey は任意で、安全に作成リクエストをリトライしたい場合に UUID を渡します。
GET /v1/logs?trackId=<trackId>&order=desc&cursor=<logId>
Authorization: Bearer <token>trackId を渡すと1つのトラックのログに絞り込みます。省略すると、今アクセスできる全トラックを横断するアクティビティフィードになり、authorId=<userId> でさらに絞り込めます(trackId の有無どちらでも使えます)。
GET /v1/logs?authorId=<userId>&order=desc&cursor=<logId>
Authorization: Bearer <token>結果は既定で新しい順(order=desc)です。時系列で再生したい場合は order=asc を使います。次のページを取得するには、前回レスポンスの nextCursor を同じ order のまま cursor に渡します。レスポンスには hasNext と nextCursor(次回 cursor に渡す id。これ以上ない場合は null)が含まれます。
trackId を省略した横断フィードは、各ログを書いた時点での ACL スナップショットに基づいており、トラックの現在の ACL をその都度確認しているわけではありません — 後でトラックへのアクセスを失っても、すでに見えていたログはこのフィードに残り続けることがあります(trackId を指定したリクエストは常にそのトラックの現在の ACL を反映するため、この影響を受けません)。
DELETE /v1/logs/:logId
Authorization: Bearer <token>著者は自分のログを削除でき、トラックの作成者はそのトラック上の任意のログを削除できます。削除済みログは以後の一覧レスポンスから除外されます。
各ログには、呼び出し側に対して解決済みの userId と authorName が含まれます。呼び出し側からすでに見えている範囲の外にいる著者(例: その後ワークスペースを離れたユーザー)は、アカウント id を漏らさないよう、両方とも "unknown" として返されます。
ログの追記と削除はクレジットを消費しません — 全体の表はクレジットを参照してください。一覧取得は 1 credit です。