---
title: "Build Rule With Llm"
method: POST
path: "/rules/v1/rule/build"
---

# Build Rule With Llm

`POST /rules/v1/rule/build`

## Request

- Base URL: `https://api.qualityclouds.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.qualityclouds.ai/rules/v1/rule/build`
- Auth: one of:
  - HTTP bearer
  - OpenID Connect (`https://account.qualityclouds.com//realms/ai-production/.well-known/openid-configuration`)

Genera una regla con LLM, la persiste y ejecuta un scan de la tool con rule_id.

## Query parameters

- `allow_demo` boolean

## Request body

- BuildRuleBody: HTTP body for building a single rule via LLM.
  - `tool_id` string, required
  - `rule_name` string, required
  - `instructions` string, required
  - `repository_id` string, required

## Response `200`

Successful Response

- BuildRuleResponse: Response: persisted rule (same shape as GET .../rules/for-tool) + scan issues.
  - `rule` RuleItemResponse, required
    - `id` string, required
    - `rule_slug` string, required
    - `version` string, required
    - `name` string, required
    - `description` string, required
    - `estimated_time_to_fix` integer, required
    - `severity` string, required
    - `impact_area` string, required
    - `impact` string, nullable
    - `action` string, nullable
    - `bad_code` string, nullable
    - `good_code` string, nullable
    - `compliance` ComplianceControlResponse[]
      - `standard_code` string, required
      - `standard_name` string, required
      - `control_code` string, required
      - `control_title` string, required
      - `rationale` string, nullable
    - `ce_types` string[], required
    - `platforms` string[], required
    - `repository_ids` integer[], nullable
    - `org_uuids` string[], nullable
    - `file_extensions` string[], required
    - `payload` object, required
    - `files_whitelist_path_patterns` string[]
    - `rule_type` string, nullable
  - `issues` BuildRuleIssue[], required
    - `file` string, nullable: File path relative to repo root
    - `line_number` integer, nullable
    - `code_snippet` string, nullable: Code line or snippet
    - `message` string, required: Issue message
    - `severity` string, nullable
    - `rule_id` string, nullable

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Validation Error

---

[API](https://skmtc.dev/qualityclouds/apis/qai-orchestrator-api.md) · [All operations](https://skmtc.dev/qualityclouds/apis/qai-orchestrator-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qualityclouds/apis/qai-orchestrator-api/revisions/250c849925af?raw)
