ログ

トラックへの活動/コメントログの追加・一覧・削除です。


タスクやゴールにコメント/活動ログを残し、一覧取得し、個別ログを削除できます。トラックにアクセスできる人は誰でもログの閲覧・追記ができます — ログ自体は独立した 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"
}

kindcomment(既定)、updatereview のいずれかです。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 に渡します。レスポンスには hasNextnextCursor(次回 cursor に渡す id。これ以上ない場合は null)が含まれます。

trackId を省略した横断フィードは、各ログを書いた時点での ACL スナップショットに基づいており、トラックの現在の ACL をその都度確認しているわけではありません — 後でトラックへのアクセスを失っても、すでに見えていたログはこのフィードに残り続けることがあります(trackId を指定したリクエストは常にそのトラックの現在の ACL を反映するため、この影響を受けません)。

DELETE /v1/logs/:logId
Authorization: Bearer <token>

著者は自分のログを削除でき、トラックの作成者はそのトラック上の任意のログを削除できます。削除済みログは以後の一覧レスポンスから除外されます。

各ログには、呼び出し側に対して解決済みの userIdauthorName が含まれます。呼び出し側からすでに見えている範囲の外にいる著者(例: その後ワークスペースを離れたユーザー)は、アカウント id を漏らさないよう、両方とも "unknown" として返されます。

ログの追記と削除はクレジットを消費しません — 全体の表はクレジットを参照してください。一覧取得は 1 credit です。