Skip to content

Get Current Rule Revision

Method

This API follows the REST methodology.

HTTP Method

GET: Read the project's current design-rule revision as a bounded summary.

"Current" here means exactly what generation pins when it runs, so this endpoint answers "which rules will the next design be built against?".

Naming Convention

The response is proxied verbatim from the internal wf2des-api data plane, so its fields are snake_case.

Request and Response

Headers

Request Headers

  • Authorization
  • Accept
  • Accept-language

Response Headers

  • Content-Type

Get Latest Rule

URI

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

Path Parameters

Name Type Required Description
organization_id integer Required Organization ID
project_id integer Required Project ID

Response

The response is JSON (HTTP status: 200 OK).

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

Response Fields

Name Type Description
design_rule_id string | null The rule lineage this revision belongs to.
version integer | null The revision number within that lineage. Monotonic โ€” a new upload is always max + 1.
content_hash string | null Hash over the merged ruleset. Two revisions with the same hash carry identical rules.
draft_source string | null How the revision was produced โ€” llm_extracted for a board ingestion.
extracted_at string | null When extraction ran.
processed_at string | null When the revision was landed.

This is a summary, not the ruleset. The merged rules and their source boards are deliberately not returned โ€” they are large, and no caller needs them to answer "which revision is current?".

How "current" is decided

A designer-set active pointer wins when one is present โ€” that is, a revert pins a specific revision as current. With no pointer, the highest version wins, and the newest processed_at breaks a tie. A pointer to a revision that no longer exists falls through to that same default rather than erroring.

This mirrors the worker's own resolution exactly, which is why the badge the plugin shows matches what generation actually pins.

Authentication

Authentication is performed using JSON Web Tokens (JWT) issued by Amazon Cognito. The caller must additionally hold access to the project.

Error Handling

Description Status Code Status Name
Missing authentication credentials 401 Unauthorized
Insufficient permissions 403 Forbidden
No rule revision exists for this project 404 Not Found
Upstream read failure (wf2des-api) 500 Internal Server Error

A 404 here means the project has never had a rule ingestion โ€” upload guideline boards through POST โ€ฆ/wf2des/rules first.

Processing Flow

  1. Extract organization ID and project ID from path parameters.
  2. Verify the user has access to the project.
  3. Proxy the read to the internal wf2des-api data plane (X-AI-Service-Token), scoped to the organization and project.
  4. The data plane resolves the active pointer, falling back to the highest version, and returns that revision's bounded summary.
  5. Return the summary verbatim, or 404 when the project has no revisions.