コンテンツにスキップ

ルールリビジョン履歴の取得

メソッド

この API は REST の方法論に従います。

HTTP メソッド

GET: プロジェクトのデザインルールリビジョン履歴を、新しい順に一覧します。

ルールアップロード のたびに新しいイミュータブルなリビジョンが作られ、削除されることはありません。したがってこれは完全な監査証跡であり、revert の際にデザイナーが選択する一覧でもあります。

命名規則

レスポンスは内部の wf2des-api データプレーンから 逐語でプロキシ されるため、フィールドは snake_case です。

リクエストとレスポンス

ヘッダー

リクエストヘッダー

  • Authorization
  • Accept
  • Accept-language

レスポンスヘッダー

  • Content-Type

リビジョンの一覧

URI

GET /api/v1/organizations/{organization_id}/projects/{project_id}/wf2des/rules/revisions

パスパラメータ

名前 型 必須 説明
organization_id integer 必須 組織 ID
project_id integer 必須 プロジェクト ID

クエリパラメータ

名前 型 必須 説明
limit integer 任意 返却するリビジョンの最大数。正の整数、最大 100。上限超過は 400 で拒否される。

レスポンス

レスポンスは JSON です(HTTP ステータス: 200 OK)。

{
  "revisions": [
    {
      "design_rule_id": "0190f3a1-2c4e-7b8d-9e0f-1a2b3c4d5e6f",
      "version": 4,
      "content_hash": "8f14e45fceea167a5a36dedd4bea2543",
      "draft_source": "llm_extracted",
      "extracted_at": "2026-08-01T09:15:00Z",
      "processed_at": "2026-08-01T09:15:04Z"
    },
    {
      "design_rule_id": "0190f3a1-2c4e-7b8d-9e0f-1a2b3c4d5e6f",
      "version": 3,
      "content_hash": "b1946ac92492d2347c6235b4d2611184",
      "draft_source": "llm_extracted",
      "extracted_at": "2026-07-28T11:02:00Z",
      "processed_at": "2026-07-28T11:02:06Z"
    }
  ],
  "returned_count": 2
}

レスポンスフィールド

名前 型 説明
revisions object[] リビジョン行。version 降順、次いで processed_at 降順。
returned_count integer このレスポンスに含まれる行数 — 利用可能な 総数ではない。

リビジョン行のフィールド

名前 型 説明
design_rule_id string | null リビジョンが属するルール系列。
version integer | null 系列内のリビジョン番号。
content_hash string | null マージ済みルールセットのハッシュ。バージョン間で同一ハッシュなら内容も同一 — 変更のない再アップロードを意味する。
draft_source string | null リビジョンの生成方法。
extracted_at string | null 抽出が実行された時刻。
processed_at string | null リビジョンが作成された時刻。

行が絞られているのは意図的です。 マージ済みルールセット、ソースボード、統合判断はすべて射影で除外されています — 履歴一覧に必要なのは同一性と日時であり、ペイロードではありません。なお、どの行にも「現行」の印は付きません。生成がピン留めするリビジョンは GET …/wf2des/rules/latest で確認してください。revert によって古いバージョンが現行になっている場合があります。

認証

認証は Amazon Cognito が発行する JSON Web Token(JWT)で行われます。加えて、呼び出し元はプロジェクトへのアクセス権を保持している必要があります。

エラーハンドリング

説明 ステータスコード ステータス名
不正な limit(非正、非整数、または 100 超過) 400 Bad Request
認証情報の欠落 401 Unauthorized
権限不足 403 Forbidden
プロジェクトまたは組織が見つからない 404 Not Found
上流の読み取り失敗(wf2des-api) 500 Internal Server Error

リビジョンが 1 件も無いプロジェクトは 404 ではなく、空の revisions 配列とともに 200 を返します。

処理フロー

  1. パスパラメータから組織 ID とプロジェクト ID を、クエリから任意の limit を取得する。
  2. ユーザーがプロジェクトへのアクセス権を持つことを検証する。
  3. 組織とプロジェクトにスコープした上で、内部 wf2des-api データプレーンへ読み取りをプロキシする(X-AI-Service-Token)。
  4. データプレーンは design_rule を、ルールセット・ボード・統合判断のフィールドを射影除外して検索し、version 降順、次いで lineage.processed_at 降順でソートし、limit を適用する。
  5. 行とその件数を逐語で返す。