ルールリビジョン履歴の取得
メソッド
この API は REST の方法論に従います。
HTTP メソッド
GET: プロジェクトのデザインルールリビジョン履歴を、新しい順に一覧します。
ルールアップロード のたびに新しいイミュータブルなリビジョンが作られ、削除されることはありません。したがってこれは完全な監査証跡であり、revert の際にデザイナーが選択する一覧でもあります。
命名規則
レスポンスは内部の wf2des-api データプレーンから 逐語でプロキシ されるため、フィールドは snake_case です。
リクエストとレスポンス
ヘッダー
リクエストヘッダー
AuthorizationAcceptAccept-language
レスポンスヘッダー
Content-Type
リビジョンの一覧
URI
パスパラメータ
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
| 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 を返します。
処理フロー
- パスパラメータから組織 ID とプロジェクト ID を、クエリから任意の
limitを取得する。 - ユーザーがプロジェクトへのアクセス権を持つことを検証する。
- 組織とプロジェクトにスコープした上で、内部 wf2des-api データプレーンへ読み取りをプロキシする(
X-AI-Service-Token)。 - データプレーンは
design_ruleを、ルールセット・ボード・統合判断のフィールドを射影除外して検索し、version降順、次いでlineage.processed_at降順でソートし、limit を適用する。 - 行とその件数を逐語で返す。