コンテンツにスキップ

ルールリビジョンの revert

メソッド

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

HTTP メソッド

POST: 既存のデザインルールリビジョンを、プロジェクトの アクティブ なものとしてピン留めします。

リビジョンはイミュータブルであり、ロールバックも削除も行われません。revert は ポインタ を動かします — ワーカーが参照するアクティブリビジョンポインタを設定し、次回の生成が最新ではなく選択したリビジョンをピン留めするようにします。

命名規則

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

リクエストとレスポンス

ヘッダー

リクエストヘッダー

  • Authorization
  • Content-Type
  • Accept
  • Accept-language

レスポンスヘッダー

  • Content-Type

ルールの revert

URI

POST /api/v1/organizations/{organization_id}/projects/{project_id}/wf2des/rules/revert

パスパラメータ

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

リクエストボディ

リクエストボディは JSON です。

{
  "designRuleId": "0190f3a1-2c4e-7b8d-9e0f-1a2b3c4d5e6f",
  "version": 3
}

リクエストパラメータ

名前 型 必須 説明
designRuleId string 必須 ピン留めするリビジョンの design_rule_id。
version integer 必須 アクティブにするリビジョンのバージョン。正の整数。

この組は 既存の リビジョンを指す必要があります — 選択候補の一覧は GET …/wf2des/rules/revisions を参照してください。

レスポンス

レスポンスは JSON です(HTTP ステータス: 200 OK)— アクティブになったリビジョンのサマリで、GET …/wf2des/rules/latest が返すものと同じ形状です。

{
  "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"
}

レスポンスフィールド

名前 型 説明
design_rule_id string | null アクティブになったリビジョンが属する系列。
version integer | null 現在アクティブなバージョン。
content_hash string | null そのリビジョンのマージ済みルールセットのハッシュ。
draft_source string | null リビジョンの生成方法。
extracted_at string | null 抽出が実行された時刻。
processed_at string | null リビジョンが作成された時刻。

新規アップロードとの関係

revert は 恒久的ではありません。POST …/wf2des/rules でガイドラインボードをアップロードするとポインタは解除されます — 新規アップロードは「これが現行である」という意図的な操作だからです。アップロード後は、以前に何がピン留めされていたかにかかわらず、最新リビジョンが再びアクティブになります。

revert は冪等です。既にアクティブなリビジョンをピン留めした場合も、同じサマリとともに 200 を返します。

認証

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

エラーハンドリング

説明 ステータスコード ステータス名
不正なボディ(designRuleId の欠落/空、version の欠落または正の整数でない) 400 Bad Request
認証情報の欠落 401 Unauthorized
権限不足(プロジェクトへの Write 権限なし) 403 Forbidden
指定された (designRuleId, version) のリビジョンが存在しない 404 Not Found
上流の書き込み失敗(wf2des-api) 500 Internal Server Error

処理フロー

  1. パスパラメータから組織 ID とプロジェクト ID を、リクエストボディから designRuleId と version を取得する。
  2. ユーザーがプロジェクトへの Write 権限を持つことを検証する。
  3. 組織とプロジェクトにスコープした上で、内部 wf2des-api データプレーンへ書き込みをプロキシする(X-AI-Service-Token)。
  4. データプレーンは対象の (design_rule_id, version) リビジョンが存在することを検証する。存在しない場合は 404 を返し、ポインタは書き込まれない。
  5. ワーカーのルール解決が参照する可変のアクティブポインタ文書を upsert する。
  6. アクティブになったリビジョンのサマリを返す。

対象リビジョン自体は決して変更されません — 変わるのはポインタのみであり、これによりリビジョン履歴が真正な監査証跡であり続けます。